第1个回答 2020-12-06
这个程bai序的功能是通过定du时器中断来控制zhiLED的状态翻转,而dao定时长度由TH0与zhuanTL0决定,TH0与TL0组成的寄存器能存shu放的最大的数据为65535,定时的方法是首先在寄存器里存放一个数据,然后单片机会在每个时钟周期里自动加1,等加满后就会自动清0,此时会触发单片机的中断,这样就达到了计时的目的,例如单片机晶振为12.000MHz,那么每1us就会自动加1,若放入65536-50000,就表示需要加50000次才能溢出,时间大概就是50ms每20次中断会使LED翻转一次,这样就是1s闪烁一次,如果每次进入中断后不对这两个寄存器赋值,那么就是默认为0,就需要加65536次,由于跟50000次比较接近,所以你就很难感受到这点变化,其实时间长了就会相差很大的。