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

合集下载

80c51单片机定时器计数器工作原理

80c51单片机定时器计数器工作原理

80c51单片机定时器计数器工作原理80C51单片机是一种常用的微控制器,其定时器/计数器(Timer/Counter)是实现定时和计数功能的重要组件。

以下简要介绍80C51单片机定时器/计数器的工作原理:1. 结构:定时器/计数器由一个16位的加法器构成,可以自动加0xFFFF(即65535)。

定时器/计数器的输入时钟可以来自系统时钟或外部时钟源。

2. 工作模式:定时模式:当定时器/计数器的输入时钟源驱动加法器不断计数时,可以在达到一定时间后产生中断或产生其他操作。

计数模式:当外部事件(如电平变化)发生时,定时器/计数器的输入引脚可以接收信号,使加法器产生一个增量,从而计数外部事件发生的次数。

3. 定时常数:在定时模式下,定时常数(即定时时间)由预分频器和定时器/计数器的初值共同决定。

例如,如果预分频器设置为1,定时器/计数器的初值为X,那么实际的定时时间 = (65535 - X) 预分频系数输入时钟周期。

在计数模式下,定时常数由外部事件发生的时间间隔决定。

4. 溢出和中断:当加法器达到65535(即0xFFFF)时,会产生溢出,并触发中断或其他操作。

中断处理程序可以用于执行特定的任务或重置定时器/计数器的值。

5. 控制寄存器:定时器/计数器的操作可以通过设置相关的控制寄存器来控制,如启动/停止定时器、设置预分频系数等。

6. 应用:定时器/计数器在许多应用中都很有用,如时间延迟、频率测量、事件计数等。

为了充分利用80C51单片机的定时器/计数器功能,通常需要根据实际应用需求配置和控制相应的寄存器,并编写适当的软件来处理定时器和计数器的操作。

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 认识单片机中断系统

模块5 认识单片机中断系统

断编号;0表示使用第0组工作寄存器 */
TL1 = (65536-50000)%256;
}
22
任务22-1:用定时器T1中断方式控制P3口8位LED闪烁
• (3)用Proteus软件仿真
图5-1用定时器T1中断方式控制P3口8位LED闪烁效果图
23
• 任务23-1:用外中断控制P2口8个LED亮灭 在P3.3引脚(INT1)上接按键S,使用外中断控制P2口8个LED亮灭。
4
任务22-2:相关知识 • 2、中断的作用
➢可以实现CPU与外部设备的并行工作,提高CPU利用效率。 ➢可以实现CPU对外部事件的实时处理,进行实时控制。 ➢实现多项任务的实时切换。
5
80C51单片机具有五个中断源: 定时中断:由单片机的定时器/计数器的溢出标志(TF0、TF1)
触发的中断,80C51单片机有T0和T1两个定时中断。 外中断:由外部信号触发的中断,80C51有2个外部中断(INT0---
case 0x02:exint1();break; /*调用函数exint1(),EXINTT1中断服务,此处省略*/
case 0x04:exint2();break; /*调用函数exint2(),EXINTT2中断服务,此处省略*/
case 0x08:exint3();break; /*调用函数exint3(),EXINTT3中断服务,此处省略*/
IE E X0
TF0 E X0
IE 1 E X1
TF1
TI
≥1
RI
SCO N 中断 标志
E T1
ES
EA
源允许 总允许
IP P X0 1
0
P T0 1 0
P X1 1 0

第5章 习题参考答案

第5章 习题参考答案

第五章习题参考答案一、填空题1、MCS-51有5个中断源,2个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择。

2、外中断请求标志位是 IE0 和 IE1 。

3、 RETI 指令以及任何访问 IE 和 IP 寄存器的指令执行过后,CPU不能马上响应中断。

4、8051单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把 PC的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送 PC ,使程序执行转向程序存储器中的中断地址区。

二、选择题:1、在中断服务程序中,至少应有一条( D )。

A、传送指令B、转移指令C、加法指令D、中断返回指令2、要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是( A )。

A、 98HB、 84HC、 42HD、 22H3、MCS-51响应中断时,下列哪种操作不会发生( A )A、保护现场B、保护PCC、找到中断入口D、保护PC转入中断入口4、MCS-51中断源有( A )A、 5个B、 2个C、 3个D、6个5、计算机在使用中断方式与外界交换信息时,保护现场的工作应该是( C )A、由CPU自动完成B、在中断响应中完成C、应由中断服务程序完成D、在主程序中完成6、MCS-51的中断允许触发器内容为83H,CPU将响应的中断请求是( D )。

A、 INT0,INT1B、 T0,T1C、 T1,串行接口D、 INT0,T07、若MCS-51中断源都编程为同级,当它们同时申请中断时,CPU首先响应( B )。

A、 INT1B、 INT0C、 T1D、T08、当CPU响应串行接口中断时,程序应转到( C )。

A、 0003HB、 0013HC、 0023HD、 0033H9、执行MOV IE,#03H后,MCS-51将响应的中断是( D )。

A、 1个B、 2个C、 3个D、0个10、外部中断1固定对应的中断入口地址为( C )。

5单片机中断定时器的使用

5单片机中断定时器的使用
0 PT1 1
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章 单片机中断及定时计数器控制

定时计数器详解

定时计数器详解

mcs-51单片机计数器定时器详解【1】80C51单片机内部设有两个16位的可编程定时器/计数器。

可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。

在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。

:从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。

其访问地址依次为8AH-8DH。

每个寄存器均可单独访问。

这些寄存器是用于存放定时或计数初值的。

此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。

这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。

TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。

当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。

定时计数器的原理:16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。

当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。

显然,定时器的定时时间与系统的振荡频率有关。

因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。

如果晶振为12MHz,则计数周期为:T=1/(12×106)Hz×1/12=1μs这是最短的定时周期。

若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。

当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。

计数器在每个机器周期的S5P2期间采样引脚输入电平。

若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。

第章习题参考答案

第章习题参考答案

第五章习题参考答案一、填空题1、MCS-51有5个中断源,2个中断优先级,优先级由软件填写特殊功能寄存器??? IP??? 加以选择。

2、外中断请求标志位是? IE0???? 和??? IE1?? 。

3、?? RETI?? 指令以及任何访问? IE? 和? IP? 寄存器的指令执行过后,CPU不能马上响应中断。

4、8051单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把 PC?的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送? PC? ,使程序执行转向?? 程序存储器??? 中的中断地址区。

二、选择题:1、在中断服务程序中,至少应有一条( D??? )。

A、传送指令????B、转移指令????C、加法指令??????D、中断返回指令2、要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内容应是(? A?? )。

?? A、 98H????????? B、 84H????????? C、 42H??????????? D、 22H3、MCS-51响应中断时,下列哪种操作不会发生(? A?? )?? A、保护现场???? B、保护PC???? C、找到中断入口????? D、保护PC转入中断入口4、MCS-51中断源有(? A?? )?? A、 5个?????????? B、 2个?????????? C、 3个??????????? D、 6个5、计算机在使用中断方式与外界交换信息时,保护现场的工作应该是(? C?? )?? A、由CPU自动完成??????????????? B、在中断响应中完成?? C、应由中断服务程序完成?????????? D、在主程序中完成6、MCS-51的中断允许触发器内容为83H,CPU将响应的中断请求是(?? D? )。

?? A、 INT0,INT1???? B、 T0,T1???? C、 T1,串行接口??? D、? INT0,T07、若MCS-51中断源都编程为同级,当它们同时申请中断时,CPU首先响应(? B?? )。

定时器中断程序和单片机AT80c51写全亮全灭交替的led灯程序

定时器中断程序和单片机AT80c51写全亮全灭交替的led灯程序

{
; //主程序在这里就不断自循环,实际应用中,这里是做主要工作
}
}
//定时器0中断
timer0() interrupt 1 // 定时器0中断是1号
{
TH0=0x00; //写入定时器0初始值0x0005
sbit P10 = P1^0; //要控制的LED灯
sbit K1= P3^2; //按键K1
//用定时器中断闪烁LED
void main(void) //主程序
{
TMOD=0x01; //定时器0,16位工作方式
【例1】这是一个简单的定时器程序,由一个循环组成,在点亮接在P1.0 口的LED之后,延时一段时间,再灭掉LED,又延时一段时间,之后循环到前面。按全速运行,可以看到P1.0口上接的LED 灯不断地闪烁。
#include <reg52.h> //包括一个52标准内核的头文件
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tt++;
if(tt==100)
{
P0=0x00;
}
if(tt>=200)
{
tt=0;
P0=0xff;
}
}
void init()
{
TMOD=0x01;
sbit P13 = P1^3;
bit ldelay=0; //长定时溢出标记,预置是0
//定时器中断方式的跑马灯
void main(void) //主程序
{
unsigned char code ledp[4]={0xfe,0xfd,0xfb,0xf7};//预定的写入P1的值
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C/T:模式选择位。 清0为定时模式,置1为计数方式。 M1M0:工作方式设置位。可设置四种工作方式(见下页)。
2019/1/8
19
M1M0 工作方式 00 方式0
说 13位定时/计数器

01
10 11
方式1
方式2 方式3
16位定时/计数器
8位自动重装定时/计数器 T0分成两个独立的8位定时/计数器; T1此方式停止计数
PT1:T1中断优先级 PS :串口中断优先级
同一优先级的自然顺序: 自高至低:INT0、TO、INT1、T1、串口。
9
2019/1/8
中断优先级遵循的原则 几个中断同时申请,先响应高级的中断 正进行的中断服务,同级或低级中断不能对其 中断,但可以被高级中断所中断。 为此,中断系统内设有对应高、低2个优先级状 态触发器(用户不能寻址)。 状态触发器的复位由中断返回指令RETI控制。
2019/1/8
21
5.3.3
定时/计数器的工作方式
T0有方式0、1、2、3;T1有方式0、1、2。以T0为例说明。
方式0:13位方式
TCON TF1 申请 中断 TR1 TF0 TR0 D7 溢出 TH0 8位 TL0 5位 &
≥1
TMOD T0引脚 1 1 0 0 0 M0 M1 C/T 机器周期 GATE M0 1 D0 INT0引脚 M1 C/T GATE D7 D0
18
2019/1/8
5.3.2 定时/计数器的控制
工作方式寄存器TMOD
7 TMOD 6 5 M1 4 M0 3 2 1 M1 0 M0 字节地址:89H GATE C/T GATE C/T
GATE :门控位。 GATE = 0 时,只要 TRx 为 1 ,就可启动计 数器工作; GATA = 1 时,定时器的启动还要加上 INTx 引脚 为高电平这一条件。
} void Ex1Isr() interrupt 2 { if(Flag1==0)Flag1=1; Flag0 = 0; }
16
2019/1/8
5.3 80C51单片机的定时/计数器
基本型:T0,定时、计数。 T1,定时、计数、串口波特率发生器。
增强型:增加了 T2。见5.3.4节。 5.3.1 定时/计数器的结构和工作原理
≥1
TMOD T0引脚 0 1 M0 M1 C/T 0 机器周期 GATE M0 1 INT0引脚 M1 C/T GATE D7 D0
X=28-N=256-N
计数范围:1~256
EX0:外中断0允许 ET0:T0中断允许 EX1:外口中断允许 EA :CPU中断允许
2019/1/8
8
中断优先级控制
中断优先级由IP控制(1,高级;0,低级)
7 IP 6 5 4 PS 3 2 1 0 PT1 PX1 PT0 PX0 字节地址:B8H
PX0:外中断0优先级 PT0:T0中断优先级 PX1:外中断1优先级
定时器模式时,对内部机器周期计数。 定时时间=计数值*机器周期 计数器模式时,是对外部脉冲计数。脉冲由T0 ( P3.4 ) 或T1(P3.5)引脚输入。 注意:(若计数值为N,计数初值为X) •溢出信号使TF0或TF1置1,并发出中断请求,16位时有: X=65536-N •12MHz晶振时,计数频率低于0.5MHz
第5章 80C51的中断系统及定时/计数器
5.1
80C51单片机的中断系统
5.2
80C51单片机的中断处理过程
5.3
80C51单片机的定时/计数器 80C52的定时/计数器2
5.4
2019/1/8
1
5.1 80C51单片机的中断系统
5.1.1 80C51中断系统的结构
中断的概念
CPU进行工作A时发生了事件B,请求CPU马上处理 CPU暂时中断当前工作A,转去处理事件B 事件B处理完后,回到工作A被中断的地方继续处理A工作
2019/1/8
4
触发方式设置及中断标志
7 6 5 4 3 2 1 0
TCON
TF1 TR1 TF0 TR0 IE1
IT1
IE0
IT0
字节地址:88H
外部中断标志IE1、IE0(用IEx表示) 电平方式(ITx=0),INTx引脚低电平时IEx=1,响应中 断后IEx不自动清0(INTx引脚状态)。 边沿方式(ITx=1),INTx引脚负跳变时IEx=1,响应中 断后IEx自动清0。
结构
T1引脚 T0引脚
机器周 期脉冲
TH1
TL1
TH0
TL0
内部总线
GATE TF1 TR1 TF0 TR0 C/T C/T M1 M0 M1 M0
TCON
TMOD
TH1、TL1 TH0、TL0 TCON TMOD
GATE
外部中断相关位
T1方式
17
T0方式
2019/1/8
工作原理
---实质是16位加1计数器
2019/1/8
5
两种触发方式比较:
电平方式时, INTx低电平必须保持到响应时,否则就会 漏掉;在中断服务结束前,INTx低电平必须撤除,否则中断 返回之后将再次产生中断。 例,8255的中断请求线在接受读或写操作后即被复位,因 此以其去请求电平触发方式的中断比较方便。 边沿方式时,采样到有效下降沿后,在IEx中将锁存一个1。 若CPU暂时不能响应,申请标志也不会丢失,直到响应时才 清0。 例,ADC0809的转换结束信号EOC为正脉冲,经反相后就可 以作为80C51的INTx信号 。
IE
EA 1
IP
PX0 1 0 PT0 1
硬件查询
高 优 先 级
INT0 T0 INT1 T1 RX TX
中断申请
中断入口
中断入口
SCON
2019/1/8 3
5.1.2 80C51的中断源 中断源 外部中断0(INT0) 外部中断1(INT1) T0溢出中断(TF0) T1溢出中断(TF1) 串行口中断(RI或TI)
主程序A 断点 中断服务程序B
响应
返回
RETI 中断服务程序B
中断的优点 中断源 : CPU 中断请求 利用率高 控制实时性强 中断服务 系统可靠性好 中断返回 中断系统
2019/1/8
2
……
80C51中断系统的结构
5个中断源、2个优先级
TCON
IT0 1 0 IE0 1 ET0 1 TF0 IT1 1 0 IE1 1 ET1 1 TF1 0 RI TI ES 1 ≥1 PS 1 0 0 PT1 1 低 优 先 级 中断源 中断申请 0 EX1 1 PX1 1 中断源 EX0 1
2019/1/8 24
方式1:16位方式
TCON TF1 申请 中断 TR1 TF0 TR0 D7 溢出 1 TH0 8位 TL0 8位 &
≥1
TMOD T0引脚 1 0 M0 M1 C/T 0 机器周期 GATE M0 1 D0 INT0引脚 M1 C/T GATE D7 D0
X=216-N=65536-N
2019/1/8 11
中断响应时间
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
中断 ε 标志 锁存 有效
排序选择
保护断点,长调用至入口
2019/1/8 6
溢出中断标志TF1、TF0(用TFx表示) 溢出中断请求标志TFx ,Tx启动后就开始由初值进行加 1计数,直至最高位产生溢出使TFx=1向CPU请求中断。CPU 响应中断后TFx自动清0。
SCON的中断标志
7 SCON 6 5 4 3 2 1 TI 0 RI 字节地址:98H
也可以利用以下2条语句完成: TH0 = (65536-500)/256 ; 商为计数初值的高字节 TL0 = (65536-500)%256 ; 余数为计数初值的低字节
2019/1/8
26
方式2:8位自动重装方式
TCON TF1 申请 中断 TR1 TF0 TR0 TH0 8位 D0 D7 溢出 1 TL0 &
计数范围:1~65536
计数初值要分成2个字节分别送入TH0、TL0
2019/1/8 25
【例5-4】若要求定时器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 分别将FEH送入TH0中,0CH送入TL0中即可。
2019/1/8 23
门控位作用
当GATE=0时 仅由TR0控制与门的开启。与门输出1时,控制开关 接通,计数开始; 当GATE=1时 与门的开启由INT0和TR0共同控制。这种方式可以用 来测量INT0引脚上正脉冲的宽度。 注意:方式0的计数初值高8位和低5位确定麻烦 ,实际 应用中常由16位的方式1取代。
2019/1/8
10
5.2 80C51单片机中断处理过程
5.2.1 中断响应条件和时间
中断响应条件
有中断请求
相应的中断允许位为1
CPU开中断(即EA=1) 遇下面情况之一将不被响应(此间中断条件失效,中断丢失) 正在处理同级或高级中断
当前选择周期不是所执行指令的最后一个机器周期
正在执行RETI或访问IE或IP 的指令
编写中断服务程序注意
中断服务程序入口存放指令LJMP或AJMP 现场保护与现场恢复
相关文档
最新文档