[其它应用] 单片机定时器计时

[复制链接]
 楼主| feiqi1 发表于 2016-5-16 10:40 | 显示全部楼层 |阅读模式
st89c52单片机,如果我有四路中断:int0,int1,计数器0,计数器1,当第一路中断到达时,启动定时器2,令初值TH2=0,TL2=0;然后其他三路到达时,分别从定时器2中读取TH2,TL2;请问这样可行吗?如果可行,怎样能分别让定时器2的值在液晶屛上显示出来呢?
androidbus 发表于 2016-5-16 10:51 | 显示全部楼层
这个可以 但是要注意计时器的溢出问题
litengg 发表于 2016-5-16 11:16 | 显示全部楼层
理论上外部中断1 发生时,定时器2初始化,液晶屛应该显示0000才对,请问这是为什么呢?
qiangweii 发表于 2016-5-16 11:20 | 显示全部楼层
不是很懂,中断没有什么特殊的 本质就是程序的跳转吧
 楼主| feiqi1 发表于 2016-5-16 11:32 | 显示全部楼层
那请问为什么下面这个程序不显示
void ds1820disp()  
{
disdata[0]=tvalue/1000+0x30;//百位数
disdata[1]=tvalue%1000/100+0x30;//十位数
disdata[2]=tvalue%100/10+0x30;//个位数
disdata[3]=tvalue%10+0x30;//小数位
}
void main()
{

InitLcd1602();
Init_INT0();
TH2=0;       //定时器2装初值
TL2=0;
LcdShowStr(0, 1, "ceshi");
while (1)
{
LcdShowStr(8, 1, disdata);
LcdShowStr(12, 1, disdata1);        
}
}
void waibuzhongduan1()interrupt 0
{  
        LcdShowStr(0, 0, "1");
        InitTimer2();
        tvalue=TH2*256+TL2;
        ds1820disp();        
                  
}
xia00 发表于 2016-5-16 11:34 | 显示全部楼层
看看,感觉楼主给的这个程序太片面了吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1616

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部