打印

定时器初值计算问题

[复制链接]
1001|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dfsa|  楼主 | 2012-7-18 21:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
txcy| | 2012-7-18 21:26 | 只看该作者
选择定时器的定时时间能将500毫秒整除,例如500毫秒是定时时间的K倍;
在定时器里,对每次定时器中断计数,次数到达K时,就是0.5秒.

使用特权

评论回复
板凳
无冕之王| | 2012-7-18 21:44 | 只看该作者
周期1S
计数器N=定时器周期t/机器周期T
定时器周期t×中断次数n=设定的周期T0

使用特权

评论回复
地板
baidudz| | 2012-7-18 21:53 | 只看该作者
;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即可

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

2404

帖子

2

粉丝