第8章 80C51的中断与定时计数器图文课件

合集下载

MCS-51的中断系统、定时.计数器课件

MCS-51的中断系统、定时.计数器课件

开系统中断 ;开INT0中断
P3.2
CLR PX0 ;设INT0为低优先级
服务
……… ORG 0500H ;INT0中断服务程序入口 CPL P3.2 ;执行应用程序
RETI
END
思考 1 、MCS-51单片机中断系统有几个中断源?分
别是什么?事先约定的优先顺序是怎样的?
2 、IE和IE分别是什么?
(1)定时器T0溢出中断,定时器T1溢出中断,外中断0,外中断1,串行口 中断;
(2)串行口中断,外中断0,定时器T0滥出中断,外中断1,定时器T1溢出 中断;
(3)外中断0,定时器T1溢出中断,外中断1,定时器T0溢出中断,串行口 中断;
(4)外中断0,外中断1,串行口中断,定时器T0溢出中断,定时器T1溢出 中断;
◆2个中断优先级
高优先级 低优先级
每个中断源都可 设置为高或低优
先级
中断的开/关设置
中断允许寄存器IE ◆中断逻辑
中断优先权寄存器IP
中断的优先权设置
INT0 (P3.2) INT1 (P3.3)
5个标志触发器
2个外部中断源输入类型均可定义为电平(低电平)触发 方式或边沿(下降沿)触发方式
外 部 中 断 申 请 信 号 经 电 平 / 边 沿 选 择 逻 辑 后 送 触 发 器 IE0
或IE1保存,等待CPU响令应I 0断、IE1以及TF0 、TF1位于特殊功
CT0
能寄存器TCON中
CT1
令 TI 、 RI位 于 特 殊 功 能 寄 存 器 SCON中
计数器溢出时,溢出标志触发器TF0或TF1有效,如果这 时的中断允许是开通的,则可以向CPU申请中断,进行处理
UART

定时器和中断精讲课件

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

80C51单片机的定时计数器

80C51单片机的定时计数器

80C51单片机的定时计数器定时计数器的控制寄存器<>定时器/计数器的工作方式1.定时器/计数器的工作方式0<1)电路逻辑结构当图6-7中的计数器=13位<TH的8位与TL低5位)即得方式0的逻辑电路图。

<2)工作方式0的特点①两个定时器/计数器T0、T1均可在方式0下工作;②是13位的计数结构,其计数器由TH全部8位和TL的低5位构成<高3位不用);③当产生计数溢出时,由硬件自动给计数溢出标志位TF0<TF1)置1,由软件给TH,TL重新置计数初值。

应说明的是,方式0采用13位计数器是为了与早期的产品兼容,计数初值的高8位和低5位的确定比较麻烦,所以在实际应用中常由16位的方式1取代。

2.定时器/计数器的工作方式1<1)电路逻辑结构方式1是16位计数结构的工作方式,计数器由TH全部8位和TL全部8位构成。

其逻辑电路如图6-11所示。

<2)工作方式1的特点①两个定时器/计数器均可在方式1下工作;②是16位的计数结构,其计数器由TH的全部8位和TL的全部8位构成;③当产生计数溢出时,由硬件自动给计数溢出标志位TF0<TF1)置1,由软件给TH,TL重新置计数初值。

<3)计数/定时的范围在方式1下,当为计数工作方式时,由于是16位的计数结构,所以计数范围是:1~65536。

当为定时工作时,其定时时间=<216-计数初值)×机器周期,例如:设单片机的晶振频率f=12MHz,则机器周期为1μs,从而定时范围:1μs~65536μs。

因为80C51单片机的定时计数器是可编程的。

因此,在利用定时/计数器进行定时计数之前,先要通过软件对他进行初始化,初始化一般应进行如下工作:①设置工作方式,即设置TMOD中的各位GATE、C/T、M1M0。

②计算加1计数器的计数初值COUNT,并将计数初值COUNT 送入TH、TL中。

计数方式:计数值 = 2n – COUNT ,计数初值:COUNT= 2n –计数值。

中断系统与定时计数器基本概念与应用

中断系统与定时计数器基本概念与应用
中断系统和定时计数器基 本概念和应用
5.1.2 中断源和中断控制寄存器
⒈ 中断源
中断源是指能发出中断请求,引起中断的 装置或事件。
80C51单片机的中断源共有5个,其中2个为 外部中断源,3个为内部中断源:
⑴ INT0:外部中断0,中断请求信号由P3.2输入。 ⑵ INT1:外部中断1,中断请求信号由P3.3输入。 ⑶ T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。 ⑷ T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入。 ⑸ 串行中断:包括串行接收中断RI和串行发送中断TI。
5.1.1 中断概述
⒈ 什么叫中断?
CPU暂时中止其正在执行的程序,转去执行请求中断的 那个外设或事件的服务程序,等处理完毕后再返回执行 原来中止的程序, 叫做中断。
⒉ 为什么要设置中断?
⑴ 提高CPU工作效率 ⑵ 具有实时处理功能 ⑶ 具有故障处理功能 ⑷ 实现分时操作
中断功能强弱是计算机性能优劣
功能
D7 D6 D5 —— — —— —
—— —
D4 D3 D2 ——— ———
———
D1 TI 99H 串行发送 中断标志
D0 RI 98H 串行接收 中断标志
① TI —— 串行口发送中断请求标志 ② RI —— 串行口接收中断请求标志
中断系统和定时计数器基 本概念和应用
⑵ 中断允许控制寄存器IE
的重要标志
中断系统和定时计数器基 本概念和应用
中断涉及的几个环节 ①中断源 ②中断申请 ③开放中断 ④保护现场 ⑤中断服务 ⑥恢复现场 ⑦中断返回
中断系统和定时计数器基 本概念和应用
CPU识别中断申请的依据: CPU 在每个机器周期的S5P2期间,会自动

MCS-51终端系统教学课件PPT单片机中断定时器计数器

MCS-51终端系统教学课件PPT单片机中断定时器计数器
0:关T2 中断 1:开T2 中断 0:关所有中断 1:开所有中断
2.中断优先级寄存器IP ——中断优先级控制
•内部自然优先级: 入口地址

INT0 高 0003H

T0
000BH

INT1
0013H

T1
001BH

TI/RI 底 0023H
三、响应中断的条件及过程
中断处理过程一般分为三个阶段,即中断响应、中断处理和中断返回。
1.中断响应 (1)中断响应的条件
1)有中断源发出请求信号 2)中断是开放的(总允许、源允许) 3)没有封锁(受阻),受阻情况是:
①CPU正在执行同级或高一级的中断服务程序; ②现行机器周期不是正在执行的指令的最后一个机器周期,即现 行指令完成前.不响应任何中断请求; ③当前正在执行的是中断返回指令RETI或访问专用寄存器IE或IP 的指令。也就是说,在执行RETI或是访问IE、IP的指令后,至少需要 再执行—条其他指令,才会响应中断请求。
1.方式0
加1计数器为13位, 高8位溢出置位TF
定时器启、停控制
方式0下的逻辑结构图
方式0下工作时: (1)C/T=1为计数工作方式,计数脉冲由T1引脚输入。计数个 数
N=( 213—初值x)
(2)C/T=0为定时工作方式,计数脉冲为时钟频率fosc/12。
定时时间t=(213—初值x)*时钟周期*12 X = 213-定时时间t/时钟周期*12
注意:采用边沿触发的外部中断标志IE0或IEl和定时器中断标志TF0或 TFl,CPU响应中断后能用硬件自动情除。
但在电平触发时,IE0或IEl受外部引脚中断信号(或)的直接控制,CPU 无法控制IE0或IEl,需要另外考虑撤除中断请求信号的措施,如通过 外加硬件电路,并配合软件来解决;串行口中断请求标志TI和RI也不 能由硬件自动清除,需要在中断服务程序中,用软件来清除相应的中 断请求标志 。

8_80C51内部定时器及应用

8_80C51内部定时器及应用

JB SETB JNB JB CLR MOV MOV INC MOV SJMP
P3.3,$ ;等待变低 TR1 ;准备启动T1计数 P3.3,$ ;若为低电平,则等待 P3.3,$ ;若变高,则T1开始计数 TR1 ;若变为低电平,则停止计数 R1,#30H;R1指向30H单元 @R1,TL1 ;T1值存入内存 R1 @R1,TH1 $
TC 2
13
0 . 25 10
3
12 10 / 12 7942 1111100000
6
110 B
即 TCH=F8H,TCL=06H 由于T1工作于方式0,故方式控制字为00H。
(1) 查询方式 ORG 0000H AJMP MAIN ORG 0200H ;主程序入口 MAIN:MOV TMOD,#00H ;写方式控制字,T1方式0,不用门控 MOV TH1,#0F8H ;写定时常数 MOV TL1,#06H CLR ET1 ;禁止T1中断 SETB TR1 ;启动T1 WATT:JBC TF1,WAVE ;定时到,转WAVE,并将TF1清零 SJMP WATT ;否则,继续查询 WAVE:CPL P1.7 ;输出状态翻转 MOV TH1,#0F8H ;重写定时常数 MOV TL1,#06H SJMP WATT ;返回WATT,等待下一次定时时间到
(2) 定时器/计数器T0、T1的控制寄存器(TCON) 控制寄存器TCON是一个逐位定义的8位寄存器,既 可字节寻址也可位寻址,字节地址为88H,位寻址的地址 为88H~8FH。TCON主要用于控制定时器的操作及中断控 制,其格式如下:
① TF1(TCON.7):定时器/计数器T1的溢出标志。 定时器/计数器T1溢出时,该位由内部硬件置位。若中断 开放,即响应中断,进入中断服务程序后,由硬件自动清 0;若中断禁止,即采用查询方式时,也可以由程序查询 判跳转,但必须用指令清“0”,这点务必注意。 ② TR1(TCON.6):定时器/计数器T1的运行控制 位。置1时,启动定时器/计数器T1;清0时,停止定时器/ 计数器T1。该位由软件置位和清0。 ③ TF0(TCON.5):定时器/计数器T0的溢出标志。 其意义与TF1相同。 ④ TR0(TCON.4):定时器/计数器T0的运行控制 位。其意义与TR1相同。

单片机教程780C51的定时计数器课件

delay(); //延时消抖
编程实例
编程实例
}
}
VS
在工业控制中的应用
自动化生产控制
传感器数据采集
电机控制
在智能家居中的应用
智能照明
智能家电控制
定时计数器可以用于控制家庭照明系 统的开关时间,实现节能和智能化。
通过定时计数器,可以控制家电设备 的运行时间和状态,如智能空调、智 能冰箱等。
• 780c51单片机的定时计数器 • 定时计数器的编程 • 定时计数器的应用
单片机的定义
单片机的应用领域
01
02
智能仪表
工业控制
03 家用电器
单片机的发展历程
单片机的起源 单片机的发展阶段 单片机的未来发展
定时计数器的定义
定时计数器
780c51单片机的定时计数器
780c51单片机的定时计数器的工作原理
智能安防
定时计数器可以用于监控家庭的安防 设备,如摄像头、门窗传感器等,实 现自动报警和录像。
在物联网中的应用
物联网设备通信
物联网数据处理 物联网设备协同
优化算法
算法选择
根据应用需求,选择适合的算法 来优化定时计数器的性能。
算法分析
对算法进行详细分析,了解其时 间复杂度和空间复杂度,以便进
行优化。
定时计数器的使用方法
01 配置寄存器
02 启动与停止
03 中断处理
04 示例应用
编程语言的选择
C语言 汇编语言
编程步骤
初始化定时计数器

启动定时计数器
读取计数值 停止定时计数器
编程实例
编程实例
01 02 03
编程实例
uchar code delay=50; //定义延时函数 void delay(void) 行改进,提高定时计数器的效率。

80C51单片机的中断与定时PPT

(b)外中断的两种信号触发方式(通过有关控制位定义) 电平方式:低电平有效 脉冲方式:脉冲下降沿有效,高低电平状态都应至少维持一个
机器周期。
(2)定时中断 定时中断是为满足定时或计数的需要设置的。80C51单片机
共有2个定时器/计数器中断源,即T0和T1。 定时器/计数器内部的计数结构对脉冲信号进行计数,当计
(c)ET0、ET1:定时器/计数器中断允许控制位 ET0、ET1=0,禁止定时(或计数)中断; ET0、ET1=1,允许定时(或计数)中断;
(d)ES:串行中断允许控制位 ES=0,禁止串行中断; ES=1,允许串行中断;
注意:
1)80C51单片机复位后(与I中E)断=控00制H,有即关中的断控系制统位处共于有禁5位止:状态
6单片机的中断与定时系统615中断请求的撤消中断响应后tcon或scon中的中断请求标志应及时清除否则就意味着中断请求依然存在弄不好就会造成中断的重复查询和响应因此必须在中断响应后及时清除中断请求信号即将中断请求标志位清0
第5章 80C51单片机的中断与定时
教学基本要求: (1)了解单片机系统有关中断的概念; (2)了解单片机定时器/计数器的功能; (3)熟悉与中断控制有关的控制寄存器的功能及用法; (4)熟悉与定时/计数控制有关的控制寄存器功能及用法; (5)掌握单片机中断系统的应用方法; (6)掌握单片机定时器/计数器的应用方法; 教学重点: (1)单片机中断系统的中断服务流程; (2)单片机定时器/计数器的工作方式0、2; 教学难点: (1)中断采样、中断查询、中断响应、中断撤消
对于电平方式的外中断请求,采样为高→IE0(IE1)→0, 为低→IE0(IE1)→1;
对于脉冲方式外中断请求,采样先高后低→IE0(IE1)→1 ;否则IE0(IE1)→0。

80C51的中断系统及定时计数器

80C51的中断系统有5个中断源(8052有6个),2个优 先级,可实现二级中断嵌套 。
中断源 外部中断0(INT0) 外部中断1(INT1) T0溢出中断(TF0) T1溢出中断(TF1) 串行口中断(RI或TI)
2019/12/24
8
1、外部中断0(P3.2),可由IT0(TCON.0)选择其 为低电平有效还是下降沿有效。当CPU检测到P3.2 引脚上出现有效的中断信号时,中断标志 IE0(TCON.1)置1,向CPU申请中断。
5个中断源、2个优先级
TCON
IE
INT0 IT0 1
01
T0 INT1 IT1 1
01
T1
RX TX
EX0 1 EA 1 IE0
ET0 1 TF0
EX1 1 IE1
ET1 1 TF1
RI
TI
≥1
SCON
ES 1
2019/12/24
23
IP
PX0 1 0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
编写中断服务程序注意
中断服务程序入口存放指令LJMP或AJMP 现场保护与现场恢复
2019/12/24
26
中断服务子程序: INITT0:PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中断源服务 POP PSW POP DPL POP DPH POP ACC RETI
2019/12/24
2019/12/24
9
4、TF1(TCON.7),片内定时/计数器T1溢出中 断请求标志。当定时/计数器T1发生溢出时,置位 TF1,并向CPU申请中断。
5、RI(SCON.0)或TI(SCON.1),串行口中断请 求标志。当串行口接收完一帧串行数据时置位RI 或当串行口发送完一帧串行数据时置位TI,向CPU 申请中断。

80C51的定时、计数器


工作方式3将 分成为两个独立的 位计数器TL0和TH0 。 分成为两个独立的8位计数器 工作方式 将T0分成为两个独立的 位计数器 和
5.3.4 定时 计数器用于外部中断扩展 定时/计数器用于外部中断扩展
扩展方法是,将定时 计数器设置为计数器方式 计数器设置为计数器方式, 扩展方法是,将定时/计数器设置为计数器方式,计数初值 设定为满程,将待扩展的外部中断源接到定时/计数器的外部 设定为满程,将待扩展的外部中断源接到定时 计数器的外部 计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产 计数引脚。从该引脚输入一个下降沿信号,计数器加 后便产 生定时/计数器溢出中断 计数器溢出中断。 生定时 计数器溢出中断。 例如,利用 扩展一个外部中断源 扩展一个外部中断源。 例如,利用T0扩展一个外部中断源。将T0设置为计数器方 设置为计数器方 按方式2工作 工作, 的初值均为0FFH,T0允许中 式,按方式 工作,TH0、TL0的初值均为 、 的初值均为 , 允许中 开放中断。 断,CPU开放中断。其初始化程序如下: 开放中断 其初始化程序如下: MOV TMOD,#06H 为计数器方式2 , ;置T0为计数器方式 为计数器方式 MOV TL0,#0FFH , ;置计数初值 MOV TH0,#0FFH , SETB TR0 启动T0工作 ;启动 工作 SETB EA ;CPU开中断 开中断 SETB ET0 允许T0中断 ;允许 中断
GATE:门控位。GATE=0时,只要用软件使 :门控位。 = 时 只要用软件使TCON中的 中的 TR0或TR1为1,就可以启动定时 计数器工作;GATA=1时, 计数器工作; 或 为 ,就可以启动定时/计数器工作 = 时 要用软件使TR0或TR1为1,同时外部中断引脚或也为高电 要用软件使 或 为 , 平时,才能启动定时/计数器工作 计数器工作。 平时,才能启动定时 计数器工作。即此时定时器的启动条 加上了或引脚为高电平这一条件。 件,加上了或引脚为高电平这一条件。 :定时 计数模式选择位。 定时/计数模式选择位 为定时模式; 定时 计数模式选择位。 =0为定时模式; =1 为定时模式 C/T C /T C /T 为计数模式。 为计数模式。 M1M0:工作方式设置位。定时 计数器有四种工作方式, 计数器有四种工作方式, :工作方式设置位。定时/计数器有四种工作方式 进行设置。 由M1M0进行设置。 进行设置
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

76543210
TCON TF1 TR1 TF0 TR0
字节地址:88H
TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。 用软件设置TFx可产生同硬件置1或清0同样的效果。
TRx:Tx运行控制位。置1时开始工作;清0时停止工作。 TRx要由软件置1或清0(即启动与停止要由软件控制)。
2020/11/30
27
8.2.7 定时/计数器的工作方式
T0、T1有4种工作方式(0、1、2)。
方式0:13位方式
TCON
TF1 D7
申请 中断
TR1
溢出
TF0
TH0 TL0
TR0
8位 5位
D0
1 1
0 &
≥1
T0引脚
机器周期 1
INT0引脚
TMOD
0 M0 D0 0 M1
C/T GATE
M0 M1 C/T GATE D7
2020/11/30
7
中断优先级遵循的原则
几个中断同时申请,先响应高级的中断 正进行的中断服务,同级或低级中断不能对其 中断,但可以被高级中断所中断。
为此,中断系统内设有对应高、低2个优先级状 态触发器(用户不能寻址)。
状态触发器的复位由中断返回指令RETI控制。
2020/11/30
8
中断服务程序入口地址和优先级
2020/11/30
5
中断允许控制
中断源的开放和屏蔽由IE控制(1,开放;0,禁止)
76543210
IE EA
ES ET1 EX1 ET0 EX0 字节地址:A8H
EX0:外中断0允许 ET0:T0中断允许 EX1:外中断1允许
ET1:T1中断允许 ES :串口中断允许 EA :CPU中断允许
2020/11/30
2020/11/30
28
初值计算:
公式法 C/T=1时,则为计数模式,有:
X=213-N=8192-N C/T=0时,则为定时模式,有:
X=213-N=8192-N,N=t/Tcy
求补法 :X=对N求补
【例】若计数个数N为2,求计数初值。 公式法计算:X=8192-2=8190=1FFEH 求补法计算:对0 0000 0000 0010B取反加1为: 1 1111 1111 1110B(1FFEH)
实质是16位加1计数器
定时器模式时,是对内部机器周期计数。计数值乘以机 器周期就是定时时间
计数器模式时,是对外部事件计数。脉冲由T0(P3.4) 或T1(P3.5)引脚输入。
注意:(若计数值为N,计数初值为X) •溢出信号使TF0或TF1置1,并发出中断请求,16位时有:
N=65536-X,或X=65536-N •12MHz晶振时,计数频率低于0.5MHz
NOP
NOP
SETB P3.0
MOV P1,#0FFH ;置P1口为输入
MOV A,P1
;输入数据
MOVX @DPTR,A ;存入数据存储器
INC DPTR
;修改数据指针,指向下一个单元
……
POP ACC
;恢复现场
POP PSW
RETI
8.2.4 中断程序举例
【例5-1】单外部中断源示例
P1.7 ┆ ┆
SCON
ES 1
IP
PX0 1 0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
2020/11/30
硬件查询




1


级 中断入口
中断源


0




级 中断入口
中断源
4
8.1.2 80C51的中断源
中断源
外部中断0(INT0) 外部中断1(INT1) T0溢出中断(TF0) T1溢出中断(TF1) 串行口中断(RI或TI)
ORG 0003H LJMP INT0 ;转外中断0
ORG 000BH ;没有用定时器0中断,在此放一条RETI ;万一 “不小心”产生了中断,
RETI ; 也不会有太大的后果。
ORG 0030H MAIN:…… ;主程序开始
8.2.3 中断返回
中断服务程序最后指令必须是RETI,其功能:
将断点从堆栈弹送PC,CPU从原断点继续执行 将相应优先级状态触发器清0,恢复原来工作状态
• 外中断0:0003H • 定时器0:000BH • 外中断1:0013H • 定时器1:001BH • 串口 : 0023H
8.2 80C51单片机中断处理过程
8.2.1 中断响应条件和时间 中断响应条件
有中断请求 相应的中断允许位为1 CPU开中断(即EA=1)
遇下面情况之一将不被响应(此间中断条件失效,中断丢失)
正在处理同级或高级中断 当前查询周期不是所执行指令的最后一个机器周期 正在执行RETI或访问IE或IP 的指令
2020/11/30
10
中断响应时间
M1
M2
M3
M4
M5
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6
计数初值要分成2个字节分别送入TH0、TL0
2020/11/30
31
【例】若要求定时器T0工作于方式1,定时时间为1ms,当晶 振为6 MHz时,求送入TH0和TL0的计数初值各为多少?应怎 样送入TH0和TL0?
由于晶振为6 MHz,所以机器周期Tcy为2µ S,因此: N=t/Tcy=1×10-3/2×10-6=500 X=216-N=65536-500=65036=FE0CH
定时/计数器的结构
T1引脚
TH1
TL1
TH0
T0引脚
TL0
机器周 期脉冲
TH1、TL1
内部总线
TH0、TL0
TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0
TCON
TMOD
TCON
外部中断相关位
T1方式
T0方式
TMOD
2020/11/30
21
计数脉冲源
定时/计数器的工作原理
2020/11/30
30
方式1:16位方式
TCON
申请 中断
TF1 D7
TR1
溢出
TF0
TH0 TL0
TR0
8位 8位
D0
1 0 &
≥1
T0引脚
机器周期 1
INT0引脚
TMOD
1 M0 D0 0 M1
C/T GATE
M0 M1 C/T GATE D7
X=216-N=65536-N
计数范围:1~65536
P1.0
80C51
P3.0
INT0
D7 ┆ ┆ D0
CLK
VCC D
74LS74
Q
CLK
主程序:
ORG 0000H START:LJMP MAIN
ORG 0003H LJMP INTO ORG 0030H MAIN:CLR IT0 ;电平 SETB EA SETB EX0 MOV DPTR,#1000H ……
2020/11/30
29
门控位作用
当GATE=0时 仅由TR0控制与门的开启。与门输出1时,控制开关 接通,计数开始;
当GATE=1时 与门的开启由INT0和TR0共同控制。这种方式可以用 来测量INT0引脚上正脉冲的宽度。
注意:方式0的计数初值高8位和低5位确定麻烦 ,实际 应用中常由16位的方式1取代。
……
POP ACC
;恢复现场
POP PSW
RETI
2020/11/30
18
【例】 多外部中断源示例
中断服务程序:
INT0
1
+5V
INT1
1
1
1
80C51
1
P1.3
P1.0
XI0
ORG 0003H
LJMP INSE0
ORG 0013H
XI1
LJMP INSE1
XI2 XI3
…… INSE0:PUSH PSW ;XI0中断服务
注意
不能用RET代替RETI 中断服务程序中PUSH和POP必须成对使用
2020/11/30
14
P1.7
D7




P1.0
D0
80C51
P3.0
CLK
VCC D
74LS74
程序如下:
INT0
Q
CLK
ORG 0000H
START:LJMP MAIN ;跳转到主程序
ORG 0003H
LJMP INTO ;转到中断服务程序
2020/11/30
23
8.2.6 定时/计数器的控制
工作方式寄存器TMOD
7
6
TMOD GATE C/T
54
3
210
M1 M0 GATE C/T M1 M0 字节地址:89H
GATE:门控位。GATE=0时,只要TRx为1,就可启动计 数器工作;GATA=1时,定时器的启动还要加上INTx引脚
为高电平这一条件。 C/T:模式选择位。 清0为定时模式,置1为计数方式。 M1M0:工作方式设置位。可设置四种工作方式。
XI4
PUSH ACC
……
POP ACC
POP PSW
RETI
(转下页)
2020/11/30
19
INSE1:PUSH PSW
相关文档
最新文档