发布网友 发布时间:2022-04-24 11:13
共1个回答
热心网友 时间:2023-10-10 22:04
这是一个中断服务子程序,只有当定时器的计数寄存器溢出时申请定时中断,并得到CPU响应时才执行,而定时器的初值设置为 每50ms中断一次,每次执行这段代码时period会自加1(也就是对中断服务程序的执行次数进行计数),加到第20次时,时间值为 50ms*20次=1000ms=1s
ps:原程序中
TL1= 0X00;
TH1= 0X00;——这个初值跟MCU的频率、计数周期、定时器的模式等因素有关,感觉简单的清零好像是不对的。
另外不建议使用==20,最好使用>=20 ,关于计数器“飞读”的问题,可以参考郭天祥的教程