中断和定时器的使用方法

合集下载

定时器和中断

定时器和中断

定时器和中断的应用前景
工业自动化
定时器和中断在工业自动化领域具有广泛 的应用前景,如生产线控制、机器人控制
等。
智能交通
在智能交通领域,定时器和中断可以实现 交通信号灯的智能控制和车辆的自动化调
度。
智能家居
在智能家居领域,定时器和中断可以实现 家电的智能控制和自动化管理,提高生活 品质。
医疗设备
在医疗设备领域,定时器和中断可以实现 医疗设备的自动化控制和精确计时,提高 医疗设备的可靠性和安全性。
定义
中断是一种硬件或软件事件,它能够打断正在执行的程序,并将其控制权交给 中断处理程序。
作用
中断是计算机系统中非常重要的机制,它使得CPU能够响应各种突发事件,如 硬件故障、外部信号、定时器超时等,从而实现多任务并发处理和实时性要求。
中断的分类
硬件中断
由硬件设备产生的中断,如键 盘输入、时钟中断等。
中断
用于需要实时响应的场景,如键盘输 入、串口通信等。
04
定时器的应用
BIG DATA EMPOWERS TO CREATE A NEW
ERA
定时器的使用场景
01
02
03
04
时间基准和同步
用于提供稳定的时间基准,如 系统时钟。
任务调度
用于安排任务在特定时间执行 。
性能测试和测量
用于测量代码执行时间或系统 性能。
网络定时器
用于网络通信的定时器, 如用于数据包发送间隔控 制的定时器。
定时器的工作原理
硬件定时器工作原理
基于硬件电路的定时器通常由振荡器和计数器组成,振荡器产生固定频率的脉冲信号,计 数器对脉冲信号进行计数,当计数达到预设值时,产生中断或触发信号。

中断的使用流程

中断的使用流程

中断的使用流程1. 概述中断是计算机系统中的重要概念,用于改变程序的正常执行流程。

本文将介绍中断的基本原理和使用流程。

2. 中断的基本原理中断是一种异步事件,可以分为硬件中断和软件中断两种类型。

硬件中断由外部设备发起,例如键盘输入或定时器事件;软件中断则是程序内部发起的,通过软件指令触发。

3. 中断的使用流程下面是中断的使用流程简述: 1. 初始化中断处理程序:编写中断处理程序,并将其与特定的中断号关联起来。

2. 开启中断:通过设置相应的标志位或寄存器,告诉系统允许中断事件的发生。

3. 等待中断事件:程序进入一个循环,不断检测是否发生中断事件。

可以使用轮询或阻塞等方式进行等待。

4. 检测中断类型:当中断事件发生时,系统会根据中断号来确定具体的中断类型。

5. 执行中断处理程序:系统会根据中断类型,调用相应的中断处理程序进行处理。

6. 中断处理程序执行完毕:中断处理程序执行完毕后,系统会返回到原来的执行流程。

4. 中断的优点中断机制具有以下优点: - 提高系统的并发性:通过中断机制,可以在处理某个事件时,同时处理其他事件,提高系统的并发性。

- 提高系统的实时性:中断能够迅速打断程序的执行,优先处理紧急事件,提高系统的实时性。

- 简化程序设计:通过中断机制,可以将一些常见的操作,如读取输入设备或处理定时器事件,抽象为中断处理程序,简化程序设计。

5. 中断的注意事项在使用中断时,需要注意以下问题: - 中断处理程序应尽量简短,避免长时间的中断服务例程,以免影响其他任务的执行。

- 中断处理程序中应该禁止或限制其他中断的发生,以确保中断处理程序的完整性。

- 中断处理程序需要处理所有可能的中断类型,以保证系统能够正确响应各种中断事件。

6. 总结中断是计算机系统中的重要概念,能够改变程序的正常执行流程。

本文介绍了中断的基本原理和使用流程,以及中断的优点和注意事项。

使用中断可以提高系统的并发性和实时性,简化程序设计。

定时器和中断精讲课件

定时器和中断精讲课件
根据中断源、中断方式、中断优先级等不同标准,中断可以 分为多种类型。例如,按中断源可分为硬件中断和软件中断; 按中断方式可分为脉冲中断和电平中断等。
中断优先级
在同一时刻,多个中断源同时请求中断时,系统会根据中断 优先级来决定先处理哪个中断。中断优先级高的中断会打断 优先级低的中断的处理过程。
04
中断处理过程详解
编写步 骤
中断服务程序的编写一般包括 保存现场、处理中断事件、恢 复现场和退出中断四个步骤。
处理中断事件
根据具体的中断事件进行处理, 如定时器溢出、外设数据传输 完成等。
退出中断
退出中断服务程序后,CPU会 继续执行原来的程序。
05
定时器和中断的应用场景
定时器的应用场景
01
02
03
时间间隔测量
定时器可以用于精确测量 两个事件之间的时间间隔, 常用于计算速度、频率等。
用于将系统时钟分频, 为计数器提供时钟信号。
定时器的控制寄存器
控制寄存器A
用于控制定时器的启动、停止和 重置等操作。
控制寄存器B
用于设置定时器的计数模式和时 钟源等参数。
定时器的计数寄存器
• 计数寄存器:用于存储定时器的计数值,通常是一个二进 制计数器。
定时器的比较寄存器
• 比较寄存器:用于设置定时器的比较值,当计数 器的值与比较寄存器的值相等时,定时器溢出。
定时器和中断精讲课件
目 录
• 定时器简介 • 定时器详解 • 中断简介 • 中断处理过程详解 • 定时器和中断的应用场景 • 定时器和中断的编程实例
contents
01
定时器简介
定时器的定义和作用
定义
定时器是一种能够在特定时间间隔后自动计时的电路或处理器寄存器。

中断与定时器和计数器实验

中断与定时器和计数器实验

中断与定时器和计数器实验一、实验目的:1.掌握单片机的中断的原理、中断的设置,掌握中断的处理及应用2.掌握单片机的定时器/计数器的工作原理和工作方式,学会使用定时器/计数器二、实验内容:(一)、定时器/计数器应用程序设计实验1.计数功能:用定时器1方式2计数,每计数满100次,将P1.0取反。

(在仿真时,为方便观察现象,将TL1和TH1赋初值为0xfd,每按下按键一次计数器加1,这样3次就能看到仿真结果。

)分析:外部计数信号由T1(P3.5)引脚输入,每跳变一次计数器加1,由程序查询TF1。

方式2有自动重装初值的功能,初始化后不必再置初值。

将T1设为定时方式2,GATE=0,C/T=1,M1M0=10,T0不使用,可为任意方式,只要不使其进入方式3即可,一般取0。

TMOD=60H。

定时器初值为X=82-100=156=9CH,TH1=TL1=9CH。

(1)硬件设计硬件设计如图所示(2)C源程序#include "reg51.h" sbit P1_0=P1^0;void main(){TMOD=0x60;TH1=0xfd;TL1=0xfd;TR1=1;ET1=1;while(1){if(TF1==1){P1_0=~P1_0;TF1=0;}}}(3)proteus仿真通过Keil编译后,利用protues软件进行仿真。

在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。

启动仿真,观察仿真结果。

(二)中断应用程序设计实验2.中断定时使用定时器定时,每隔10s使与P0、P1、P2和P3端口连接的发光二极管闪烁10次,设P0、P1、P2和P3端口低电平灯亮,反之灯灭。

分析:中断源T0入口地址000BH;当T0溢出时,TF0为1发出中断申请,条件满足CPU响应,进入中断处理程序。

主程序中要进行中断设置和定时器初始化,中断服务程序中安排灯闪烁;TL0的初值为0xB0,TH0的初值为0x3C,执行200次,则完成10s定时。

天脉(ACoreOS)操作系统培训第六章:异常、中断与定时器

天脉(ACoreOS)操作系统培训第六章:异常、中断与定时器

启动(或)重启动看门定时器
STATUS wdStart (WDOG_ID wdId, int delay,
FUNCPTR pRoutine,int parameter )
wdId 看门狗ID,由创建wdCreate返回源自delay 延时的tick值
pRoutine 延时时间到时调用程序
23 parameter
wdStart() + semGive():更加健壮
28
查询警告
下列代码是正确的,只有当系统时钟频率是15Hz 的整数倍
void myWdISR() {
wdStart(myWdId,sysClkRateGet()/15,myWdISR,0); pollMyDevice(); }
为了防止系统在每个时钟tick开销过大,不能 够将系统时钟频率设置过高
中断的工作原理
10
中断处理示例-PowerPC
11
中断处理示例说明
PowerPC有单独的外部中断引脚。板级支持包 (BSP)可以支持外部中断控制器实现中断嵌套。
中断表中中断入口数量取决于BSP中中断控制器的 能力。目前中断向量表最多可支持256个。
外部中断的处理流程
保存CPU寄存器 从中断控制器中读取中断号 调用用户连接的中断处理程序(用户关心) 清中断控制器状态 12 恢复CPU寄存器并返回
fooDoWork()必须每 10秒运行,如果执行小 于10秒钟,看门狗重新 启动(fooISR()没有被 调用)。如果 fooDoWork()执行时间 超过10秒钟,则看门狗 程序fooISR()将被调用 处理紧急事件
停止看门狗
取消先前启动的看门狗 STATUS wdCancel (WDOG_ID wdId)

单片机中的中断与定时器的原理与应用

单片机中的中断与定时器的原理与应用

单片机中的中断与定时器的原理与应用在单片机(Microcontroller)中,中断(Interrupt)和定时器(Timer)是重要的功能模块,广泛应用于各种嵌入式系统和电子设备中。

本文将介绍中断和定时器的基本原理,并探讨它们在单片机中的应用。

一、中断的原理与应用中断是指在程序执行过程中,当发生某个特定事件时,暂停当前任务的执行,转而执行与该事件相关的任务。

这样可以提高系统的响应能力和实时性。

单片机中的中断通常有外部中断和定时中断两种类型。

1. 外部中断外部中断是通过外部触发器(如按钮、传感器等)来触发的中断事件。

当外部触发器发生状态变化时,单片机会响应中断请求,并执行相应的中断服务程序。

外部中断通常用于处理实时性要求较高的事件,如按键检测、紧急报警等。

2. 定时中断定时中断是通过定时器来触发的中断事件。

定时器是一种特殊的计时设备,可以按照设定的时间周期产生中断信号。

当定时器倒计时完成时,单片机会响应中断请求,并执行相应的中断服务程序。

定时中断常用于处理需要精确计时和时序控制的任务,如脉冲计数、PWM波形生成等。

中断的应用具体取决于具体的工程需求,例如在电梯控制系统中,可以使用外部中断来响应紧急停车按钮;在家电控制系统中,可以利用定时中断来实现定时开关机功能。

二、定时器的原理与应用定时器是单片机中的一个重要模块,可以用于计时、延时、频率测量等多种应用。

下面将介绍定时器的工作原理和几种常见的应用场景。

1. 定时器的工作原理定时器是通过内部时钟源来进行计时的。

它通常由一个计数器和若干个控制寄存器组成。

计数器可以递增或递减,当计数值达到设定值时,会产生中断信号或触发其他相关操作。

2. 延时应用延时是定时器最常见的应用之一。

通过设定一个合适的计时器参数,实现程序的精确延时。

例如,在蜂鸣器控制中,可以使用定时器来生成特定频率和持续时间的方波信号,从而产生不同的声音效果。

3. 频率测量应用定时器还可以用于频率测量。

单片机中断、定时器的应用


80C51中断的控制 80C51中断的控制
一,中断允许控制
CPU对中断系统所有中断以及某个中断源的开放和屏 CPU对中断系统所有中断以及某个中断源的开放和屏 蔽是由中断允许寄存器IE控制的 控制的. 蔽是由中断允许寄存器IE控制的.
EX0(IE.0),外部中断0允许位; EX0(IE.0),外部中断0允许位; ET0(IE.1),定时/计数器T0中断允许位; ET0(IE.1),定时/计数器T0中断允许位 中断允许位; EX1(IE.2),外部中断0允许位; EX1(IE.2),外部中断0允许位; ET1(IE.3),定时/计数器T1中断允许位; ET1(IE.3),定时/计数器T1中断允许位 中断允许位; ES(IE.4),串行口中断允许位; ES(IE.4),串行口中断允许位; EA (IE.7), CPU中断允许(总允许)位. (IE.7), CPU中断允许 总允许) 中断允许(
80C51单片机中断处理过程 80C51单片机中断处理过程
3.2.1 中断响应条件和时间
中断响应条件
中断源有中断请求; 中断源有中断请求; 此中断源的中断允许位为1; 此中断源的中断允许位为1 CPU开中断(即EA=1). CPU开中断 开中断( EA=1).
随着计算机技术的应用, 随着计算机技术的应用,人们发现中断技 术不仅解决了快速主机与慢速I/O设备的数 术不仅解决了快速主机与慢速I/O设备的数 据传送问题,而且还具有如下优点: 据传送问题,而且还具有如下优点: 分时操作.CPU可以分时为多个I/O设备 分时操作.CPU可以分时为多个 可以分时为多个I/O设备 服务,提高了计算机的利用率; 服务,提高了计算机的利用率;
2,SCON的中断标志 SCON的中断标志
RI(SCON.0),串行口接收中断标志位.当允 RI(SCON.0),串行口接收中断标志位. ),串行口接收中断标志位

项目三定时计数器和中断系统应用


(四)中断入口地址
表3-4 中断入口地址
地址
说明
0003H~000AH
外部中断0中断地址区
000BH~0012H
定时/计数0中断地址区
0013H~001AH
外部中断1中断地址区
001BH~0022H
定时/计数1中断地址区
0023H~002AH
串行中断地址区
定时器/计数器的设计步骤 初始化的内容如下: 设置TMOD寄存器参数 计算计数初值 计算出计数初始值并写入TH0、TL0、TH1、TL1中。 计数器的初始值和实际计数值并不相同,两者的换算关系如下:设实际计数值为C,计数最大值为M,计数初始值为X,则X=M-C。其中计数最大值在不同工作方式下的值不同,具体如下:
单击此处添加文本具体内容,简明扼要地阐述你的观点
202X
项目三、定时计数器和中断系统应用
项目三、定时/计数器和中断系统应用--- 任务1.秒脉冲发生器
能力目标 1.能正确运用定时/计数器产生秒信号 2.秒脉冲发生器程序的编写 3.学会中断控制系统的应用 4.秒脉冲发生器程序的仿真调试方法 学习内容 1.掌握定时/计数器的组成及功能 2.掌握单片机内部结构资源:TH0、TL0、TH1、TL1、TMOD、TCON 3.掌握中断控制系统的概念及定时功能 4.理解预置数的用法和溢出的概念
位控制转移指令 JBC bit,rel; 若(bit)=1时,则转移到标号对应的地址,并且同时bit←0。 例如:JBC TF0,NEXT; 若定时器0数据溢出时,即TF0=1时,则转移到标号NEXT对应的地址,并且同时清定时溢出标志TF0←0,这样下次就可以重新定时/计数。
比较转移指令 CJNE A,#data,rel; ≠data,PC+3+rel跳转到目标地址, =data,PC+3顺序向下执行。 CJNE A,direct,rel; CJNE Rn,#data,rel; CJNE @Ri,#data,rel;

单元3 中断与定时


AT89S52单片机中断与定时
图3-3
单元3
AT89S52单片机中断与定时
(一)定时器/计数器控制寄存器TCON
TCON为定时器/计数器的控制器,它也
锁存外部中断请求标志,其格式如下:
D7 D6 D5 D4 D3 D2 IT1 8AH D1 IE0 89H D0 IT0 88H TCON (88H) TF1 TR1 TF0 TR0 IE1 位地址 8FH 8EH 8DH 8CH 8BH
单元3
AT89S52单片机中断与定时
(三)中断允许控制寄存器IE
D7 D6 D5 D4 D3 D2 D1 D0 IE (A8H) EA —— ET2
ES
ET1 EX1 ET0 EX0
位地址 AFH AEH ADH ACH ABH AAH A9H A8H
与中断有关的控制位共7位 EA: 中断允许总控制位。
单元3
AT89S52单片机中断与定时
(二)中断系统的应用
中断管理与控制程序一般包含在主程序中,
根据需要通过几条指令来实现,例如CPU开中
断,可用指令“SETB EA”或“ORL IE, #80H”来实现,关中断可用指令“CLR EA”, 或“ANL IE,#7FH”来实现。
单元3
AT89S52单片机中断与定时
当定时器/计数器发生溢出,便激活中断。
外部计数中断请求信号是脉冲的负跳变引起。
单元3
AT89S52单片机中断与定时
(三)串行中断
串行中断是为串行通信的而需要 设置的。当串行口发送完或接收完一 帧信息时,单片机内部硬件便自动串 行发送或接收中断标志位置1。当 CPU查询到这些标志位为1时,便激 活串行中断。串行中断是由单片机内 部自动发生的,不需要在芯片外设置 引入脚。

c51单片机的定时器和中断


二、方式1 方式
方式1结构 图6-5 T0 (或T1) 方式 结构 或
三、方式2 方式
TMOD 申请 TCON 中断 D7 TF1 TR1 TF0 TR0 T1引脚 溢出 TL1 重装初值控制 TH1 8位 &
≥1
0 1
M0 M1 C/T
D4
1
1 0
机器周期
GATE D7
1 INT1引脚
D0
方式2结构 图6-6 T0 (或T1) 方式 结构 或
图6-3 方波硬件设计和仿真波形
(2)源程序 ) //中断方式 中断方式 #include "reg51.h" #include "stdio.h" Uart_Init(); sbit P1_1=P1^1; void main() { TMOD=0X01; // T0工作在方式 工作在方式1 工作在方式 TL0=0xB0; //给TL0置初值 给 置初值 TH0=0x3c; //给TH0置初值 给 置初值 ET0=1; //开串行口中断 开串行口中断 EA=1; TF0=0; TR0=1; //启动 启动T0 启动 while(1) ; //设置断点处 设置断点处 } void Int_T0() interrupt 1 using 2 { TL0=0xB0; TH0=0x3c; //重赋初值 重赋初值 P1_1=!P1_1; //定时时间到 定时时间到P1_1取反 定时时间到 取反 printf("Timer1 overflow in Mode 1\n");/* 定时 溢出后, 器0溢出后,输出提示信息 */ 溢出后 }
计数器控制寄存器TCON 三、定时/计数器控制寄存器 定时 计数器控制寄存器
定时器控制字TCON的格式如下。 位地址 位符号 8FH TF1 8EH TR1 8DH TF0 8CH TR0 8BH IE1 8AH IT1 89H IE0 88H IT0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PT1(IP.3),定时/计数器 T1 优先级设定位;
PS (IP.4),串行口优先级设定位;
PT2 (IP.5)
Байду номын сангаас注意
,定时/计数器 T2 优先级设定位。
80C52 单片机有四个中断优先级,即可实现四级中断服务嵌套。每个中断源的中 断优先级由中断优先级寄存器 IP 和 IPH 中的相应位的状态来规定的 。
3.3.1 定时/计数器的结构和工作原理 一、定时/计数器的结构
定时/计数器的实质是加 1 计数器(16 位),由高 8 位和低 8 位两个寄存器组成。 TMOD 是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON 是控制 寄存器,控制 T0、T1 的启动和停止及设置溢出标志。
T1引 脚
TH1
同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的 中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:
80C51 单片机的中断优先级有三条原则:
CPU 同时接收到几个中断时,首先响应优先级别最高的中断请求。 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。 正在进行的低优先级中断服务,能被高优先级中断请求所中断。 为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优 先级状态触发器。其中一个置 1,表示正在响应高优先级的中断,它 将阻断后来所有的中断请求;另一个置 1,表示正在响应低优先级中 断,它将阻断后来所有的低优先级中断请求。
GATE:门控位。GATE=0 时,只要用软件使 TCON 中的 TR0 或 TR1 为 1,就 可以启动定时/计数器工作;GATA=1 时,要用软件使 TR0 或 TR1 为 1,同时外 部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动 多了一条件。
:定时/计数模式选择位。 CT =0 为定时模式;CT =1 为计 数模式。 M1M0:工作方式设置位。定时/计数器有四种工作方式,由 M1M0 进行设置。
二、控制寄存器 TCON
TCON 的低 4 位用于控制外部中断,已在前面介绍。TCON 的高 4 位用于控制定时/计数器 的启动和中断申请。其格式如下:
Edited by Foxit Reader Copyright(C) by Foxit Software Company,2005-2007 For Evaluation Only.
TF1(TCON.7):T1 溢出中断请求标志位。T1 计数溢出时由硬件自动置 TF1 为 1。CPU 响应中断后 TF1 由硬件自动清 0。T1 工作时,CPU 可随时查询 TF1 的 状态。所以,TF1 可用作查询测试的标志。TF1 也可以用软件置 1 或清 0,同硬 件置 1 或清 0 的效果一样。 TR1(TCON.6):T1 运行控制位。TR1 置 1 时,T1 开始工作;TR1 置 0 时,T1 停止工作。TR1 由软件置 1 或清 0。所以,用软件可控制定时/计数器的启动与停 止。 TF0(TCON.5):T0 溢出中断请求标志位,其功能与 TF1 类同。 TR0(TCON.4):T0 运行控制位,其功能与 TR1 类同。
一、中断允许控制
CPU 对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器 IE 控 制的。
EX0(IE.0),外部中断 0 允许位; ET0(IE.1),定时/计数器 T0 中断允许位; EX1(IE.2),外部中断 0 允许位; ET1(IE.3),定时/计数器 T1 中断允许位; ES(IE.4),串行口中断允许位; EA (IE.7), CPU 中断允许(总允许)位
断点 主程序A 响应
返回 中断服务程序B
……
RETI
引起 CPU 中断的根源,称为中断源。中断源向 CPU 提出的中断请求。 CPU 暂时中断原来的事务 A,转去处理事件 B。对事件 B 处理完毕 后,再回到原来被中断的地方(即断点),称为中断返回。实现上述 中断功能的部件称为中断系统(中断机构)。 中断操作的优点: 分时操作。CPU 可以分时为多个 I/O 设备服务,提高了计算机的利用 率; 实时响应。CPU 能够及时处理应用系统的随机事件,系统的实时性 大大增强; 可靠性高。CPU 具有处理设备故障及掉电等突发性事件能力,从而 使系统可靠性提高
0 &
≥1
T0引脚
机器周期 1
INT0引脚
TMOD
1 M0 D0 0 M1
C/T GATE
M0 M1 C /T GATE D 7
计数个数与计数初值的关系为:
X=216 -N
二、方式 2
方式 2 为自动重装初值的 8 位计数方式。
TCON
TF1 D 7
申请 中断
TR1
TF0
溢出 TL0
TR0
TH0 8位
PX0(IPH.0),外部中断 0 优先级设定位; PT0(IPH.1),定时/计数器 T0 优先级设定位; PX1(IPH.2),外部中断 0 优先级设定位; PT1(IPH.3),定时/计数器 T1 优先级设定位; PS (IPH.4),串行口优先级设定位; PT2 (IPH.5) ,定时/计数器 T2 优先级设定位。
3.3.2 定时/计数器的控制 80C51 单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD 用于设置其工作方式;TCON 用于控制其启动和中断申请。 一、工作方式寄存器 TMOD 工作方式寄存器 TMOD 用于设置定时/计数器的工作方式,低四位 用于 T0,高四位用于 T1。其格式如下:
TL1
T0引 脚
机器周 期脉冲
TH0
TL0
TCON
TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0
外部中断相关位
T1方 式
T0方 式
内部总线 TMOD
二、定时/计数器的工作原理 加 1 计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器 输出脉冲经 12 分频后送来;一个是 T0 或 T1 引脚输入的外部脉冲源。 每来一个脉冲计数器加 1,当加到计数器为全 1 时,再输入一个脉冲 就使计数器回零,且计数器的溢出使 TCON 中 TF0 或 TF1 置 1,向 CPU 发出中断请求(定时/计数器中断允许时)。如果定时/计数器工 作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示 计数值已满。
二、中断优先级控制 80C51 单片机有两个中断优先级,即可实现二级中断服务嵌
套。每个中断源的中断优先级都是由中断优先级寄存器 IP 中的相应 位的状态来规定的 。
PX0(IP.0),外部中断 0 优先级设定位;
PT0(IP.1),定时/计数器 T0 优先级设定位;
PX1(IP.2),外部中断 0 优先级设定位;
80C51 中断系统的结构
80C51 的中断系统有 5 个中断源(8052 有 6 个) ,2 个优先级,
可实现二级中断嵌套
TCON
IE
IP
硬件查询
INT0
T0 INT1
T1 RX TX
IT0 1
0
1
IT1 1
0
1
IE0
TF0 IE1
TF1
RI
TI
≥1
EX0 1 ET0 1 EX1 1 ET1 1 ES 1
3.3.3 定时/计数器的工作方式
虽然定时器方式有四种但是主要用第一种和第二种; 一、方式 1 方式 1 的计数位数是 16 位,由 TL0 作为低 8 位、TH0 作为高 8 位,组成了 16 位加 1 计数器 。
TCON
TF1 D 7
申请 中断
TR1
溢出
TF0
TH0 TL0
TR0
8位 8位
D0
1
可见,由溢出时计数器的值减去计数初值才是加 1 计数器的计数 值。
设置为定时器模式时,加 1 计数器是对内部机器周期计数(1 个机器 周期等于 12 个振荡周期,即计数频率为晶振频率的 1/12)。计数值 N 乘以机器周期 Tcy 就是定时时间 t 。 设置为计数器模式时,外部事件计数脉冲由 T0 或 T1 引脚输入到计 数器。在每个机器周期的 S5P2 期间采样 T0、T1 引脚电平。当某周 期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器 加 1,更新的计数值在下一个机器周期的 S3P1 期间装入计数器。由 于检测一个从 1 到 0 的下降沿需要 2 个机器周期,因此要求被采样的 电平至少要维持一个机器周期。当晶振频率为 12MHz 时,最高计数 频率不超过 1/2MHz,即计数脉冲的周期要大于 2 m s。
中断的使用 中断概念:
CPU 在处理某一事件 A 时,发生了另一事件 B 请求 CPU 迅速去处理 (中断发生);
CPU 暂时中断当前的工作,转去处理事件 B(中断响应和中断服 务);
待 CPU 将事件 B 处理完毕后,再回到原来事件 A 被中断的地方继 续处理事件 A(中断返回),这一过程称为中断
4、TF1(TCON.7),片内定时/计数器 T1 溢出中断请求标志。当定时
/计数器 T1 发生溢出时,置位 TF1,并向 CPU 申请中断。
5、RI(SCON.0)或 TI(SCON.1),串行口中断请求标志。当串行口
接收完一帧串行数据时置位 RI 或当串行口发送完一帧串行数据时置
位 TI,向 CPU 申请中断。
D0
1
0 &
≥1
T0引 脚
机器周期 1
INT0引脚
TMOD
0 M0 D0 1 M1
C/T GATE
M0 M1 C /T GATE D 7
X=2 -N 计数个数与计数初值的关系为:
8
工作方式 2 特别适合于用作较精确的脉冲信号发生器。
3.3.5 定时/计数器应用举例
相关文档
最新文档