MCS51单片机定时器计数.ppt
《MCS51单片机定时器计数.ppt》由会员分享,可在线阅读,更多相关《MCS51单片机定时器计数.ppt(45页珍藏版)》请在三一办公上搜索。
1、12.MCS-51单片机的定时器/计数器,单片机原理及接口技术第5章,12.1 定时器/计数器概述 12.2 定时器/计数器的工作方式选择寄存器12.3 定时器/计数器的控制寄存器12.4 定时器/计数器4种工作方式及其应用,本章学习要求,1、理解定时、计数概念及两者的区别,掌握工作方式寄存器与控制寄存器中各个位的意义。,2、掌握定时/计数器初始化方法,能把定时/计数器设置在需要的工作方式。,3、能应用定时/计数器来实现所需的功能,包括程序的编写。,微机系统中经常要使用到定时信号,例如:,系统日历时钟的计时;,动态存储器的定时刷新;,.,定时/计数器就是产生定时计数信号的硬件方法。,定时/计数
2、器的功能主要体现在两个方面:,计数功能;,定时功能。,12.1 定时器/计数器概述,1、计数功能对事件的个数进行计数。正计数:关心记录事件的次数。倒计数:关心预先设定事件次数发生完的时刻。预先设置好计数初值(定时常数),进行减1操作(倒计数),减到0时,输出一个信号。作为计数器,在减到0后,输出一个信号,此次计数结束。,开始计数,计数结束,输出信号,2.定时功能,取得给定的时间间隔(定时间隔),作为:延时:某事件发生后间隔一定的时间。时标:给定时间间隔的连续脉冲。设置好定时常数后,进行减1操作,减到0时,输出信号,并自动恢复初值重新计数,从而可产生定时间隔。作为定时器,在减到0后,输出一个信号
3、,同时自动恢复初值并重新计数(与计数器不同)。,开始计数,重新计数,产生定时间隔,计数功能作为计数个数,计数结束发中断信号。记录外部特定事件发生的个数。定时功能作为周期性定时中断信号。用于多任务分时操作系统,实现程序的切换。用作系统时钟基准。作为一个可编程波特率发生器,用于异步串行通信。可往I/O设备输出精确的定时信号,实现外设与CPU的同步。实现CPU的时间延时。,计数器/定时器的用途:,MCS-51单片机的定时器/计数器简介,2个16位的定时/计数器,有多种工作方式。,定时/计数器工作在定时模式时,计数脉冲信号来自单片机的内部,计数速率是晶振频率的1/12(即计数周期等于机器周期),当计数
4、器启动后,每个机器周期计数器自动加1。,定时/计数器工作在计数模式时,计数器对外部脉冲进行计数,计数器计算P3.4(T0脚)、P3.5(T1脚)负跳变的次数。每产生一次负跳变,计数器自动加1。,MCS-51单片机定时器/计数器的逻辑结构,MCS-51单片机的定时/计数器有一个工作方式寄存器(Timer/counter MODe control register,TMOD),用于设置定时/计数器的工作方式,高4位用于T1,低4位用于T0,TMOD寄存器的地址为89H。,12.2 定时器/计数器的工作方式选择寄存器,TMOD各位的定义(以定时器/计数器T0为例),门控位:,GATE0,定时/计数器
5、工作不受外部控制。,GATE1,定时/计数器T0的起停受INT0引脚的控制。,定时和计数模式选择位:,0,定时器模式,每一个机器周期计数器自动加1。,1,计数器模式,在单片机T0引脚上每发生一次负跳变,计数器自动加1。,工作方式选择位:,12.3 定时器/计数器的控制寄存器,控制寄存器TCON既有中断标志寄存器的功能(低4位),同时具有控制定时/计数器的功能(高4位),TCON寄存器的地址为88H。作用是控制定时/计数器的起停,反映定时/计数器是否计满。,单片机复位时,特殊功能寄存器TCON将被清0。,TFx(x=0,1)和TRx(x=0,1)由软件方法置1或清0。既可按单元操作的方式,也可以
6、按位操作方式。,如启动定时/计数器T0和T1,清除溢出标志位TF0和TF1操作如下:,SETB TR0 SETB TR1 CLR TF0 CLR TF1,或:MOV TCON,#01010000B,12.4 定时/计数器的4种工作方式及其应用,一、定时/计数器的初始化,定时/计数器的初始化包括设置工作方式、计数器或定时器模式、计算计数初始值、启动定时/计数器、设置中断控制位等。,定时和计数可以采用查询方式和中断方式实现。,采用查询方式初始化定时/计数器的步骤,(1)确定工作方式、计数器或定时器模式及启动控制方式,构造方式控制码并写入特殊功能寄存器TMOD:MOV TMOD,#控制码。,(2)计
7、算定时器或计数器的计数初始值,根据工作方式把初始值送人TH0、TL0或TH1、TL1。,(3)启动定时/计数器:SETB TRx,x=0,1。,此后定时/计数器开始工作,通过查询TFx是否为1来判断定时或计数是否达到要求。,采用中断方式初始化定时/计数器地步骤,(1)确定工作方式、计数器或定时器模式及启动控制方式,构造方式控制码并写入特殊功能寄存器TMOD:MOV TMOD,#控制码。,(2)计算定时器或计数器的计数初始值,根据工作方式把初始值送人TH0、TL0或TH1、TL1。,(3)开放CPU中断,允许定时/计数器溢出中断CPU的工作:对IE寄存器编程。,此后定时/计数器开始工作,当计数器
8、溢出时,定时或计数达到要求,CPU响应中断,程序转移到相应的中断处理程序入口处。,(4)启动定时/计数器:SETB TRx,x=0,1。,一、方式0(13位方式),MCS-51单片机的2个16位定时/计数器T0和T1具有多种工作方式,其中T0有4种方式,T1有3种。它们由TMOD寄存器设置。,二、定时/计数器的工作方式,当GATE=0时,只要TR0为1,TL0及TH0组成的13位计数器就开始计数;,当GATE=1时,仅当TR0为1,且引脚输入信号状态为1时,13位计数器开始计数。,计数器开始工作后,当13位计数器从初始值开始加1计数直到各位全为1以后,再计数1次,计数器就产生溢出,则TF0位由
9、硬件自动置1,同时把计数器清0。,在方式0下,计数器计数范围是18192(213)。定时时间范围为18192个机器周期,即当晶振频率fosc=12MHz时,最大定时时间为8.192 ms,要求在计数若干次或者定时(延时)若干秒后,再进行下一步的动作。,工程设计时,我们经常碰到这样的问题:,若采用定时/计数器实现,最直接的方法是让定时/计数器计数若干次或者定时若干秒后溢出,让溢出标志TF0(或TF1)为我们提供测试判断的条件。,然而,计数器只有在计数满后才会溢出,上述问题转换为在某个初始值的基础上再计数N次或再定时t秒使定时/计数器溢出。因此,求初始值是解决上述问题的关键。,初始值的计算,计数器
10、工作模式,设计数N次后,要求计数器溢出,问初始值应为多少?,设初始值为,则:,有:,预先给计数器装入初始值,当计数器计数N次后,溢出标志TF0为1。,定时器工作模式,设定时td秒,要求计数器溢出。,首先计算定时td需要多少个机器周期,即:,设初始值为,预先给计数器装入初始值,当计数器计数N个机器周期后,溢出标志TF0为1,定时时间到。,则:,有:,定时/计数器方式0的应用,例1:已知某生产线传送带上的产品单向传送到包装机,传送带上的产品之间有间隔,使用光电传感器检测产品的个数,每计数到12个产品时,由气缸驱动的顶推装置把这批产品推入包装机包装,顶推装置的顶推气缸动作响应时间为50ms。系统采用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 定时器 计数
链接地址:https://www.31ppt.com/p-5439675.html