单片机,在主程序里没有给定时器赋初值, beepIO=!beepIO; TH0=T[m][0]; TL0=T[m][1]; 是先执行哪一句?

2024-11-21 22:19:38
推荐回答(1个)
回答1:

主程序已经设置TMOD=0x01了,也开中断了。虽然没有给定时器赋初始值,只要启动TR0=1,定时就开始定时的,只是第一次按初始值为00开始定时,定时肯定是最长的,再计到00就会中断了。响应中断后,执行中断程序,beepIO=!beepIO;是写在前面的,肯定是先执行的,是按由前向后的顺序执行程序的,这是毫无疑问的,再执行下面的赋值初始值语言,以后就按计算的时间定时了。虽然这么写也可以,但第一次还是赋值为好,毕竟第一的定时时间是最长的,但时间不对,这是程序的毛病。