请问如何实现51单片机的长时间计时并且程序其他部分照常运行?

来源:百度知道 编辑:UC知道 时间:2024/06/05 02:15:33
请问51单片机中如何实现定时器的长时间定时,在定时的时候其他语句仍旧可以循环执行?

程序其他部分照常运行,就要用中断了;
计数器的时长,定义一个全局变量,在定时器中断服务程序中计数例如C语言
unsigned char i
void Timer(void) interrupt 1
{
i++;
if(i=T)
{
//
}
}

利用定时中断,工作方式2更精确。

这简单,定时部分交给定时器,把定时器的优先级设置为高优先级,就可以了
怕程序麻烦的话,显示部分可以用几个芯片实现静态显示 ,即使定时器不工作,它也能显示当前的时间,直到有更新信号将时间更新。

定时器中断,只是在定时溢出时才调用中断处理一下,其余时间都可以做别的事情。

http://user.qzone.qq.com/380402485/blog/1254126241

里面的switch 部分