单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第5章 定时器及其应用

上传人:E**** 文档编号:89561295 上传时间:2019-05-28 格式:PPT 页数:46 大小:2.07MB
返回 下载 相关 举报
单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第5章 定时器及其应用_第1页
第1页 / 共46页
单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第5章 定时器及其应用_第2页
第2页 / 共46页
单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第5章 定时器及其应用_第3页
第3页 / 共46页
单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第5章 定时器及其应用_第4页
第4页 / 共46页
单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第5章 定时器及其应用_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第5章 定时器及其应用》由会员分享,可在线阅读,更多相关《单片机原理与应用 第2版 教学课件 ppt 作者 王迎旭 第5章 定时器及其应用(46页珍藏版)》请在金锄头文库上搜索。

1、第5章 定时/计数器及其应用,第5章 MCS-51定时/计数器及其应用,将计算机应用于测控系统时,常常需要有实时时钟以实现定时或延时采样和控制,有时需要对外部事件进行计数等。虽然定时的实现可由CPU利用软件编程来完成,但这样就会降低CPU的效率,这时可使用硬件定时计数器。 MCS-51子系列单片机内有两个可编程的定时计数器T0和T1;MCS-52子系列中除这两个定时器外,还有一个定时计数器T2。,可编程:可由用户程序选择其工作方式 设定其工作参数和条件。,第5章 MCS-51定时/计数器及其应用,MCS-51子系列单片机内的两个定时器计数器T0和T1逻辑结构如图所示:,第5章 MCS-51定时

2、/计数器及其应用,5.1 定时/计数器的结构与工作原理,16位的定时器计数器分别由两个8位专用寄存器TH0、TL0(或THl和TL1)构成。其内部还有2个8位的专用寄存器TMOD和TCON。其中TMOD是定时器的工作方式寄存器,TCON是控制寄存器,主要用于定时/计数器管理与控制。,5.1.1 定时/计数器的逻辑结构,5.1 定时/计数器的结构与工作原理,它的核心部件是加1计数器,其输入的计数脉冲有两个来源。当加到计数器为全“1”时,再输入一个脉冲,就使计数器回零,同时产生溢出脉冲使TCON中溢出中断标志TF0或TF1置1,并可向CPU申请中断。,1.当设置为定时工作方式时,对机器周期TM计数

3、。这时计数器的计数脉冲由振荡器的12分频信号产生,即每经过一个机器周期,计数值加1,直至计满溢出。在机器周期固定的情况下,定时时间的长短与计数器事先装入的初值有关,装入的初值越大,定时越短。,2.当设置为计数工作方式时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。当T0或T1脚上输人的脉冲信号出现由1到0的负跳变时,计数器值加1。,5.1.2 定时/计数器的工作原理,第5章 MCS-51定时/计数器及其应用,5.2 定时/计数器的控制与工作方式,5.2.1 定时计数器的管理与控制,1.工作方式寄存器TMOD 用于选定定时/计数器的工作方式、启动方式等。其中低四 位用于定义定时

4、器T0,高四位用于定义定时器T1。,第5章 MCS-51定时/计数器及其应用,5.2 定时/计数器的控制与工作方式,(1)M1 M0:用于设置定时/计数器的工作方式03 ; (2) CT:选择定时/计数; C/T=0-定时,C/T=1-计数 (3)GATE:启动控制方式选择 GATE0:允许软件位TR0或TR1启动; GATE1:允许外部引脚信号 INT0/INT1启动。,第5章 MCS-51定时/计数器及其应用,5.2 定时/计数器的控制与工作方式,2、定时器控制寄存器TCON,例:启动T0工作,用指令 SETB TR0,注意: 复位后TMOD、TCON各位均清零,第5章 MCS-51定时/

5、计数器及其应用,(1) TF1 定时器1溢出标志 (2) TR1 定时器1运行控制位 (3) TF0 定时器0溢出标志 (4) TR0 定时器0运行控制位 (5) IE1 外部中断1请求标志 (6) IT1 外中断1触发方式选择位 (7) IE0 外部中断0请求标志 (8) IT0 外部断0触发方式选择位,5.2 定时/计数器的控制与工作方式,1.方式0(T0/T1) (1)加1计数器为13位TL0=5位,TH0=8位 (2)(GATE+INT0)TR0为真,启动定时器 (3)C/T=1为计数工作方式,计数脉冲由T1引脚输入。计数个数 N=( 213初值) (4)C/T=0为定时工作方式 时钟

6、频率 fosc/12。,定时时间t=(213初值)*机器周期 (5)计数器溢出,TF1置1。由硬件申请中断。能否被CPU响应?,由于在应用方式0时计数初值的写入要注意“低5高8”,初学者容易出错,一般情况下很少用方式0,而选用方式1。,第5章 MCS-51定时/计数器及其应用,5.2 定时/计数器的控制与工作方式,2.方式1(T0/T1) 定时/计数器工作于方式1时为一个16位的计数器。其逻辑结构、操作及运行控制几乎与方式0完全样,差别仅在于计数器的位数不同。在方式1中TL0和TH0均为8位,TL0和TH0一起构成了l6位计数据。工作方式1时,定时时间为: t(216计数初值)机器周期,第5章

7、 MCS-51定时/计数器及其应用,用于计数器工作方式时 最大计数值为 21665536。,第5章 MCS-51定时/计数器及其应用,3. 方式2(T0/T1) 定时/计数器工作于方式2时,将两个8位计数器THx、TLx分成独立的两部分,组成一个可自动重装载的8位定时/计数器。,方式2的控制运行与方式0、方式1相同。 定时工作方式时,定时时间t(28计数初值X)机器周期 计数工作方式时,最大计数值(初值0时)是28。 方式2特别适合于用作较精确的定时和脉冲信号发生器, 常用作串行口波特率发生器 。,5.2 定时/计数器的控制与工作方式,第5章 MCS-51定时/计数器及其应用,5.2 定时/计

8、数器的控制与工作方式,4.方式3 方式3只适用于定时器T0。在方式3下,T0被分成两个相互独立的8位计数器TL0和TH0,如图所示 。,1)TH0和TL0变成2个分开的计数器。 TL0进行8位定时/计数,TH0进行8位定时 2)TL0占用了全部的定时器控制位(C/T,GATE,TR0,TF0) 3)TH0只能用于定时方式,运行控制位和溢出标志位则借TR1和TF1。 常用作串行口波特率发生器。,在T0设置为方式3工时,一般是将定时器T1作为串行口波特率发生器。,第5章 MCS-51定时/计数器及其应用,5.2 定时/计数器的控制与工作方式,小结:,第5章 MCS-51定时/计数器及其应用,5.3

9、 定时/计数器的应用,5.3.1定时/计数器计数初始化 1. 定时计数器的初始化方法 初始化的主要内容是对TCON和TMOD编程,计算和装载T0和T1的计数初值。,(1)初始化步骤 1)分析定时器计数器的工作方式,将方式字写入TMOD寄存器; ( 定/计、内/外启动、工作方式) 2)计算T0或T1中的计数初值,并将其写入TH0、TL0或TH1、TL1; 3)根据需要开放CPU和定时计数器的中断,即对IE和IP寄存器编程; 4)启动定时器计数器工作: 若要求用软件启动,编程时对TCON中的TR0或TR1置位即可启动; 若由外部中断引脚电平启动,则对TCON中的TR0或TR1置位后,还需给外引脚加

10、启动电平。,第5章 MCS-51定时/计数器及其应用,5.3 定时/计数器的应用,(2)计数器初值的计算 1)计数器模式时的计数初值 X2MN (M为计数器位数,N为要求的计数值) 方式0:M13,计数器的最大计数值2138192。 方式1:M16,计数器的最大计数值21665536; 方式2:M8,计数器的最大计数值28256; 方式3同方式2,例如:设T0工作在计数器方式2,求计数10个脉冲的计数初值 X028 10246(11110101)B0F5H,第5章 MCS-51定时/计数器及其应用,5.3 定时/计数器的应用,2)定时器模式时的计数初值 在定时器方式下,定时器对机器周期进行计数

11、,定时时间为: t(2M计数初值X)机器周期 则计数初值 X,X0 = 605360EC78H,例如,若fOSC6MHz,定时10ms,使用定时器T0工作于方式1,第5章 MCS-51定时/计数器及其应用,5.3 定时/计数器的应用,2. 定时/计数器初始化举例 编写初始化程序的步骤; 1)方式控制字送TMOD MOV TMOD,# 2)计数器的初值送TH、TL(0/1) MOV TH0,# MOV TL0,# 3)根据需要开放中断和设定优先级 即对IE和IP赋初值。 4) 启动T0/T1开始工作-置位TR0/1 SETB TR0/1 5)等待溢出信号的出现(如何进入处理程序?) (查询法或中

12、断法),第5章 MCS-51定时/计数器及其应用,5.3 定时/计数器的应用,例5-1:要求定时器T1于方式1,定时50ms,由软件启动,允许中断。设系统时钟频率fOSC12MHz,编写初始化程序段。 解:1)方式控制字为 0001 0000B=10H 2)计数初值为 X1,T1初始化程序段如下: MOV TMOD,#10H ;写入工作方式字 MOV TH1,#3CH ;写入计数初值 MOV TL1,#0B0H SETB ET1 ;开放T1中断 SETB EA ;开放CPU中断 SETB TR1 ;启动T1工作 ,第5章 MCS-51定时/计数器及其应用,5.3 定时/计数器的应用,例5-2:

13、 要求利用定时/计数器T0对T0引脚(P3.4)出现的脉冲计数,每计数100个脉冲向CPU申请中断,设由由软件启动。编写初始化程序段。 解:1)经分析,可设定时器T0工作于方式2计数 方式控制字为 0000 0110 B=06H 2)要求的计数值N=100,则计数初值为 28-100=156,初始化程序段如下: MOV TMOD,#06H ;写入工作方式字 MOV TH0,#156 ;写入计数初值 MOV TL0,#156 MOV IE,#10000010B ;开放T0、 CPU中断 SETB TR0 ;启动T0工作,第5章 MCS-51定时/计数器及其应用,5.3 定时/计数器的应用,5.3

14、.2 定时/计数器计数应用举例,在应用定时计数器时,溢出标志TFx置位后既可由硬件向CPU申请中断,也可通过用户程序查询TFx的状态,因此对计数溢出信息的处理有以下两种方法。 中断法:在定时器初始化时要开放对应的源允许(ET0或ET1)和总允许,在启动后等待中断。当计数器溢出中断,CPU将程序转到中断服务程序入口,因此应在中断服务程序中安排相应的处理程序。 查询法:既在定时器初始化并启动后,在程序中安排指令查询TFx的状态。,LP:JBC TF0,NEXT;TF0为1,转后面的处理程序,并将TF0复位 SJMP LP ;TF0为0,继续查询 NEXT: ,第5章 MCS-51定时/计数器及其应

15、用,5.3 定时/计数器的应用,采用查询方式时的一般编程模式: ORG 0030H MAIN: MOV TMOD,# MOV TH0,# MOV TL0,# - SETB TR0 WAIT: JBC TF0,NEXT; SJMP WAIT; NEXT:MOV TH0,#;重装 MOV TL0,# ;初值 - - ;处理程序 SLMP WAIT,采用中断方式时的一般编程模式: ORG 0000H SJMP MAIN ORG 000BH (001BH) LJMP T0S ORG 0030H MAIN: MOV TMOD,# MOV TH0,# MOV TL0,# SETB ET0; SETB EA; -;置其他初值 SETB TR0; SJMP $ T0S: - ; 重装初值 - ;处理程序 RETI,第5章 MCS-51定时/计数器及其应用,5.3 定时/计数器的应用,1.定时计数器定时模式的应用 例5-3: 利用定时/计数器定时产生周期信号。要求用定时器T0定时,在P1.7引脚上输出频率为50Hz的方波。设晶振频率为12MHz。,解:1)按题意分析:方波周期T=1/50=20ms,可用T0方式1定时10ms,使P1.7每隔10ms取反一次,即可得到周期为20ms的方波。 设T0工作在方式1,由软

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号