单片机原理与应用第5章 定时器及其应用
单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统
5.2.5 中断允许控制
例5-1 假设允许INT0、INT1、T0、T1中断,试 设置IE的值。 (2)汇编语言程序 按字节操作: MOV IE,#8FH 按位操作: SETB EX0 ;允许外部中断0中断 SETB ET0 ;允许定时器/计数器0中断 SETB EX1 ;允许外部中断1中断 SETB ET1 ;开定时器/计数器1中断 SETB EA ;开总中断控制位
IP (B8H)
D7 —
D6 D5 D4 D3 D2 D1 D0 — PT2 PS PT1 PX1 PT0 PX0
PT2:定时器/计数器T2的中断优先级控制位 PT2设置1则T2为高优先级,PT2设置0则T2为 低优先级。 后面各位均是如此,设置1为高优先级,设置0 为低优先级,不再一一赘述。 PS:串行口的中断优先级控制位。 PT1:定时器/计数器1的中断优先级控制位。 PX1:外部中断1的中断优先级控制位。 PT0:定时器/计数器0的中断优先级控制位。 PX0:外部中断0的中断优先级控制位。
5.2.4 中断请求标志
4.定时器/计数器T2中断请求标志
T2CON D7 D6 D5 (C8H) TF2 EXF2 D4 D3 D2 D1 D0
EXF2:定时器/计数器2的外部触发中断请求标志 位。T2以自动重装或外部捕获方式定时、计数,当 T2EX(P1.1)引脚出现负跳变时,TF2由硬件置1, 向CPU请求中断,CPU响应中断后,EXF2不会被硬 件清0,需要在程序中以软件方式清0。
5.2.3 外中断触发方式
TCON格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0=1,外中断0为下降沿触发 CPU在每一个机器周期的S5P2期间对P3.2引 脚采样,若上一个机器周期检测为高电平,紧挨着 的下一个机器周期为低电平,则使IE0置1。 IT1:外中断1触发方式控制位。功能同IT0
单片机定时器的使用
由于TL0既能作定时器也能作计数器使用,而 TH0只能作定时器使用而不能作计数器使用,因此在 方式3模式下,定时/计数器0可以构成二个定时器或 者一个定时器和一个计数器。
如果定时/计数器0工作于工作方式3,那么定时/ 计数器1的工作方式就不可避免受到一定的限制,因 为自己的一些控制位已被定时/计数器借用,只能工 作在方式0、方式1或方式2下,如果设置T1工作在方 式3,则T1停止工作,相当于其他方式时令TR1=0。
在工业检测、控制中,很多场合都要用到计数或者定 时功能。例如对外部脉冲进行计数、产生精确的定时时间、 作串行口的波特率发声器等。MCS-51单片机内部有两个 可编程的定时器/计数器,以满足这方面的需要。它们具 有 两种工作模数(计数器模式、 定时器模式)和四种工 作方式( 方式0、方式1、方式2、方式3),其控制字均 在相应的特殊功能寄存器(SFR)中,通过对它的SFR的 编程,可以方便的选择工作模数和工作方式。
C/T位:计数器模式和定时器模式的选择位。
C/T=0,为定时器模式,内部计数器对晶振脉冲12分频 后的脉冲计数,该脉冲周期等于机器周期,所以可以理 解为对机器周期进行计数。从计数值可以求得计数的时 间,所以称为定时器模式。
C/T=1,为计数器模式,计数器对外部输入引脚T0 (P3.4)或T1(P3.5)的外部脉冲(负跳变)计数,允许 的最高计数频率为晶振频率的1/24。
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TF0、TF1分别是定时器/计数器T0、 T1 的溢出标志位, 加法计数器计满溢出时置 1, 申请中断, 在中断响应后自动复 0。TF产生的中断申请是否被接受, 还需要由中断是否开放 来决定。
TR1、TR0 分别是定时器 /计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时 被清 0。
MCS51单片机第5章
中断优先级处理原则
同时发生多个中断申请时 多个中断申请时: 对同时发生多个中断申请时: 不同优先级的中断同时申请(很难遇到) ☞不同优先级的中断同时申请(很难遇到) ——先高后低 先高后低 相同优先级的中断同时申请(很难遇到) ☞相同优先级的中断同时申请(很难遇到) ——按序执行 按序执行 ☞正处理低优先级中断又接到高级别中断 ——高打断低 高打断低 ☞正处理高优先级中断又接到低级别中断 ——高不理低 高不理低
MCS-51单片机的中断系统 MCS-51单片机的中断系统 计算机与外设之间交换信息的方式: 计算机与外设之间交换信息的方式: 无条件传送方式:外设对计算机来说总是准备好的。 (1)无条件传送方式:外设对计算机来说总是准备好的。 (2)查询传送方式:传送前计算机先查询外设的状态, 查询传送方式:传送前计算机先查询外设的状态, 若已经准备好就传送,否则就继续查询/等待。 若已经准备好就传送,否则就继续查询/等待。 中断传送方式: (3)中断传送方式:外设通过申请中断的方式与计算 机进行数据传送。 机进行数据传送。 直接存储器存取方式(DMA) (DMA): (4)直接存储器存取方式(DMA):传送数据的双方直 接通过总线传送数据, 不经CPU中转。 CPU中转 接通过总线传送数据, 不经CPU中转。
中断请求的撤除
为了避免中断请求标志没有及时撤除而造成的重复响应同一中 断请求的错误, CPU在响应中断时必须及时将其中断请求标志 断请求的错误, CPU在响应中断时必须及时将其中断请求标志 位撤除。 位撤除。
申请标志 IE0 TF0 IE1 TF1 RI/TI TF2
中断矢量 0003H 000BH 0013H 001BH 0023H 002BH
中断优先级 最高优先级
最低优先级
第05章 MCS-51单片机的中断与定时(1-4)
2
1
TH0
;P1.0输出“0” ;P1.0输出“1”
5.2 MCS-51单片机的中断系统
五、外中断应用举例
1. 中断初始化程序
设置外中断源的触发方式 设置中断允许寄存器IE 设置中断优先级寄存器IP
2. 中断服务程序
保护现场 中断处理 恢复现场
23/65
5.2 MCS-51单片机的中断系统
【例5-3】 设外部中断0为下降沿触发方 式,高优先级,试编写中断初始化程序
5.2 MCS-51单片机的中断系统
【例5-4】 将单脉冲接到外中断0(INT0)引脚,利 用P1.0作为输出,经反相器接发光二极管。编写程 序,每按动一次按钮,产生一个外中断信号,使发 光二极管的状态发生变化,由亮变暗,或反之
P1.0 单脉冲 发生器 INT0
1
+5V
8031
26/65
5.2 MCS-51单片机的中断系统
串口:0023H
20/65
5.2 MCS-51单片机的中断系统
四、中断请求的撤除
1.定时/计数器中断请求标志TF0/TF1会自动撤除 2.串行口中断请求标志TI/RI要用指令撤除
CLR TI ;清TI标志位 CLR RI ;清RI标志位
3.负脉冲触发的外中断请求标志IE0/IE1会自动撤除 4.低电平触发的外中断请求信号需要外加电路撤除
下次课前请预习5.3节
30/65
5.3 51单片机的定时器/计数器
MCS-51单片机内部有两个16位定时/计数器 T0和T1,简称定时器0和定时器1
在特殊功能寄存器TMOD和TCON的控制下, 它们既可以设定成定时器使用,也可以设定 成计数器使用
定时/计数器有4种工作方式,具有中断功能, 可以完成定时、计数、脉冲输出等任务
单片机定时器的使用课件
02
单片机定时器的使用方法
定时器的初始化设置
定时器时钟源选择
根据单片机型号和系统时钟频 率,选择合适的定时器时钟源
。
定时器工作模式设定
根据需求选择定时器工作在计 数模式还是计时模式。
预分频器设置
根据定时时间要求,设置合适 的预分频系数,以降低计数频 率。
自动重载值设定
根据定时时间要求,设置合适 的自动重载值,以实现定时器
04
单片机定时器的编程技巧
优化定时器的启动与停止方式
定时器启动方式
在单片机定时器编程中,应选择合适的启动方式以减少误差。常用的启动方式有软件启动和外部信号 启动。软件启动通过编程指令控制定时器的启动,而外部信号启动则是通过外部硬件信号触发定时器 开始计时。
定时器停止方式
定时器停止计时的方式也会影响其精度。常用的停止方式有软件停止和外部信号停止。软件停止通过 编程指令控制定时器停止计时,而外部信号停止则是通过外部硬件信号触发定时器停止计时。
合理设置定时器的中断优先级
中断优先级设置
在单片机定时器编程中,应合理设置定 时器的中断优先级。中断优先级决定了 定时器触发中断的优先级,对程序的执 行顺序和实时性有重要影响。根据实际 需求,选择合适的中断优先级可以提高 程序的效率和稳定性。
VS
避免中断冲突
在设置定时器的中断优先级时,应注意避 免与其他中断源发生冲突。如果多个中断 源的中断优先级相近,可能会导致程序执 行混乱或出现不可预测的行为。因此,在 编程时应充分考虑各种中断源的优先级关 系,确保程序的正确执行。
定时器与其他单片机的集成与融合
集成化趋势
随着集成电路技术的发展,单片机定 时器将更加集成化,与其他单片机、 传感器、执行器等集成在一起,形成 更为紧凑和高效的系统。
单片机定时器的原理及应用
单片机定时器的原理及应用概述单片机定时器是单片机的一种重要功能模块,它能够实现精确的时间计量和控制,广泛应用于各种自动化设备和工业控制系统中。
本文将详细介绍单片机定时器的原理和应用。
单片机定时器的原理单片机定时器的原理主要基于计数器的工作原理。
计数器是一种能够按照一定规律自动加(或减)1的电子装置。
单片机定时器通常使用定时/计数器模块来实现。
在单片机中,定时器模块通常由一个或多个8位或16位的寄存器组成,用于保存计数值。
定时器模块还包含一组控制寄存器,用于配置定时器的工作模式、计数方式等。
单片机的定时器工作过程如下: 1. 初始化定时器:配置定时器的工作模式、计数方式等参数。
2. 启动定时器:将定时器的计数值清零,并开始计数。
3. 定时器计数:根据设定的计数方式和工作模式,定时器将自动进行计数,并根据计数规则更新计数值。
4. 定时器溢出:当定时器的计数值达到设定的最大值时,定时器将溢出并触发相应的中断或事件。
5. 定时器复位:定时器溢出后,可以选择自动清零计数值或保持当前计数值不变,然后重新开始计数。
单片机定时器通常支持多种工作模式,如定时模式、计数模式、PWM模式等。
具体的工作模式和计数方式根据不同的单片机型号而有所差异。
单片机定时器的应用单片机定时器的应用非常广泛,以下是一些常见的应用场景:实时时钟单片机定时器可以用于实现实时时钟功能。
通过定时器的计数功能,可以精确地测量经过的时间,并能够提供秒、分、时、日期等各种时间单位的计量。
实时时钟广泛应用于各种计时、计量和时间戳等场景。
脉冲产生定时器可以用来产生各种脉冲信号,例如方波、矩形波、脉冲串等。
通过定时器的计数规则和工作模式设置,可以控制脉冲的频率、占空比等参数,实现精确的波形生成。
周期性任务调度单片机定时器可以用于周期性任务的调度。
通过设置定时器的计数值和溢出中断,可以实现定时触发中断,从而执行一些周期性的任务,例如数据采集、数据上传、状态刷新等。
5单片机中断定时器的使用
0 PS 1
0
自
高
然
级
1
优
先
级 中断入口
中断源
自
低
0
然
级
优
先
级 中断入口
中断源
SCON
1、(P3.2)可由IT0(TCON.0)选择其为低电平 有效还是下降沿有效。当CPU检测到P3.2引脚上 出现有效的中断信号时,中断标志IE0(TCON.1) 置1,向CPU申请中断。
第5章 单片机中断及定时计数器控制
第5章 单片机中断及定时计数器控制
而80C52单片机有四个中断优先级,即可实现四级 中断服务嵌套。每个中断源的中断优先级由中断优 先级寄存器IP和IPH中的相应位的状态来规定的 。
▪PX0(IPH.0),外部中断0优先级设定位; ▪PT0(IPH.1),定时/计数器T0优先级设定位; ▪PX1(IPH.2),外部中断0优先级设定位; ▪PT1(IPH.3),定时/计数器T1优先级设定位; ▪PS (IPH.4),串行口优先级设定位; ▪PT2 (IPH.5) ,定时/计数器T2优先级设定位。
第5章 单片机中断及定时计数器控制
2、SCON的中断标志
▪RI(SCON.0),串行口接收中断标志位。当允 许串行口接收数据时,每接收完一个串行帧,由 硬件置位RI。注意,RI必须由软件清除。 ▪TI(SCON.1),串行口发送中断标志位。当 CPU将一个发送数据写入串行口发送缓冲器时, 就启动了发送过程。每发送完一个串行帧,由硬 件置位TI。CPU响应中断时,不能自动清除TI, TI必须由软件清除。
自
低
0
然
级
优
先
级 中断入口
中断源
第5章 单片机中断及定时计数器控制
第5章AT89S52定时器计数器
图5-2 TMOD格式
8位分为两组,高4位控制T1,低4位控制T0。 TMOD各位的功能。 (1)GATE———门控位。
0:仅由运行控制位TRx(x = 0,1)来控制定时器/计数器运 行。
1:用外中断引脚( INT0*或 INT1*)上的电平与运行控制 位TRx共同来控制定时器/计数器运行。
9
5
5.1 定时器/计数器的结构 定时器/计数器T1、T0结构如图5-1所示,T0由特殊功能
寄存器TH0、TL0构成,T1由特殊功能寄存器TH1、TL1构成。
图5-1 定时器/计数器T0、T1结构框图
6
具有定时器和计数器2种工作模式,4种工作方式(方式0、 方式1、方式2和方式3)。属于增1计数器。
定时器/计数器T0分为两个独立的8位计数器TL0和TH0, TL0使用T0的状态控制位C/T*、GATE、TR0、TF0 ,而TH0
23
被固定为一个8位定时器(不能作为外部计数模式),并使用 定时器T1的状态控制位TR1和TF1,同时占用定时器T1的中断 请求源TF1。 2.T0工作在方式3时T1的各种工作方式
P1.0输出;T2OE=0,禁止定时时钟从P1.0输出。 DCEN(D0):计数方式选择。DCEN=1,T2的计数方式
由P1.1引脚状态决定。P1.1=1,T2减计数,P1.1=0,T2加 计数;DCEN=0,计数方式与P1.1无关,同T1和T0一样,采 用增1计数。
31
2. 特殊功能寄存器T2CON T2的功能选择由特殊功能控制寄存器T2CON来设定,
(2)M1、M0——工作方式选择位 M1、M0共有4种编码,对应于4种工作方式的选择,如
表6-1所示。
10
(3)C/T*—计数器模式和定时器模式选择位 0:为定时器工作模式,对单片机的晶体振荡器12分频后的
单片机原理与应用实验报告5——秒表定时器实验
大连理工大学软件学院《单片机原理与应用》实验报告姓名:学号:班级:姓名:学号:班级:组号:实验箱编号:实验时间:月日实验室:嵌入式实验室实验台:Embest Edukit-III平台指导教师:侯刚成绩:实验五:秒表定时器实验一、实验目的和要求题目:秒表定时器实验实验目的1. 学习单片机的基本接口技术。
2. 学习74HC595、74HC138使用及与51单片机的控制方法。
实验要求1.通过按键控制,完成数码管的显示计数控制。
2. 用汇编语言设计程序,完成8个数码管的显示控制。
当按下INT 按钮时,数码管开始快速计时,高五位为秒数,低三位为ms 数,每1ms 刷新一次显示内容。
当再次按下INT 按钮时,停止计数。
二、实验原理和内容实验内容:用汇编语言设计程序,完成8个数码管的显示控制。
当按下INT 按钮时,数码管开始快速计时,高五位为秒数,低三位为ms 数,每1ms 刷新一次显示内容。
当再次按下INT 按钮时,停止计数。
实验原理:1.根据原理图,分析工作原理,有P0进行取段码,P2.0 P2.1 P2.2进行取位码。
2.使用定时器进行计时。
根据所给开发板上的晶振频率,计算出计时器所付初值,设置计时器TO在模式下工作,每次计时100ms后,转入数码管显示中断处理程序。
3.实验板为共阴极数码管显示,将对应的显示0~9的电信号依次存储在“数组表”中。
4.使用key1,key2两个按键,按下key1,开始计时。
按下key2,计时停止。
5.根据实验要求,采用T0,T1两个定时器,其中T0用来增加时间显示,T1为按暂停键时为LED显示管循环上电所用。
6.每部分中断程序用寄存器间接寻址的方式获取显示数字的电信号量。
并进行循环上电,保证数字的亮度。
三、主要仪器设备及软件编程环境主要仪器:计算机编程软件,51电路开发板编程环境:uVision2 ,progisp烧写软件四、实验步骤与编程实验步骤:编写代码,编译,调试,烧写,完成实验。
单片机定时器用途原理及学习应用详解
单片机定时器作用原理及学习应用详解定时器是单片机的重点中的重点,但不是难点,大家一定要完全理解并且熟练掌握定时器的应用。
定时器的初步认识时钟周期:时钟周期T是时序中最小的时间单位具体计算的方法就是1/时钟源,如果大家用的晶振是11.0592M,那么对于这个单片机系统来说,时钟周期=1/11059200秒。
机器周期:我们的单片机完成一个操作的最短时间。
机器周期主要针对汇编语言而言,在汇编语言下程序的每一条语句执行所使用的时间都是机器周期的整数倍,而且语句占用的时间是可以计算出来的,而C 语言一条语句的时间是不可计算的。
51单片机系列,在其标准架构下一个机器周期是12个时钟周期,也就是12/11059200秒。
现在有不少增强型的51单片机,其速度都比较块,有的1个机器周期等于4个时钟周期,有的1个机器周期就等于1个时钟周期,也就是说大体上其速度可以达到标准51架构的3倍或12倍。
因为我们是讲标准的51单片机,所以我们后边的课程如果遇到这个概念,全部是指12个时钟周期。
这两个概念了解即可,下边就来我们的重头戏,定时器和计数器。
定时器和计数器是单片机内部的同一个模块,通过配置SFR(特殊功能寄存器)可以实现两种不同的功能,我们大多数情况下是使用定时器功能,因此我们的课程也是主要来讲定时器功能,计数器功能大家自己了解下即可。
顾名思义,定时器就是用来进行定时的。
定时器内部有一个寄存器,我们让它开始计数后,这个寄存器的值每经过一个机器周期就会加1 一次,因此,我们可以把机器周期理解为定时器的计数周期。
我们的秒表,每经过一秒,数字加1,而这个定时器就是每过一个机器周期的时间,也就是12/11059200秒,数字加1。
还有一个特别注意的地方,就是秒表是加到60后,秒就自动变成0 了,这种情况在单片机和计算机里我们称之为溢出。
那定时器加到多少才会溢出呢?定时器有几种模式,假如是16位的定时器,也就是2个字节,最大值就是65535,那么加到65535后,再加1就算溢出,如果有其他位数的话,道理是一样的,对于51单片机来说,溢出后,这个值会直接变成0。
单片机原理及应用C语言版定时器课件
可编程计数器
允许用户根据需要设置计数器的初始值和计 数模式。
同步/异步模式
定时器可以在同步或异步模式下工作,适应 不同工作场景。
定时器的优化方法
01
算法优化
采用更高效的算法来减少定时器启 动和停止的延迟。
中断优先级调整
根据应用需求调整定时器中断优先 级,确保及时响应。
03
02
硬件资源共享
将定时器与其他硬件模块共享,提 高资源利用率及如何设置和改变中断优 先级。
03
单片机定时器的应用实例
定时器在LED闪烁中的应用
总结词
实现LED的闪烁效果
详细描述
利用单片机定时器产生一定频率的计时中断,在中断服务程序中控制LED的亮灭 状态,从而实现LED的闪烁效果。
定时器在电机控制中的应用
总结词
实现电机的速度控制
单片机原理及应用C 语言版定时器课件
xx年xx月xx日
• 单片机定时器原理 • 单片机定时器的C语言编程 • 单片机定时器的应用实例 • 单片机定时器的调试与测试 • 单片机定时器的扩展与优化
目录
01
单片机定时器原理
定时器的基本概念
定时器
是一种用于产生固定时间延迟或计数的硬件或软 件模块。
定时器类型
单片机开发环境、仿真器等。
万用表、示波器、逻辑分 析仪等。
硬件工具
软件工具
调试环境
调试步骤与方法
硬件连接
软件编程
将单片机开发板与电脑连接,并确保电源 线连接正确。
在单片机开发环境中编写C语言程序,实现 定时器功能。
编译与烧录
将程序编译后烧录到单片机中。
调试过程
通过观察单片机的输入输出信号,使用调 试工具对定时器进行调试,确保其正常工作。
《单片机原理及应用》第5章 定时器及应用
计数工作方式
通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。 当输入脉冲信号产生由1至0的下降沿时定时器的值加1。 CPU检测一个1至0的跳变需要两个机器周期,故最高计 数频率为振荡频率的1/24。 为了确保某个电平在变化之前被采样一次,要求电平保持 时间至少是一个完整的机器周期。 对输入脉冲信号的基本要求如图5-2所示。
外部事件
计数电路 时间单位脉冲 单片机 计数完成信号
5.2 89C51定时器概述
• 89C51有两个16位的定时器/计数器,即定时器0(T0)和 定时器1(T1)。它们实际上都是16位加1计数器。 • T0由两个8位特殊功能寄存器TH0和TL0构成;T1由TH1 和TL1构成。
• 每个定时器都可由软件设置为定时工作方式或计数工作方
• 例:当P3.4引脚上的电平发生负跳变时,从P1.0输出一个 500μs的同步脉冲。请编程序实现该功能。查询方式, fosc=6MHz。
解:(1)模式选择 选T0为模式2,外部事件计数方式。当P3.4引脚上的电平发生 负跳变时,T0计数器加1,溢出标志TF0置1;然后改变T0为 500μs定时工作方式,并使P1.0输出由1变为0。T0定时到产生 溢出,使P1.0输出恢复高电平,T0又恢复外部事件计数方式。
T0的低5位:01100B=0CH即(TL0)=0CH T0的高8位:11110000B=F0H即(TH0)=F0H
(2)计算最大定时时间T
T0的最大定时时间对应于初值为0. 则:T=213×1/6 × 10-6×12=16.384ms
例2:利用T0的工作模式0产生1ms定时,在P1.0引脚输出 周期为2ms的方波。设单片机晶振频率fosc=12MHz。编 程实现其功能。 解:要在P1.0引脚输出周期为2ms的方波,只要使P1.0每隔 1ms取反一次即可。 (1)选择工作模式 T0的模式字为TMOD=00H,即 M1M0=00,C/T=0,GATE=0,其余位为0。 (2)计算1ms定时时T0的初值
单片机原理第5章定时、计数器
5.2.2 控制寄存器 控制寄存器TCON
5,控制寄存器TCON初始化设置 ,控制寄存器 初始化设置
0
0 1
0
1 0 1
0
0
0
0
复位时, 的所有位被清0. 复位时,TCON的所有位被清 的所有位被清 要启动,关闭 , 要启动,关闭TI, T0,需对 ,需对TR1,TR0用 , 用 软件设置: 软件设置: SETB TRx;启动 ; CRL TRx;关闭 ; 也可以用传送指令 MOV TCON,#50H , 同时启动T0, 同时 同时启动 ,T1同时 使用电平触发方式. 使用电平触发方式.
时钟 振荡 ÷12
2,脉冲计数 , 每来1个脉冲,计 每来 个脉冲, 个脉冲 数器加1. 数器加 .
C P U
T0 TL0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
溢 出 启动 TH0 工作 方式
TCON
TMOD
中断
5.1 定时器的结构及工作原理
1,计数脉冲来源 ,
(P3.4)
INT0(INTI)=1 指令 SETB TR0(TR1) 启动定时/计数器 启动定时 计数器T0(T1) 计数器
1
5.2.2 控制寄存器 控制寄存器TCON
1,溢出标志位 TFx
0 1
TFl(TCON.7):T1溢出标志位.当T1溢出时由硬 : 溢出标志位 溢出标志位. 溢出时由硬 件自动使中断触发器TFl置1,并向 申请中断. 件自动使中断触发器 置 ,并向CPU申请中断. 申请中断 响应进入中断服务程序后, 当CPU响应进入中断服务程序后,TFl又被硬件 响应进入中断服务程序后 又被硬件 自动清0. TFl也可以用软件清 . 自动清 . 也可以用软件清0. 也可以用软件清 TF0(TCON.5):T0溢出标志位.其功能和操作同 : 溢出标志位 其功能和操作同TFl 溢出标志位.
《单片机原理及应用》教学课件 第5章 定时器/计数器及应用
•
当M1M0=01时,T0采用方式1工作,如图5-3所示,此时T0是
TL0和TH0构成16位的定时/计数器,最大计数值为216=65536,其
他特性和方式0相似。
图5-3 定时/计数器T0工作方式1的原理图
• 【例5-2】利用定时器0产生10Hz的方波,由口输出,设晶振频 率为12MHz。
•
分析如下:
序,通过口输出高、低电平均为1s的方波〔假
设单片机采用12MHz的晶振〕。
• 分析如下:
•
12MHz的晶振,机器周期为1us,各种工
作方式直接定时的最大定时时间分别为:
• 方式0:213=
• 方式1:216=65536us=
• 方式2、3:28=256us
•
编程思路:
• 任何一种方式都无法直接实现1s的定时,
• 工作在定时器模式时,是对内部机器周期脉冲进 行计数,定时时间为机器周期脉冲的时间乘以机器周 期数;工作在计数器模式时,是对引脚T0〔〕或T1〔 〕上输入的外部脉冲计数,当检测到引脚上的信号由 高电平跳变到低电平时,计数器加1。
• 无论处在定时模式或者计数模式,其本质只是一 个加1计数器,每输入一个脉冲,计数器加1。当计数 器全部为1后,假设还有脉冲输入,此时计数器将产生 溢出〔计数器中的值为0〕,向CPU发出中断请求〔内 部中断〕。
• 5.1.1 定时器/计数器结构
•
8051单片机包含两个16位的定时/计数器
,分别为定时/计数器0〔T0〕,定时/计数器1
〔T1〕,其结构如图5-1所示。
图5-1 定时/计数器结构图
• 5.1.2 定时器/计数器的工作原理
• 在图5-1中我们看到,定时/计数器有两个输入脉冲 ,一个是内部机器周期脉冲,一个是T0或T1引脚输入 的外部脉冲。
单片机原理及应用课后习题答案第5章作业
第五章中断系统作业1. 外部中断1所对应的中断入口地址为()H。
2. 对中断进行查询时,查询的中断标志位共有、_ _、、_ 和_ 、_ _ 六个中断标志位。
3.在MCS-51中,需要外加电路实现中断撤除的是:()(A) 定时中断(B) 脉冲方式的外部中断(C) 外部串行中断(D) 电平方式的外部中断4.下列说法正确的是:()(A) 同一级别的中断请求按时间的先后顺序顺序响应。
()(B) 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
()(C) 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。
()(D) 同级中断不能嵌套。
()5.在一般情况下8051单片机允许同级中断嵌套。
()6.各中断源对应的中断服务程序的入口地址是否能任意设定? ()7.89C51单片机五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断。
()8.各中断源发出的中断申请信号,都会标记在MCS-51系统中的()中。
(A)TMOD (B)TCON/SCON (C)IE (D)IP9. 要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是()(A)98H (B)84H (C)42 (D)22H10.编写出外部中断1为负跳沿触发的中断初始化程序。
11.什么是中断?其主要功能是什么?12. 什么是中断源?MCS-51有哪些中断源?各有什么特点?13. 什么是中断嵌套?14.中断服务子程序与普通子程序有哪些相同和不同之处?15. 中断请求撤除的有哪三种方式?16. 特殊功能寄存器TCON有哪三大作用?17. 把教材的P82页的图4.24改为中断实现,用负跳变方式,中断0(INT0)显示“L2”,中断1(INT1)显示“H3”。
(可参考第四章的电子教案中的例子)18.第5章课后作业第9题。
第五章中断系统作业答案1. 外部中断1所对应的中断入口地址为(0013)H。
单片机定时器计数器应用
为了获得1秒时间,T0中断需要发生200次。程序包含主函
数,T0的初始化函数和T0中断服务函数,显示语句放在中
断服务函数内,程序如下:
/******************************************************************/ #include<reg51.h> code unsigned char seven_seg[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char cp,i; //声明全局变量 void timer0_isr(void) interrupt 1 // timer0中断服务函数 { TR0 = 0; //停止计数 TL0 = 0x78; // TL0重新预置 TH0 = 0xec; // TH0重新预置 TR0 = 0; //开始计数 cp++; // timer0中断1次,变量cp加1 if(cp == 200) //中断200次,时间刚好为1秒 { cp = 0; i ++; }
项目5 单片机定时器/计数器应用
5.1任务说明
任务:利用单片机内部定时器/计数器中断实现一个数码管 的秒记数,重点学习定时器/计数器的工作方式以及
其控制寄存器TMOD、TCON的功能,在程序实现
过程中掌握定时器/计数器中断的一般步骤。
5.2 单片机的定时/计数器结构
51单片机内部含有两个定时器/计数器,分别是T0和 T1,在增强型51系列单片机中,如STC89C51RC,内部出了 含有T0和T1外,还有T2定时器/计数器。定时器/计数器主 要由于精确的定时,也可用于对外部脉冲进行计数以及为
第5章 定时计数器
图4-11 定时/计数器T0方式0的逻辑结构示意图
2. 方式1 当M1M0=01时,定时/计数器工作于方式1。方式1的计 数位数是16位,由TL0作为低8位,TH0作为高8位共同构 成。其余操作同方式0。
2.定时/计数器控制寄存器TCON TCON的低4位用于控制外部中断,高4位用于控 制定时/计数器的启动和中断申请。 TF0(或TF1)
当计数溢出时,TF0(或TF1)会自动由0变1, 告诉我们计数已满,我们可以通过查询TF0(或TF1) 位的状态来判断计时时间是否已到;
如果采用定时中断方式,则 由0变1时,能自动引发中断。 TF0(或TF1)
16位定时/计数器的计数容量是65536
假设计满一小时需要100,000,000 滴,这称为水钟的计数容量
(2)定时 单片机内部的计数器用作定时器时,是对标准的 时钟进行了计数,每来一个时钟脉冲,计数器加1, 计数器如何能作为定时 只要保证计数脉冲的间隔相等,则计数值就代表了 器使用呢? 时间的流逝。 单片机中的定时器和计数器其实是一个器件: 计数器:是对外部发生的事件进行计数, 定时器:是对单片机内部的标准时钟脉冲进行 计数。
TR0(或TR1) 由图4-11 可知,只有 当TR0(或TR1)为1时,开 关1才能闭合,计数脉冲才 能进入计数器,故TR0(或 TR1)称为运行控制位,可 用指令“SETB TR0(或 TR1)”来置位以启动定时/ 计数器运行;或用指令 “CLR TR0(或TR1)”来关 闭定时/计数器的工作,一 切全靠编程人员控制。
2.初始化程序:
MOV MOV MOV MOV TMOD,#06H TH0,#0F4H TL0,#0F4H IE ,#00H ;T0作计数器,工作于方式2 ;装入时间常数初值 ;自动重装时间常数 ;用查询方式确定计满12盒? ;自动申请中断
单片机定时器的原理与应用
单片机定时器的原理与应用1. 引言单片机定时器是基于定时计数的功能模块,广泛应用于嵌入式系统中。
它可以帮助我们实现精确的定时和计时功能,对于许多嵌入式应用来说,定时器是至关重要的。
本文将介绍单片机定时器的原理及其应用。
2. 单片机定时器原理单片机定时器通常由一个时钟源和一个计数器组成。
定时器根据时钟源的信号进行计数,并在计数达到预设值时触发中断或执行相应的操作。
2.1 时钟源时钟源是单片机定时器中最关键的部分之一。
它提供了稳定而准确的时钟信号,用于计算时间。
常见的时钟源包括外部晶振和内部振荡器。
2.2 计数器计数器是定时器的核心组件,用于计数时钟源的脉冲。
它可以是8位、16位或更高位的寄存器。
定时器的计时精度取决于计数器的位数。
2.3 控制寄存器控制寄存器用于设置和控制定时器的工作模式、计数方向、预设值等。
通过对控制寄存器的编程,我们可以灵活地配置定时器的功能。
3. 单片机定时器的应用单片机定时器在嵌入式系统中有广泛的应用,下面介绍几个常见的应用场景。
3.1 定时中断定时中断是单片机定时器最常见的应用之一。
通过设置定时器的预设值和工作模式,我们可以实现周期性地定时中断。
在中断服务程序中,我们可以执行一些特定的操作,如更新显示、数据采集等。
3.2 脉冲生成单片机定时器可以用来生成不同频率和占空比的脉冲信号。
通过设置定时器的计数值和工作模式,我们可以控制脉冲的频率和占空比,并将其输出到所需的引脚。
3.3 软件延时在某些应用中,需要进行精确的时间控制,比如串口通信、驱动显示等。
单片机定时器可以用作精确的软件延时控制,通过设置合适的工作模式和计数值,我们可以实现精确的微秒级延时。
3.4 计时功能单片机定时器还可以用来计时。
通过将计数器与外部事件结合使用,可以记录事件的持续时间或频率。
这在许多应用中都非常有用,比如测量脉冲宽度、测量信号频率等。
4. 总结单片机定时器是嵌入式系统中非常重要的功能模块,它可以实现精确的定时和计时功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
章
1.当设置为定时工作方式时,对机器周期TM计数。这时计数器的计数脉冲 由振荡器的12分频信号产生,即每经过一个机器周期,计数值加1,直至
计满溢出。在机器周期固定的情况下,定时时间的长短与计数器事先装入
定 的初值有关,装入的初值越大,定时越短。
时
计 2.当设置为计数工作方
数 式时,通过引脚T0(P3.4)
5 MCS-51 /
3. 方式2(T0/T1)
定时/计数器工作
第 于方式2时,将两
章 个 8 位 计 数 器 THx 、
TLx 分 成 独 立 的 两
部分,组成一个可
定 自动重装载的8位
时 定时/计数器。
计
数 器
方式2的控制运行与方式0、方式1相同。
及 其
定时工作方式时,定时时间t=(28—计数初值X)×机器周期
(1)加1计数器为13位TL0=5位,TH0=8位
第 (2)(GATE+INT0)•TR0为真,启动定时器
章
(3)C/T=1为计数工作方式,计数脉冲由T1引
脚输入。计数个数 N=( 213—初值)
(4)C/T=0为定时工作方式
时钟频率 fosc/12。
定 时
计
数 定时时间t=(213—初值)*机器周期
章 1)TH0和TL0变成2个分开的 计数器。 TL0进行8位定时/计
数,TH0进行8位定时
定 时
2)TL0占用了全部的定时器 控制位(C/T,GATE,TR0,TF0)
计 3)TH0只能用于定时方式,
数 器
5.1 定时/计数器的结构与工作原理
5.1.1 定时/计数器的逻辑结构
MCS-51子系列单片机内的两个定时器/计数器T0和T1逻辑结构如图所示:
第 章
5 MCS-51 /
定 时
计
数
器
及
其
应 用
16位的定时器/计数器分别由两个8位专用寄存器TH0、TL0(或
THl和TL1)构成。其内部还有2个8位的专用寄存器TMOD和TCON。
第5章 定时/计数器及其应用 主要内容:
定时/计数器的结构与工作原理 定时/计数器的工作方式 定时/计数器的编程应用 定时/计数器T2的结构与原理 定时/计数器T2应用举例
第5章 MCS-51定时/计数器及其应用
5 MCS-51 /
将计算机应用于测控系统时,常常需要有实时时钟以实 第 现定时或延时采样和控制,有时需要对外部事件进行计
应 用
计数工作方式时,最大计数值(初值=0时)是28。
方式2特别适合于用作较精确的定时和脉冲信号发生器,
常用作串行口波特率发生器 。
5.2 定时/计数器的控制与工作方式
4.方式3
5 MCS-51 /
方式3只适用于定时器T0。在方式3下,T0被分成两个相 第 互独立的8位计数器TL0和TH0,如图所示 。
定 (5) IE1 外部中断1请求标志
时 计
(6)
IT1
外中断1触发方式选择位
数 (7) IE0 外部中断0请求标志
器 及
(8)
IT0
外部断0触发方式选择位
其
应 用
注意:
SETB TR0
复位后TMOD、TCON各位均清零
5.2 定时/计数器的控制与工作方式
5 MCS-51 /
1.方式0(T0/T1)
第 结构、操作及运行控制几乎与方式0完全—样,差别仅在于计 章 数器的位数不同。在方式1中TL0和TH0均为8位,TL0和
TH0一起构成了l6位计数据。工作方式1时,定时时间为:
t=(216-计数初值)×机器周期
定
时
计 用于计数器工作方式时
数 器
最大计数值为
及 其
216=65536。
应 用
5.2 定时/计数器的控制与工作方式
5.2 定时/计数器的控制与工作方式
5 MCS-51 /
(1)M1 M0:用于设置定时/计数器的 工作方式0~3 ;
(2) C/T:选择定时/计数——;
第
C/T=0---定时,C/T=1---
章 (3)GATE:启动控制方式选择
GATE=0:允许软件位TR0或TR1启动;
GATE=1:允许外部引脚信号
器 及 其
和T1(P3.5)对外部脉冲信 号计数。当T0或T1脚上
应 输人的脉冲信号出现由1
用 到0的负跳变时,计数器
值加1。
5.2 定时/计数器的控制与工作方式
5.2.1 定时/计数器的管理与控制
问题 1. 定时/计数方式如何设定?
第
2、定时/计数器如何启动?
章
3、定时/计数的初值如何计算?
5 MCS-51 /
定 时
INT0/INT1启动。
计 数 器 及 其 应 用
5.2 定时/计数器的控制与工作方式
2、定时器控制寄存器TCON
5 MCS-51 /
第 (1) TF1 定时器1溢出标志
章 (2) TR1 定时器1运行控制位
(3) TF0 定时器0溢出标志 (4) TR0 定时器0运行控制位
例:启动T0工作,用指令
章
数等。虽然定时的实现可由CPU利用软件编程来完成,
但这样就会降低CPU的效率,这时可使用硬件定时计数
定 器。
时 计
MCS-51子系列单片机内有两个可编程的定时/计数器
数 T0和T1;MCS-52子系列中除这两个定时器外,还有一
器
及 个定时/计数器T2。
其
应 用
可编程:可由用户程序选择其工作方式
设定其工作参数和条件。
器 及
(5)计数器溢出,TF1置1。由硬件申请中断。——能否被CPU响应?
其
应 由于在应用方式0时计数初值的写入要注意“低5高8”,初
用 学者容易出错,一般情况下很少用方式0,而选用方式1。
5.2 定时/计数器的控制与工作方式
2.方式1(T0/T1)
5 MCS-51 /
定时/计数器工作于方式1时为一个16位的计数器。其逻辑
其中TMOD是定时器的工作方式寄
5.1 定时/计数器的结构与工作原理
5 MCS-51 /
5.1.2 定时/计数器的工作原理
它的核心部件是加1计数器,其输入的计数脉冲有两个来源。当加到计
数器为全“1”时,再输入一个脉冲,就使计数器回零,同时产生溢出脉 第 冲使TCON中溢出中断标志TF0或TF1置1,并可向CPU申请中断。
1.工作方式寄存器TMOD
定 时 计
用于选定定时/计数器的工作方式、启动方式等。其中低四 位用于定义定时器T0,高四位用于定义定时器T1。
数
器
D7
D6 D5 D4 D3 D2 D1 D0
及
其 应
TMOD GATE C/T
M1 M0 GATE C/T M1 M0 字节地址:89H
用
控 制 T1
控 制 T0