51单片机定时器典型程序
采用定时器 / 计数器 T0 对外部脉冲进行计数,每计数 100 个脉冲后, T0 转为定时工作方式。定时 1ms 后,又转为计数方式,如此循环不止。假定 MCS-51 单片机的晶体振荡器的频率为 6MHz ,请使用方式 1 实现,要求编写出程序。 解答:定时器 / 计数器 T0 在
采用定时器/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。定时1ms后,又转为计数方式,如此循环不止。假定MCS-51单片机的晶体振荡器的频率为6MHz,请使用方式1实现,要求编写出程序。
解答:定时器/计数器T0在计数和定时工作完成后,均采用中断方式工作。除了第一次计数工作方式设置在主程序完成外,后面的定时或计数工作方式分别在中断程序完成,用一标志位识别下一轮定时器/计数器T0的工作方式。编写程序如下:
              ORG      0000H
              LJMP      MAIN
              ORG      000BH
              LJMP      IT0P
MAIN:    MOV      TMOD,#06H  ;定时器/计数器T0为计数方式2
              MOV      TL0,#156              ;计数100个脉冲的初值赋值
              MOV      TH0,#156 
              SETB      GATE            ;打开计数门 
太原旅游必去十大景点推荐              SETB      TR0              ;启动T0,开始计数 
              SETB      ET0              ;允许T0中断 
情人节语录              SETB      EA                ;CPU开中断 
              CLR        F0                ;设置下一轮为定时方式的标志位
漂流注意事项WAIT:    AJMP    WAIT  新农村合作医疗
IT0P:      CLR        EA                ;关中断
              JB          F0,COUNT    ;F0=1,转计数方式设置
              MOV      TMOD,#00H  ;定时器/计数器T0为定时方式0 
三伏天从哪天开始
              MOV      TH0,#0FEH    ;定时1ms初值赋值
              MOV      TL0,#0CH
              SETB      EA 
              RETI
COUNT:  MOV      TMOD,#06H 
              MOV      TL0,#156       
              SETB      EA 
              RETI 
三月三手抄报图片

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。