单片机原理及应用 教学课件 ppt 作者 徐泳龙 主编 第06章___MCS-51单片机定时器计数器

上传人:E**** 文档编号:89493399 上传时间:2019-05-25 格式:PPT 页数:17 大小:13.09MB
返回 下载 相关 举报
单片机原理及应用 教学课件 ppt 作者 徐泳龙 主编 第06章___MCS-51单片机定时器计数器_第1页
第1页 / 共17页
单片机原理及应用 教学课件 ppt 作者 徐泳龙 主编 第06章___MCS-51单片机定时器计数器_第2页
第2页 / 共17页
单片机原理及应用 教学课件 ppt 作者 徐泳龙 主编 第06章___MCS-51单片机定时器计数器_第3页
第3页 / 共17页
单片机原理及应用 教学课件 ppt 作者 徐泳龙 主编 第06章___MCS-51单片机定时器计数器_第4页
第4页 / 共17页
单片机原理及应用 教学课件 ppt 作者 徐泳龙 主编 第06章___MCS-51单片机定时器计数器_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《单片机原理及应用 教学课件 ppt 作者 徐泳龙 主编 第06章___MCS-51单片机定时器计数器》由会员分享,可在线阅读,更多相关《单片机原理及应用 教学课件 ppt 作者 徐泳龙 主编 第06章___MCS-51单片机定时器计数器(17页珍藏版)》请在金锄头文库上搜索。

1、1,第六章 MCS-51单片机定时器/计数器,概述 第一节 定时器/计数器结构和工作方式 第二节 定时器/计数器的编程应用举例,2,概 述,定时器计数器是MCS51单片机的重要功能模块之一。在检测、控制及智能仪器等应用中,常用定时器作实时时钟,实现定时检测、定时控制。还可用定时器产生毫秒宽的脉冲,驱动步进电动机一类的电气机械。计数器主要用于外部事件的计数。MCS51单片机内有3个定时器计 数器T0、T1和T2;本章主要介绍MCS 51的原理、结构、工作方式及应用。,3,MCS-51 计数/定时器的原理,实质是计数器,脉冲每一次下降沿,计数寄存器数值将加1。 计数的脉冲如果来源于单片机内部的晶振

2、,由于其周期极为准确,这时称为定时器。计数的脉冲如果来源于单片机外部的引脚,由于其周期一般不准确,这时称为计数器。,4,第一节 定时器/计数器结构 和工作方式,一、 定时器计数器0,1的结构,5,二、定时器/计数器0,1方式控制寄存器TMOD,1)功能选择位C/T: =0,定时功能,计数内部机器周期脉冲; =1,计数功能,计数引脚T0(T1)输入的负脉冲。 2)方式选择位M1、M0: 3)门控方式选择位GATE 计数器启动方式的选择 确定定时器工作方式指令: MOV TMOD,#方式字 例:设T0用方式2非门控定时,T1用方式1门控计数。 MOV TMOD,#0D2H ; 1101 0010

3、B,6,三、定时器计数器0,1控制寄存器TCON,(1)定时器计数器1运行控制位TR1(TCON.6) (2)定时器计数器溢出中断标志TF1(TCON.7),当定时器计数器1溢出时由硬件自动置TF11,在中断允许的条件下,便向CPU发出定时器计数器1的中断请求信号,CPU响应后TF1由硬件自动清零。在中断屏蔽条件下,TF1可作查询测试用。 TF1也可以用程序置位或清零,例如执行指令SETB TF1后TF1。这就是说,定时器计数器1的中断请求还能用程序安排产生,这称为软件中断。 在定时器计数器1工作时,CPU可以随时查询TF1的状态。 (3)定时器计数器0运行控制位TR0(TCON.4) (4)

4、定时器计数器0溢出中断标志TF0(TCON.5),7,四、工作方式 一、 方式0 13位定时/计数器。 THx 8位和TLx低5位组成13位加1计数器,此种方式与MCS48系列兼容,如果不是为了兼容的目的,一般不用方式0.方式0的全部功能,方式1都可以代替。,8,可用程序将08191(2131)的某一数送入TH0、TL0作为初值。TH0、TL0从初值开始加法计数,直至溢出,所以设置的初值不同,定时时间或计数值也不同。 当对外部事件计数时,外部计数脉冲的频率应小于fosc/24,且高电平与你电平的延续时间均不得小1个机器周期。计数值由式 N8192x 计算 (x为初值) 对内部机器周期计数即为定

5、时,定时时间由式 T(8192x)Tcy 计算,9,16位定时/计数器。 THx8位和TLx8位组成16位加1计数器 最大计数脉冲个数:165536(216),最长定时时间(晶振12MHz T=1s):1s 65536T= 65.54ms,二、 方式1,非门控方式:当GATE0, 控制权由 TRx 决定 TRx1 计数开始 TRx 0 计数停止,门控方式:当GATE1、TRx1 控制权由 INTx 决定 INTx1 计数开始 INTx 0 计数停止,10,三、 方式2,用于需要重复定时和计数的场合。 最大计数值:256 (28) 最大定时时间(晶振12MHz时 T=1s): 256s 自动恢复

6、初值8位定时/计数器。TLx为8位加1计数器, THx为8位初值暂存器。,11,四、方式3,T0分成2个8位定时器:TL0定时/计数器和TH0定时器 TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制 位:TR1。T1不能使用方式3工作。,12,第二节 定时器/计数器的编程应用举例,一、 定时器计数器的初始化 1.初始化的步骤 (1) 确定工作方式、操作模式、启动控制方式写入TMOD寄存器。 (2) 设置定时器或计数器的初值可直接将初值送入TH0、TL0或TH1、TL1中,16位计数初值必须分两次写入对应的计数器。 (3) 根据要求是否采用中断方式直接对I E寄存器赋值。开放中

7、断时,将对应的中断允许位置1,采用程序查询方式IE应将对应的中断允许位清0,进行中断屏蔽。 (4)启动定时器工作可使用SETB TR0、SETB TR1和SETB TR2指令启动。对于T0和T2而言,可根据GATE的设置有两种启动。,13,2.计数初值的计算 当计数器使用时,初值X的计算式为: XM计数值 当定时器使用时,初值的计算式为: XM计数值MTTCY 式中:TCY 为机器周期, T 为要求定时的时间。 M 由工作方式决定 例如:MCS51的主频为6MHz,要求产生1ms的定时,试计算计数初值X。若设置定时器工作于操作模式1,定时1ms,则计数初值X等于:,14,3. 定时器初始化举例

8、,例61 已知振荡器振荡频率fosc=12MHz,要求定时器计数器0产生10ms定时,试编写初始化程序。 解:由于定时时间大于8192us,应选用工作方式1。 (1)TH0、TL0初值的计算 由于Tcy1s,故有 T(65536x)Tcy(65536x)1s10ms 得 x=55536=D8F0 即 TH0D8H,TL0F0H (2)方式寄存器TMOD的编程 (3)初始化程序 START:MOV TL0,0F0H MOV TH0,0D8H MOV TMOD,01H SETB TR0,15,二、 定时器的应用举例,1 方式0的应用 例63 选用T0工作方式0,用于定时,由P1.2输出周期为1ms

9、的方波,设晶振fosc6MHz。采用查询方式编程。 解:确定用T0定时500s。设X为时间初值 X213fosct12819265001279421F06H 由于作13位计数器使用,TL0的高3位未用,应填0,TH0占高8位,所以13位的二进制表示值应为: X011111000 00110B, TL006H,只用到5位,TH0F8H 设置模式控制字 TMOD:00000000 00H,000,源程序如下: ORG 8000H MOV TL0,06H MOV TH0,0F8H SETB TR0 LP1:JBC TF0,LP2 ; AJMP LP1 LP2: MOV TL0,06H MOV TH0

10、,0F8H CPL P1.2 SJMP LP1,16,例 P1.7驱动LED亮1秒灭1秒地闪烁,设时钟频率为12MHz。 长定时方法:增加一个软件计数器(如R7), 记录中断 次数,计满n个中断为1秒。,ORG 0000H AJMP MAIN ORG 001BH AJMP PT1INT ORG 0030H START:MOV R7,#00H MOV TMOD,#10H MOV TL1, #0F0H MOV TH1, #0D8H SETB EA SETB ET1 SETB TR1 HERE: SJMP HERE PT1INT: MOV TL1,#0F0H MOV TH1,#0D8H INC R7 CJNE R7,#10, PEND MOV R7, #00H CPL P1.7 PEND: RETI,17,本章学习结束 !,

展开阅读全文
相关资源
相关搜索

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

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