求大神翻译一下这两个指令:
MOV TH0 ,#(65536-5000)/256
MOV TL0,#(65536-5000)MOD 256
这两句是啥意思啊?尤其是为什么除256,这两个指令执行后的结果是什么啊?
嗯,那就是X=1000,1000除以256给TH0,1000取余256给TL0,是吗?那么这个定时器设定的定时时间是多少啊?
追答【1】程序中,定时计数5000个脉冲后中断。初值X=65536-5000=60536。填入初值计数器中的值为:TH0=0xEC(236),TL0=0x78(120)。T0从60536开始加计数,加5000次后TH0,TL0均为0,溢出产生中断请求。
【2】具体时间看T0的时钟源——晶振的12分频。如果是12MHz晶振,时钟源为1MHz,5000个脉冲计数时长是5mS。每5mS将会发出T0中断请求。
嗯,那请问这个定时器的计时时间是多长啊?
追答计时时间与晶振有关,比如12M晶振,计时1次是1 us,如你的参数,在12M晶振下定时时间是5ms。