定时器初值计算?
C51用11.0592MHZ的晶振。采用定时器T1,方式2怎么定时0.5S和1S。
这个初值是怎么计算的。TH1,TL1都要怎么计算。
求详细过程。(汇编)
[最优解释]
可以有很多种方法,查询和中断都行,直接查询时间到这种应该比较难,就先设置20ms然后时间到对变量如flag加1等到flag值为50就是一秒了
[其他解释]
1秒貌似定不出 定小点 多次就是1秒了
[其他解释]
这个是回炉看书的问题
[其他解释]
选择定时器的定时时间能将500毫秒整除,例如500毫秒是定时时间的K倍;
在定时器里,对每次定时器中断计数,次数到达K时,就是0.5秒.
[其他解释]
周期1S
计数器N=定时器周期t/机器周期T
定时器周期t×中断次数n=设定的周期T0
我当时也是学了好半天才懂得,加油
[其他解释]
定不了1秒
[其他解释]
12MHz
[其他解释]
;11.0592MHZ下,C51的T1方式1最多可以定时65536us,
;定时50ms即50000us,须计数65536-50000=15536=0x3CB0,
;这个值即为定时器初值
ORG 0000H
AJMP MAIN
MAIN:MOV R6, #2
MOV R7, #10
MOV TMOD, #10H
LOOP0:MOV TH1,#3CH ;定时50ms
MOV TL1, #B0H
SETB TR1
LOOP1: JBC TF1, DLY500MS
SJMP LOOP1
DLY500MS: DEC R7;延时0.5S
DJNZ R7, LOOP0
DLY1000MS:DEC R6;延时1S
DJNZ R6, DLY500MS
;分别调用DLY500MS和DLY1000MS即可
[其他解释]
那个晶振一次才0.07秒左右呢!!!
[其他解释]
555定时器的计算0.5s的方法
[其他解释]
先定个1ms,再循环1000次就好了
[其他解释]
直接下载工具软件,都给你算好了