基于单片机的模拟病房呼叫系统(18)
发布时间:2021-06-08
发布时间:2021-06-08
计数器的初值为:15536,溢出是为:65536,而晶振为:12HZ,根据公式计算,
计算公式 T=(M-TC)T计数
或TC=M-T/T计数
T计数是单片机时钟周期TCLK的12倍,TC为定时初值,
单片机的主脉冲频率为TCLK12MHZ ,可得定时时间为:50ms。 相应的程序代码为:
(1)BEGIN: MOV TMOD,#10H ;定时器/计数器方式控制
MOV TH1,#3CH MOV TL1,#0B0H
SETB ET1 ;将所指位置1
SETB TR1
;ET1:定时器1(T1)的溢出中断允许位
;TR1:T1的运行控制位,置1表示启动
(2)中断服务程序: DSD: MOV TH1, #3CH
MOV TL1, #0B0H
INC R7 ;R7的值给了A,也是为了保证报警时间的准确性 CLR TF0 ;定时器0的溢出中断标志位 RETI
3.3.2 软件延时
MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为12MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12M)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。
具体的延时程序分析:
(1)YANSHI:MOV R5,#210 ;延时420 us子程序
DJNZ R5, $
上一篇:儿童体检技术