当前位置: 首页 > 工业电气产品 > 工业继电器 > 计时与计数器 > 计数器

类型分类:
科普知识
数据分类:
计数器

AT89S52单片机定时器/计数器的应用

发布日期:2022-04-17 点击率:100

通过实例,对涉及到的相关知识点进行回顾,同时学习体会定时器/计数器应用的基本方法。


AT89S52单片机的LED控制。利用定时器/计数器控制端口P1或者P2引脚相连的LED以1s为间隔循环闪亮。


图2 LED原理

(2)设定初值和工作方式

CS-III外部时钟采用24MHz,每定时1s时间需要计系统内部时钟12000000个,即为2000000个机器周期。可选用定时器0的工作方式1,定义初值为(65536-50000)=15536,即从15536开始计数,共50000次,重复40次可以达到50000*40=2000000个机器周期,即1s。

因此:M1M0=01;TH0=3CH,TL0=B0H


初始化程序段:

     mov TL0, #0B0H          ; 置定时器初值


     mov TH0, #03CH          ; 初值为0x3caf



     mov TMOD, #01H          ; 设定定时器/计数器0工作方式为1

     setb EA                 ; 允许中断

     setb ET0                ; 允许定时器/计数器0溢出中断


     setb TR0                ; 启动定时器/计数器0

(3) 总体程序设计

单片机控制LED闪亮的程序流程图如图3和4所示。


图3 总程序流程                                     图4 溢出中断服务程序流程

(4)程序运行的效果


通过定时器计数器的设置和编写相应的程序,还可以在LED上实现高低交替闪烁、循环点亮的流水灯、逐位间隔点亮等效果。

通过实例,对涉及到的相关知识点进行回顾,同时学习体会定时器/计数器应用的基本方法。


AT89S52单片机的LED控制。利用定时器/计数器控制端口P1或者P2引脚相连的LED以1s为间隔循环闪亮。


图2 LED原理

(2)设定初值和工作方式

CS-III外部时钟采用24MHz,每定时1s时间需要计系统内部时钟12000000个,即为2000000个机器周期。可选用定时器0的工作方式1,定义初值为(65536-50000)=15536,即从15536开始计数,共50000次,重复40次可以达到50000*40=2000000个机器周期,即1s。

因此:M1M0=01;TH0=3CH,TL0=B0H


初始化程序段:

     mov TL0, #0B0H          ; 置定时器初值


     mov TH0, #03CH          ; 初值为0x3caf



     mov TMOD, #01H          ; 设定定时器/计数器0工作方式为1

     setb EA                 ; 允许中断

     setb ET0                ; 允许定时器/计数器0溢出中断


     setb TR0                ; 启动定时器/计数器0

(3) 总体程序设计

单片机控制LED闪亮的程序流程图如图3和4所示。


图3 总程序流程                                     图4 溢出中断服务程序流程

(4)程序运行的效果


通过定时器计数器的设置和编写相应的程序,还可以在LED上实现高低交替闪烁、循环点亮的流水灯、逐位间隔点亮等效果。

下一篇: PLC、DCS、FCS三大控

上一篇: 索尔维全系列Solef?PV