收藏 分享(赏)

单片机原理与应用CH5.ppt

上传人:j35w19 文档编号:7613331 上传时间:2019-05-22 格式:PPT 页数:18 大小:372KB
下载 相关 举报
单片机原理与应用CH5.ppt_第1页
第1页 / 共18页
单片机原理与应用CH5.ppt_第2页
第2页 / 共18页
单片机原理与应用CH5.ppt_第3页
第3页 / 共18页
单片机原理与应用CH5.ppt_第4页
第4页 / 共18页
单片机原理与应用CH5.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、第五章 MCS-51单片机的 定时/计数器,定时/计数器概述,89C51单片机的内部集成了两个独立的16位定时/计数器,常用于需要精确定时或者高速计数的场合。,定时/计数器具备以下特点:,可设定为两种工作模式(定时器模式和计数器模式),每种模式下又可从四种工作方式中任选其一;,定时器模式的定时时间、计数器模式的计数值均可由程序设定,但不能超过各自的最大值;,定时器和计数器实质上是同一个物理部件,即二进制加1计数器,不同的是计数脉冲的来源。计数器计满回零时自动产生溢出中断,表示定时时间到或者计数完成。,定时/计数器的基本原理,5.1 定时/计数器的控制 相关特殊功能寄存器,定时/计数器的相关寄存

2、器包括:TCON、TMOD、TLO、THO、TL1、TH1。,一、定时器控制寄存器(TCON),作用:定时/计数器溢出中断标志位; 控制定时/计数器的启动或停止工作。,5.1 定时/计数器的控制 相关特殊功能寄存器,二、定时器方式寄存器(TMOD),作用:指定定时/计数器的工作模式和工作方式; 确定定时/计数器的启停是否需要引脚参与控制。,5.1 定时/计数器的控制 相关特殊功能寄存器,三、其他寄存器:TL0、TH0,TL1、TH1,作用:存储定时/计数器的计数中间值。,与T0对应:TH0、TL0;,与T1对应:TH1、TL1;,说明:TH存储高8位,TL存储低8位,组成16位二进制寄存器。定

3、时/计数器开始工作前,存储计数初值;定时/计数器工作中,存储计数中间值。,5.2 定时/计数器的工作方式,“工作模式”与“工作方式”的区别,工作模式有两种:定时器模式、计数器模式;,工作方式有四种:方式0、方式1、方式2和方式3;,工作模式实质上指定了计数器硬件的功能(定时/计数),选择了计数脉冲的来源;,工作方式实质上指定了计数器硬件的计数能力(计数器的位数);,5.2 定时/计数器的工作方式,一、方式013位加1计数器,说明:,13位计数器由TH的8位和TL的低5位组成;,13位计数器计满回零时自动产生溢出中断,若要再次计数,必须在中断服务程序中重装初值,并启动计数;,5.2 定时/计数器

4、的工作方式,二、方式116位加1计数器,说明:,16位计数器由TH作高8位和TL作低8位组成;,工作过程与方式0相同,但最大计数值是方式0的8倍;,5.2 定时/计数器的工作方式,三、方式28位自动重装加1计数器,说明:,TL作为计数器,TH作为寄存器,且初始化时必须给TH、TL送相同的计数初值;,TL计满回零时,自动向CPU申请溢出中断,同时自动从TH中复制重装计数初值,实现自动连续计数;,可用于实现波特率发生器;,以上三种方式定时/计数器0和1完全相同!,5.2 定时/计数器的工作方式,四、方式3,1、定时/计数器 0- 两个独立的软件重装的8位加1计数器,说明(1):,方式3下,TL0可

5、设定为定时器模式或计数器模式,由TR0启动/停止计数,由TF0指示中断状态;TH0只能工作在定时器模式,借用TR1启动/停止计数,TF1指示中断状态;,5.2 定时/计数器的工作方式,四、方式3,2、定时/计数器 1- 一个硬件自动重装的8位加1计数器,说明(2):,方式3下,T1没有控制位(因为被T0占用),不会产生中断,常用作串行口的可变波特率发生器;,5.3 定时/计数器的初值计算及其初始化,一、定时/计数器的初值计算,两句话:,定时器、计数器本质上都是加1计数器,仅计数脉冲的来源不同;,加1计数器在计数脉冲的作用下,从计数初值开始计数,当计满回零时自动产生溢出中断请求。,计数初值、计数

6、值与最大值的关系:,计数初值:从多少开始计?,计数值:计了多少次?,计数最大值:最多计到多少?,模值:最多可以计多少?,计数值 = 模值 - 计数初值,1. 计数器初值计算,5.3 定时/计数器的初值计算及其初始化,一、定时/计数器的初值计算,计数初值 TC,模值 M,计数值 C,TC = M - C,计数值,取决于实际需要,是已知量。,模值,取决于定时/计数器的工作方式(方式0:M=213;方式1:M=216;方式2和方式3:M=28;),是已知量。,计数初值,定时/计数器初始化的重要数据,是未知量,存储于TH、TL。,重要公式:,2. 定时器初值计算,5.3 定时/计数器的初值计算及其初始

7、化,一、定时/计数器的初值计算,设定时时间为T,机器周期为Tm,则:,C=T/Tm,TC = M - C,若计数初值TC=0,则定时时间达最大值。若系统使用12MHz晶振,则各工作方式的最大定时时间为:,方式0: Tmax = 2131s = 8.192ms,方式1: Tmax = 2161s = 65.536ms,方式2和方式3: Tmax = 281s = 0.256ms,5.3 定时/计数器的初值计算及其初始化,二、定时/计数器的初始化步骤,根据需要给定时方式寄存器(TMOD)送方式控制字,以设定定时/计数器的工作模式和工作方式;,根据需要给定时/计数器送定时器初值(或计数器初值),以确

8、定定时长度(或计数次数);,根据需要给中断允许寄存器(IE)送中断控制字,给中断优先级寄存器(IP)送优先级控制字,以开放相应中断、设定中断优先级;,给定时器控制寄存器(TCON)送命令字,以启动或禁止定时/计数器工作。,5.4 定时/计数器应用程序设计,二、定时/计数器的初始化举例,与中断系统应用程序类似,定时/计数器应用程序,也包括两大部分:初始化程序和中断服务程序。,一、定时/计数器的中断服务程序,定时/计数器是中断源之一,因此定时/计数器中断服务程序的编写规则与中断系统相同。,1、对外部输入脉冲计数,2、特定时间长度的精确定时,1、对外部输入脉冲计数,关键有两点:根据计数值选择工作方式

9、(计数器位数不同);根据计数值求出计数初值。,例1 某产品生产线,每300件产品装一个包装箱。试用定时/计数器实现计数部分功能,并写出初始化程序。,说明:计数初值=213-300=7892=1ED4 H程序清单:MOV TMOD,#04H ;使用T0(方式0/计数模式/门控位无效)MOV TL0,#0D4H ;写计数初值低8位MOV TH0,#1EH ;写计数初值高8位SETB ET0 ;开放T0中断SETB PT0 ;设T0中断为高优先级SETB EA ;开放总中断SETB TR0 ;启动计数,2、特定时间长度的精确定时,关键有三点:根据定时时间求出计数值;根据计数值选择工作方式;根据计数值求出计数器计数初值;,例2某89C51单片机系统,系统主频为12MHz,要实现20mS的精确定时,试确定定时/计数器初值,并编写初始化程序。,说明:计数器初值=216-20103=45536=B1E0 H程序清单:MOV TMOD,#01H ;使用T0(方式0/定时模式/门控位无效)MOV TL0,#0E0H ;写计数初值低8位MOV TH0,#0B1H ;写计数初值高8位SETB ET0 ;开放T0中断SETB PT0 ;设T0中断为高优先级SETB EA ;开放总中断SETB TR0 ;启动计数,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报