自动控制网—学习自动控制技术电气自动化技术从这里开始!
当前位置: 自动控制网 > 自动化 > 单片机 >

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

时间:2015-09-22 12:22来源:www.eadianqi.com 编辑:自动控制网
通过实例,对涉及到的相关知识点进行回顾,同时学习体会定时器/计数器应用的基本方法。 AT89S52单片机的LED控制。利用定时器/计数器控制端口P1或者P2引脚相连的LED以1s为间隔循环闪亮。 图1 CS-III型单片机开发板 (1)原理分析 LED是常用的一种电子器件,主要

通过实例,对涉及到的相关知识点进行回顾,同时学习体会定时器/计数器应用的基本方法。 自动控制网www.eadianqi.com版权所有

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

图1 CS-III型单片机开发板

(1) 原理分析 本文来自www.eadianqi.com

LED是常用的一种电子器件,主要有两种接法:共阴和共阳。若采用的是共阳接法,则如果PORT1或者PORT2输出为低电平0,则LED点亮;如果PORT1或者PORT2输出为高电平1,LED灭。如图2所示。

本文来自www.eadianqi.com



图2 LED原理

(2)设定初值和工作方式 自动控制网www.eadianqi.com版权所有

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

本文来自www.eadianqi.com

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

本文来自www.eadianqi.com

初始化程序段: 本文来自www.eadianqi.com

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

本文来自www.eadianqi.com

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

自动控制网www.eadianqi.com版权所有

     mov TMOD, #01H          ; 设定定时器/计数器0工作方式为1 本文来自www.eadianqi.com

     setb EA                 ; 允许中断 自动控制网www.eadianqi.com版权所有

     setb ET0                ; 允许定时器/计数器0溢出中断 本文来自www.eadianqi.com

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

自动控制网www.eadianqi.com版权所有

(3) 总体程序设计

本文来自www.eadianqi.com

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

自动控制网www.eadianqi.com版权所有

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

(4)程序运行的效果 本文来自www.eadianqi.com

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

本文已影响