标题:
单片机开启定时器1后,LCD1602显示乱的字符是为什么?
[打印本页]
作者:
xht3118008607
时间:
2024-5-11 16:46
标题:
单片机开启定时器1后,LCD1602显示乱的字符是为什么?
sbit SG_PWM = P2^1; //信号控制引脚
unsigned char count=0; //计数值
unsigned char PWM_count=0; //比较值
void Timer1_Init(void) //500微秒@11.0592MHz
{
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x10; //设置定时器模式
TL1 = 0x33; //设置定时初始值
TH1 = 0xFE; //设置定时初始值
TF1 = 0; //清除TF1标志
TR1 = 1; //定时器1开始计时
ET1=1;
EA=1;
PT1=0;
}
void Timer1() interrupt 2
{
TL1 = 0x33;
TH1 = 0xFE; //重新赋计数初值为0.5ms
count++; //计次
count%=40; //周期为20ms
if(count<PWM_count)
{
SG_PWM=1;
}
else
{
SG_PWM=0;
}
}
使用定时器1后LCD屏会乱,求大神求解!
作者:
wdgao
时间:
2024-5-11 17:37
定时器T1的中断号是3,void Timer1() interrupt 3
作者:
LaoYuTou
时间:
2024-5-11 17:47
你确定这是定时器中断?interrupt 2
作者:
LaoYuTou
时间:
2024-5-11 17:49
你开了定时器1中断,写的是外部中断1的服务函数。定时器1产生中断跳到没有定义函数的地方去了。
作者:
xht3118008607
时间:
2024-5-12 15:20
wdgao 发表于 2024-5-11 17:37
定时器T1的中断号是3,void Timer1() interrupt 3
好的,解决了,多谢
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1