本帖最后由 yatoo 于 2012-11-14 20:16 编辑
引用: a515972470 发表于 2012-11-14 17:44
哦,谢谢,那你的意思是说,精简的程序,中断就可以不打断数码管了么
假设 定义了全局变量unsigned char S电子发烧友t, MinCnt, HourCnt,且均初始化为0, 其他部分正确,中断程序可以参照以下,刚刚写了下,没有实测。。。。。。
void Time_IRQHandler(void) interrupt 3
{
//定时器秒中断
S电子发烧友t++;
if(S电子发烧友t == 60)
{
S电子发烧友t = 0;
MinCnt++;
if(MinCnt == 60)
{
MinCnt = 0;
HourCnt++;
if (HourCnt == 24)
{
HourCnt = 0;
}
}
}
//定时器载入初值
TH1=(65536-55536)/256;
TL1=(65536-55536)%256;
}
编辑器有问题,S电子发烧友t ,不是本意,你自己改一下
好久没有接触51了,不太熟悉,仅供参考..
本帖最后由 yatoo 于 2012-11-14 20:16 编辑
引用: a515972470 发表于 2012-11-14 17:44
哦,谢谢,那你的意思是说,精简的程序,中断就可以不打断数码管了么
假设 定义了全局变量unsigned char S电子发烧友t, MinCnt, HourCnt,且均初始化为0, 其他部分正确,中断程序可以参照以下,刚刚写了下,没有实测。。。。。。
void Time_IRQHandler(void) interrupt 3
{
//定时器秒中断
S电子发烧友t++;
if(S电子发烧友t == 60)
{
S电子发烧友t = 0;
MinCnt++;
if(MinCnt == 60)
{
MinCnt = 0;
HourCnt++;
if (HourCnt == 24)
{
HourCnt = 0;
}
}
}
//定时器载入初值
TH1=(65536-55536)/256;
TL1=(65536-55536)%256;
}
编辑器有问题,S电子发烧友t ,不是本意,你自己改一下
好久没有接触51了,不太熟悉,仅供参考..
举报