欢迎来到天天文库
浏览记录
ID:52194577
大小:2.57 MB
页数:57页
时间:2020-04-02
《单片机的定时器计数器.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第7章单片机的定时器/计数器任务:懂得设置TMOD和TCON以及初值计算读懂程序注意:不同工作方式下初值的处理7.1定时器/计数器概述实现定时功能,主要采用下面三种方法:软件定时:软件定时不占用硬件资源,但占用了CPU时间,降低了CPU的利用率。采用硬件定时:完全由硬件实现,不占CPU,但定时值与定时范围不能由软件进行控制和修改,即不可编程。采用可编程芯片定时:通过对系统时钟脉冲的计数实现,计数值通过程序设定,此种定时功能强,使用灵活。7.1.1定时/计数器的结构实质:加1计数器(16位),由高8位(TH)和低8位(TL)两个寄存器组成。TMOD是定时/计数器的工作
2、方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。TMOD、TCON与T0、T1的结构框图7.1.2定时/计数器的工作原理输入的计数脉冲有两个来源:定时功能系统的时钟振荡器输出脉冲经12分频后送来计数功能T0或T1引脚输入的外部脉冲源工作原理:每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。由溢出时计数器的值减去计数初值才是加1计数器的计数值。振荡器÷12加1计数器TFxT0(T1)中断C/T=0C/
3、T=1控制信号如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。设置为定时器模式时,计数值N=T/Tcy注:加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。注:由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。例如:当晶振频率为12MHz时,计数脉冲的周期要大于2s。7.2定时/计数器的控制8051单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方
4、式;TCON用于控制其启动和中断申请。一、工作方式寄存器TMOD工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:注意:此SFR只能对其进行字节操作,不能进行位操作GATE:门控位。GATE=0时,只要用软件使TCON中的TR0或TR1置1启动定时/计数器工作;GATE=1时,外部中断请求信号启动定时器。:定时/计数模式选择位。=0为定时模式;=1为计数模式。M1M0:工作方式设置位。二、控制寄存器TCONTCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:
5、TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。可以用软件置1或清0,同硬件置1或清0的效果一样。TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。TR0(TCON.4):T0运行控制位,其功能与TR1类同。7.3定时/计数器的工作方式一、方式0方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢
6、出时,置位TCON中的TF0标志,向CPU发出中断请求。门控位GATE具有特殊的作用:当GATE=0时,此时仅由TR0控制与门的开启,与门输出1时,控制开关接通,计数开始;当GATE=1时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TR0共同控制。此时当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。注意:定时和计数应用在方式0下输入脉冲的计数值范围是:0-8192(213)定时器模式时:定时时间T为(213-计数初值)×机器周期结论一:最小定时单位为一个机器
7、周期,最大定时单位为213×机器周期思考:已知一单片机晶体振荡器为6MHz,则最大和最小定时单位为多少?结论二:定时时间T为(213-计数初值)×机器周期而计数值N=T/Tcy(Tcy即机器周期)所以计数初值计算的公式为:X=213-N=8192-N定时/计数器应用举例初始化程序应完成如下工作:对TMOD赋值,以确定T0和T1的工作方式;计算初值,并将其写入TH0、TL0或TH1、TL1;中断方式时,则对IE赋值,开放中断;使TR0或TR1置位,启动定时/计数器定时或计数。例7-1应用定时器T0产生1ms定时(方式0),并使P1.0输出周期为2ms的方波,已知晶
此文档下载收益归作者所有