第七章 单片机的定时器计数器.ppt.ppt
《第七章 单片机的定时器计数器.ppt.ppt》由会员分享,可在线阅读,更多相关《第七章 单片机的定时器计数器.ppt.ppt(53页珍藏版)》请在三一办公上搜索。
1、第七章 单片机的定时器/计数器,7.1 定时器/计数器 1基本概念(1)计数:计数是指对外部事件的个数进行计量。其实质就是对外部输入脉冲的个数进行计量。实现计数功能的器件称为计数器。(2)定时:8051单片机中的定时器和计数器是一个部件,只不过计数器记录的是外界发生的事件,而定时器则是由单片机内部提供一个非常稳定的计数源进行定时的。这个计数源是由单片机的晶振经过12分频后获得的一个脉冲源。所以定时器计数脉冲的时间间隔与晶振有关。,(3)定时的种类 软件定时:利用执行一个循环程序进行时间延迟。其特点是定时时间精确,不需外加硬件电路,但占用CPU时间。因此软件定时的时间不宜过长。硬件定时:利用硬件
2、电路实现定时。其特点是不占用CPU时间,通过改变电路元器件参数来调节定时,但使用不够灵活方便。对于时间较长的定时,常用硬件电路来实现。可编程定时器:通过专用的定时器/计数器芯片实现。其特点是通过对系统时钟脉冲进行计数实现定时,定时时间可通过程序设定的方法改变,使用灵活方便。也可实现对外部脉冲的计数功能。,MCS-51单片机内部有两个16位可编程的定时器/计数器,简称为T0和T1,均可作定时器用也可计数器,它们均是二进制加法计数器,当计数器计满回零时能自动产生溢出中断请求,表示定时时间已到或计数已终止。适用于定时控制、延时、外部计数和检测等。计数器:对引脚T0(P 3.4)和T1(P3.5.)输
3、入的外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。定时器:对系统晶振振荡脉冲的12分频输出进行计数。(1)定时器/计数器的结构组成:16位加法计数器、工作方式寄存器TMOD和控制寄存器TCON。T0:TL0(低8位)和TH0(高8位)T1:TL1(低8位)和TH1(高8位),2MCS-51内部定时器/计数器,8051单片机内部的定时器/计数器的结构如下图所示。,(2)控制寄存器TCON(88H),TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0,TF0/TF1:T0/1计数溢出标志位。可用于申请中断或供CPU查询。在
4、进入中断服务程序时会自动清零;但在查询方式时必须软件清零。=1:计数溢出;=0:计数未满。TR0/TR1:T0/1启停控制位。=1:启动计数;=0:停止计数。IE0/IE1和IT0/IT1:用于管理外部中断(前面已介绍过)。,M1,M0:工作方式选择位。=00:13位定时器/计数器;=01:16位定时器/计数器(常用);=10:可自动重装的8位定时器/计数器(常用);=11:T0 分为2个8位定时器/计数器;仅适用于T0。C/:定时方式/计数方式选择位。=1:选择计数器工作方式,对T0/T1引脚输入的外部事件的负脉冲计数;=0:选择定时器工作方式,对机器周期脉冲计数定时。如下页图所示。,(2)
5、工作方式寄存器TMOD,T1,T2,GATE:门控位,定时器/计数器的启/停可由软件与硬件两者控制=0:软件控制,只由TCON中的启/停控制位TR0/TR1控制定时器/计数器的启/停。=1:硬件控制,由外部中断请求信号/和TCON中的启/停控制位TR0/TR1组合状态控制定时器/计数器的启/停。其控制逻辑如下图所示。,7.2 定时器/计数器的工作方式,8051单片机的定时器/计数器共有四种工作模式,现以T0为例加以介绍,T1与T0的工作原理相同,但方式3下T1停止计数。1工作方式0(M1M0=00,13位定时器/计数器)由TH0的全部8位和TL0的低5位(TL0的高3位未用)构成13位加1计数
6、器,当TL0低5位计数满时直接向TH0进位,并当全部13位计数满溢出时,溢出标志位TF0置“1”。2工作方式1(M1M0=01,16位定时器/计数器)由TH0和TL0构成16位加1计数器,其他特性与工作方式0相同。3工作方式2(M1M0=10,自动重装计数初值的8位定时器/计数器)16位定时器/计数器被拆成两个8位寄存器TH0和TL0,CPU在对它们初始化时必须装入相同的定时器/计数器初值。以TL0作计数器,而TH0作为预置寄存器。当计数满溢出时,TF0置“1”,同时TH0将计数初值以硬件方法自动装入TL0。这种工作方式很适合于那些重复计数的应用场合(如串行数据通信的波特率发生器)。,4工作方
7、式3(M1M0=11,2个8位定时器/计数器,仅适用于T0)TL0:8位定时器/计数器,使用T0原有控制资源TR0和TF0,其功能和操作与方式0或方式1完全相同。TH0:只能作为8位定时器,借用T1的控制位TR1和TF1,只能对片内机器周期脉冲计数。在方式3模式下,定时器/计数器0可以构成两个定时器或者一个定时器和一个计数器。T0方式3下的T1方式2,因定时初值能自动恢复,用作波特率发生器更为合适。,7.2.1 定时/计数器的工作方式 一、方式0 方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向
8、CPU发出中断请求。,定时器模式时有:Nt/Tcy 计数初值计算的公式为:定时器的初值还可以采用计数个数直接取补法获得。计数模式时,计数脉冲是T0引脚上的外部脉冲。,门控位GATE具有特殊的作用。当GATE=0时,经反相后使或门输出为1,此时仅由TR0控制与门的开启,与门输出1时,控制开关接通,计数开始;当GATE=1时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TR0共同控制。当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。,二、方式1 方式1的计数位数是16位,由TL0作为低8位、
9、TH0作为高8位,组成了16位加1计数器。,计数个数与计数初值的关系为:,三、方式2 方式2为自动重装初值的8位计数方式。,工作方式2特别适合于用作较精确的脉冲信号发生器。,计数个数与计数初值的关系为:,四、方式3 方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。,工作方式3将T0分成为两个独立的8位计数器TL0和TH0。,定时器/计数器可按片内机器周期定时,也可对由T0/T1引脚输入一个负脉冲进行加法计数。在应用时,其工作方式和工作过程均可通过程序设定和控制,因此,定时器/计数器在工作前必须先对其进行初始化,计算和设置初值。1.定时器T0/T1 中断申请过程
10、(1)在已经开放T0/T1中断允许且已被启动的前提下,T0/T1加1计满溢出时 TF0/TF1标志位自动置“1”;(2)CPU 检测到TCON中TF0/TF1变“1”后,将产生指令:执行中断服务程序;(3)TF0/TF1标志位由硬件自动清“0”,以备下次中断申请。,7.2.2定时器/计数器的应用,2.定时器/计数器初始化的步骤,(1)写TMOD,设置定时器/计数器的工作方式;(2)计算定时器/计数器的初值,写入TH0/TH1、TL0/TL1。(3)设置IE、IP,以开放相应的中断和设定中断优先级。3.定时器/计数器的定时器/计数器范围(1)工作方式0:13位定时器/计数器方式 最大计数值=21
11、3=8192(2)工作方式1:16位定时器/计数器方式 最大计数值=216=65536(3)工作方式2和工作方式3:8位的定时器/计数器方式因此,最大计数值=28=256,3.计数器初值的计算,方法:用最大计数量减去需要的计数次数。即:TC=MC 其中:TC计数器需要预置的初值;M计数器的模值(最大计数值);方式0时,M=213;方式1时,M=216;方式2,3时,M=28;C计数器计满回0所需的计数值,即设计任务要求的计数值。例如:流水线上一个包装是12盒,要求每到12盒就产生一个动作,用单片机的工作方式0来控制,则应当预置的初值为:TC=M C=213 12=8180,4.定时器初值的计算
12、,定时时间的计算公式为:T=(MTC)T0(或TC=MT/T0)其中:T定时器的定时时间,即设计任务要求的定时时间;T0计数器计数脉冲的周期,即单片机系统主频周期的12倍;M计数器的模值;TC定时器需要预置的初值。若设初值TC=0,则定时器定时时间为最大。若设单片机系统主频为12MHz,则各种工作方式定时器的最大定时时间为:工作方式0:Tmax=2131s=8.192ms工作方式1:Tmax=2161s=65.536ms工作方式2和3:Tmax=281s=0.256ms,5.定时器/计数器应用举例 例题 设一只发光二极管LED和8051的P1.0脚相连。当P1.0脚是高电平时,LED发亮;当P
13、1.0脚是低电平时,LED不亮。编制程序用定时器来实现发光二极管LED的闪烁功能。已知单片机系统主频为12MHz(这意味着每个时钟周期121/(12100000012=1 s。)。要是主频为11.0592MHz的话,就是12/11.0592 s。,#includesbit LED=P12;void Init_Timer1(void)TMOD=0 x10;TH1=0 x00;/*Init value*/TL1=0 x00;EA=1;/*interupt enable*/ET1=1;/*enable timer1 interrupt*/TR1=1;main()Init_Timer1();while
14、(1);void Timer1_isr(void)interrupt 3 using 1 TH1=0 x00;/*Init value*/TL1=0 x00;LED=LED;,7.3 MCS-51 单片机的串行通信,7.3.1 概述1.通信 通信:单片机与外界进行信息交换统称为通信。8051单片机的通信方式有两种:并行通信:数据的各位同时发送或接收。特点是传送速度快、效率高,但成本高。适用于短距离传送数据。计算机内部的数据传送一般均采用并行方式。串行通信:数据一位一位顺序发送或接收。特点是传送速度慢,但成本低。适用于较长距离传送数据。计算机与外界的数据传送一般均采用串行方式。,2.数据通信的制
15、式单工方式:数据仅按一个固定方向传送;半双工方式:数据可实现双向传送,但不能同时进行;全双工方式:允许双方同时进行数据双向传送;多工方式:在同一线路上实现资源共享。3.串行通信的分类 串行数据通信按数据传送方式可分为异步通信和同步通信两种形式:同步方式:以数据块为单位进行数据传送,包括同步字符、数据块和校验字符CRC。优点是数据传输速率较高,缺点是要求发送时钟和接收时钟保持严格同步。数据格式如下图所示。,异步方式:以字符为单位进行数据传送,每一个字符均按固定的字符格式传送,又被称为帧。优点是不需要传送同步脉冲,可靠性高,所需设备简单;缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速
16、率。数据格式如下图所示:,4.串行数据通信的波特率,波特率是指每秒钟传送信号的数量,单位为波特(Baud)。而每秒钟传送二进制数的信号数(即二进制数的位数)定义为比特率,单位是bps(bit per second)或写成b/s(位/秒)。在单片机串行通信中,传送的信号是二进制信号,波特率与比特率数值上相等。单位采用bps。例如,异步串行通信的数据传送的速率是120字符/秒,而每个字符规定包含10位数字,则传输波特率为:120字符/秒 10位/字符=1200位/秒=1200bps,7.3.2 MCS-51的串行口,MCS-51单片机内部有一个全双工的串行通信口(P3.0、P3.1),既可作UAR
17、T(通用异步接收/发送器)用,也可作同步移位寄存器使用,还可用于网络通信,其帧格式可有8位、10位和11位,并能设置各种波特率。1串行口寄存器结构(1)两个物理上独立的同名的接收/发送缓冲寄存器SBUF 指令 MOV SBUF,A 启动一次数据发送,指令 MOV A,SBUF 完成一次数据接收,即向发送缓冲器SBUF写入数据即可发送数据,从接收缓冲器SBUF读出数据即可接收数据。(2)输入和输出移位寄存器和控制器等组成。(3)2个SFR寄存器SCON和PCON,用于串行口的初始化编程。(4)接收/发送数据,无论是否采用中断方式工作,每接收/发送一个数据都必须用指令对 RI/TI 清0,以备下一
18、次收/发。,MCS-51串行口的结构如下图所示:,2.串行通信控制寄存器SCON(98H),SM0,SM1:串行口4种工作方式控制位。=00:方式0,8位同步移位寄存器,其波特率为fosc/12;=01:方式1,10位UART,其波特率为可变,由定时器控制;=10:方式2,11位UART,其波特率为fosc/64或fosc/32;=11:方式3,11位UART,其波特率为可变,由定时器控制。其中:fosc为系统晶振频率。RI,TI:串行口收/发数据申请中断标志位 1 申请中断;0 不申请中断。,RB8:在方式2、3中,用于存放收到的第9位数据;在双机通信中,作为奇偶校验;在多机通信中,用作区别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第七章 单片机的定时器计数器.ppt 第七 单片机 定时器 计数器 ppt
链接地址:https://www.31ppt.com/p-2337004.html