|
51有2个定时器,T0 T1,向上计数的。TMOD 的低四位是T0部分,高四位是T1部分TCON 是控制寄存器,主要控制 TFx 溢出标志,TRX 启动标志,(三)TIMER012MHZ,1us一个机器周期。模式0为13位计数,也就是 2^13 = 8124,所以自由运行的一个周期应该为 8.124MS,实际测得 8.2MS。 CLR TR0 MOV TMOD,#0 SETB TR0LOOP: JNB TF0,LOOP CLR TF0 CPL P1.0 JMP LOOP模式1: MOV TMOD,#1 其他不变,变为16位定时器,计算的溢出时间为 2^16 = 65535,也就是 65.535ms ,实测为 65.6ms模式2:备份的8位定时器,THX 为备份,TLX为计数MAIN: CALL SYSTEM_INIT CLR TR0 MOV TMOD,#2H MOV TH0,#80H MOV TL0,#80H SETB TR0LOOP: JNB TF0,LOOP CLR TF0 CPL P1.0 JMP LOOP8位定时器的溢出时间为 256us,自动恢复为 80H 为一半,实际结果符合,为 128us对于T1 只是改了个 T0 就好了 |
|