第5章 80C51 单片机的中断与定时

合集下载

80c51单片机外部中断初始化步骤

80c51单片机外部中断初始化步骤

80C51 单片机外部中断初始化的步骤如下:
1. 设置中断优先级:通过设置特殊功能寄存器IP 来确定中断的优先级。

可以设置不同的优先级以确定中断的响应顺序。

2. 允许中断:通过设置特殊功能寄存器IE 来允许相应的中断源。

将对应中断源的使能位设置为1。

3. 设置触发方式:通过设置特殊功能寄存器TCON 来选择外部中断的触发方式。

可以选择低电平触发、下降沿触发或上升沿触发。

4. 配置中断向量:中断向量是指中断服务程序的入口地址。

可以通过设置特殊功能寄存器Interrupt Vector Table(中断向量表)来指定中断服务程序的入口地址。

这些步骤是80C51 单片机外部中断初始化的一般流程。

具体的实现方式可能会因不同的单片机型号和编译器而有所差异。

在实际编程中,还需要根据具体的需求和硬件连接来进行相应的配置。

51单片机的中断优先级及中断嵌套

51单片机的中断优先级及中断嵌套

51 单片机的中断优先级及中断嵌套
说最基本的,老的51 单片机(80C51 系列)有5 个中断源,2 个优先级,
可以实现二级中断服务嵌套。

现在很多扩展的51 单片机已经有4 个优先级(或更多)和更多的中断源了。

在说到中断之前,我先来定义一下优先级,明白了什幺是优先级,后面的阐述就容易明白了。

实际上很多人都是混淆了优先级的含义,所以才觉得糊里糊涂。

中断的优先级有两个:查询优先级和执行优先级。

什幺是查询优级呢?我们从datasheet 或书上看到的默认(IP 寄存器不做设
置,上电复位后为00H)的优先级:
外部中断0 > 定时/计数器0 > 外部中断1 > 定时/计数器1 > 串行中断
或int0,timer0,int1,timer1,serial port 或INT0、T0、INT1、T1、UART
或PX0>PT0>PX1>PT1>PS>......
其实都是查询优级。

首先查询优先级是不可以更改和设置的。

这是一个中断优先权排队的问题。

是指多个中断源同时产生中断信号时,中断仲裁器选择对哪个中断源优先处理的顺序。

而这与是否发生中断服务程序的嵌套毫不。

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章 单片机中断及定时计数器控制

第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 )。

第章习题参考答案

第章习题参考答案

第五章习题参考答案一、填空题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的值

单片机-05-中断系统

单片机-05-中断系统
单片机原理及接口 技术
中断系统
一、中断系统
1. 中断的概念 举例:某同学正在教室写作业,忽然被人叫出去, 回来后,继续写作业。这就是生活中中断的例子。
与上对比,单片机中也有同样的问题。CPU正
在执行原程序,突然,被意外事情打断,转去执行
新程序。CPU执行新程序结束后,又回到原程序中
继续执行。这样的过程就叫
Here: SJMP Here
ORG 0200H PINT0:CPL P1.0
RETI
;返回主程序
例5-4、出租车计程:设车轮每转产生一个负脉冲,从外部中断INT0 (P3.2)引脚输入,行驶里程为轮胎周长×运转圈数,设轮胎周长2m,试通 过编程实时计算出租车行驶里程(m),数据存入32H, 31H, 30H中。
ORG 0000H LJMP START ORG 0200H ADDC A, POP PSW 30H POP ACC RETI 32H
ORG 0003H
LJMP INT0 ORG 0100H
INT0: PUSH ACC
PUSH PSW MOV A,
MOV 32H, A
START: MOV SP, #60H
ORG 0000H LJMP MAIN ORG 000BH LJMP INSE1 ORG 1000H MAIN: MOV SP,#60H MOV TL0,#0CH MOV TH0,#0F0H MOV TMOD,#00H SETB TR0 SETB ET0
INSE1: MOV TL0,#0CH MOV TH0,#0F0H
该位是“1”时,为高级优先级
该位是“ 0”时,为低级优先级
同一级中的5个中断源的优先顺序是: /INT0中断 T0溢出中断 /INT1中断 T1溢出中断 出厂前已由厂家固化顺序 ——事先约定 高

c51单片机定时器中断的执行过程

c51单片机定时器中断的执行过程

c51单片机定时器中断的执行过程
C51单片机定时器中断的执行过程可以分为以下几个步骤:
1. 初始化定时器:首先需要对定时器进行初始化,设置定时器的计数模式、计数值、溢出方式等参数。

这些参数可以通过编程实现,也可以通过硬件电路进行调整。

2. 启动定时器:初始化完成后,需要启动定时器。

启动定时器后,定时器开始按照预设的参数进行计数。

当计数值达到预设的溢出值时,定时器会产生一个溢出信号。

3. 设置中断服务程序:为了在定时器溢出时执行特定的操作,需要设置一个中断服务程序 ISR)。

中断服务程序是一段特殊的代码,它会在定时器溢出时被自动调用。

4. 开启中断:在中断服务程序设置完成后,需要开启相应的中断。

开启中断后,当定时器溢出时,CPU会自动跳转到中断服务程序执行。

5. 执行中断服务程序:当定时器溢出时,CPU会暂停当前任务,跳转到中断服务程序执行。

在中断服务程序中,可以执行一些特定的操作,如更新显示、读取传感器数据等。

6. 返回主程序:中断服务程序执行完成后,CPU会自动返回到主程序继续执行。

这样,通过定时器中断,可以实现对单片机的周期性控制和数据采集等功能。

第5章 定时计数器

第5章 定时计数器
当TL0的低5位溢出时,向TH0产生进位;TH0溢出时,将 定时器中断请求标志位TF0置1,可申请中断,也可对TF0进 行查询。
图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盒? ;自动申请中断

单片机基础(第3版)——第5章

单片机基础(第3版)——第5章
(1)编制主程序
第一部分:主程序初始化 此部分必须编写
功能:
用于设置堆栈位置; 定义触发方式(低电平触发或脉冲下降沿触发) 对IE和IP赋值等; 第二部分:须由主程序完成的其它功能。
1.中断系统的程序编制
(2)选择中断服务程序的入口地址。 (3)编制中断服务程序。
即明确中断服务程 序的起始位置
DJNZ R6,D2 DJNZ R5,D1 RET INT0: PUSH PSW ;保护PSW,ACC值 PUSH ACC MOV A,#00H ;使8个LED全亮 MOV R2,#6 ;闪烁3次(全亮全灭各3次) L4:MOV P1,A ;A值送出 LCALL DELAY ;延时0.2秒 CPL A ;A值取反 DJNZ R2,L4 ;闪烁3次? POP ACC ;恢复保护的A值 POP PSW ;恢复保护的PSW值 RETI ;返回主程序 END
4.3定时/计数器
1. 日常生活中定时、计数的例子: 2 . 单片机应用系统中定时计数的需求:
如用单片机控制的打铃器、空调的定时开关、啤酒自 动生产线上对酒瓶的计数装置等。 3 . 80C51单片机片内的定时/计数器: 两个16位可编程的定时/计数器:T0和T1,都能定 时和对外部事件进行计数。 此外,T1还可以作为串行接口的波特率发生器。
说明:此时串口的优先级高于外部中断0的优先级
答案:
此时CPU按自然优先级顺序确定该响应哪个
中断请求。
如果几个同级别的中断 源同时申请中断,CPU 如何响应?
注意: 自然优先级由硬件决定,用户不能更改。 排列见表4-2
表4-2
中断入口地址及自然优先级
3.定时/计数器及外部中断控制寄存器TCON • 功能:
3.中断系统

80C51的定时、计数器

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进行设置。 进行设置

第5章:中断系统2

第5章:中断系统2


• •
中断优先级的判定 中断源的优先级别分为高级和低级,通过由软件 设置中断优先级寄存器IP相关位来设定每个中断 源的级别。 如果几个同一优先级别的中断源同时向CPU请求 中断,CPU通过硬件查询电路首先响应自然优先 级较高的中断源的中断请求。 中断可实现两级中断嵌套。高优先级中断源可中 断正在执行的低优先级中断服务程序,除非执行 了低优先级中断服务程序的CPU关中断指令。同 级或低优先级的中断不能中断正在执行的中断服 务程序。
5.2 中断处理过程
• 中断处理流程 • 中断嵌套 • 中断的应用实例
中断处理流程
执行一条指令 取下一条指令

中断处理过程可分为 中断请求、中断响应、中 断处理和中断返回四个阶 段。不同的计算机因其中 断系统的硬件结构不同, 因此,中断响应的方式也 有所不同。这里仅以8051 单片机为例进行叙述。其 主要内容及一般顺序如图 5-3所示。
(4)中断请求的撤除
• 中断源发出中断请求,相应中断请求标志置“1”。CPU响应 中断后,必须清除中断请求“1”标志;否则中断响应返回后, 将再次进入该中断,引起死循环出错。如何撤除中断请求标 志的说明如下:
• 定时器溢出中断请求的撤除:
• 对于定时器0或1溢出中断,CPU在响应中断后即由硬件自动 清除其中断标志位TF0或TF1,用户无须采取其他措施。
编写中断服务程序时应注意
① 在中断矢量地址单元处放一条无条件转移指令(如
LJMP ××××H),使中断服务程序可灵活地安排
在64KB程序存储器的任何空间。
② 在中断服务程序中,用户应注意用软件保护现场,
以免中断返回后丢失原寄存器、累加器中的信息。
③ 若要在执行当前中断程序时禁止更高优先级中断,

第5章80C51内核衍生型单片机芯片及应用

第5章80C51内核衍生型单片机芯片及应用
第5章 80C51内核衍生型单片机芯片及应用
第5章 MCS-51内核衍生型单片机芯片及应用
增强型MCS-51作内核的衍生型嵌入式单片机芯片品种很多: 8XC51RX(如P89C51RX、P89V51RD2、SST89E(V)XXRD2、 AT89C51RD2及AT89C51ED2)、LPC系列(如P87LPC76X系列、 P89LPC900系列、AT89LPC21X系列、W79E8XX系列、 STC12C54XX系列) ,以及Infeon的XC866与XC886芯片
P A N 2020/4/15
单片机原理与应用
第5章 80C51内核衍生型单片机芯片及应用
P A N 2020/4/15
图5-4 可编程计数器阵列PCA
单片机原理与应用
第5章 80C51内核衍生型单片机芯片及应用
5.4.1 PCA结构及控制
在P89C51RX中,为简化硬件结构,PCA单元电路内 五个计数模块共用一个16位加法计数器(CH和CL)作为 记时基准,计数脉冲来源由PCA模式寄存器CMOD的 CPS1、CPS0位决定,允许/禁止PCA计数器计数由PCA 控制寄存器CCON的CR位控制,如图5-5所示。
五个模块共用一个16位加法计数器(CH和CL),计数脉冲来源由
CMOD寄存器的CPS1、CPS0位决定:
CPS1、 CPS1、CPS0
计数脉冲源
00
0 0 内部时钟信号fosc/6(6时钟模式)或fosc/12(12时
钟模式)
01
0 1内部时钟信号fosc/2(6时钟模式)或fosc/4(12时钟
模式)
(
(可见,PCA模块最高计数频率比T0、T1、T2高了3倍
)
10
1 0 定时器T0的溢出脉冲。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第9章 单片机串行扩展 章
第4章 80C51单片机汇编语言程序设计 章 单片机汇编语言程序设计
第10章 单片机 章 单片机A/D及D/A转换接口 及 转换接口
第5章 80C51单片机的中断与定时 章 单片机的中断与定时
第11章 8位单片机的发展 章 位单片机的发展
第6章 单片机并行存储器扩展 章
第12章 单片机应用 章

主流程图(略),程序如下:
ORG LJMP ORG LJMP ORG MOV SETB SETB SETB MOV MOV MOV RL LCALL AJMP 0000H START 0003H 0100H 0030H SP, #60H IT0 EX0 EA IP, #01H A, #01H P1, A A DELAY LOOP ;中断入口

③串行中断1个:串行接收或发送完一帧数据时就产 生一个内部中断请求RI或TI. 入口地址:0023H. 2, 中断处理过程 包含:中断请求,中断响应,中断服务,中断返 回四个阶段. ①中断请求:中断源将相应请求中断的标志位置 "1",表示发出请求,并由CPU 查询. ②中断响应:在一条指令的最后一个周期按优先级 顺序查询中断标志,为"1"并满足响应 条件时响应.
一,定时/计数器构成 定时 计数器构成 1,定时方法 软件延时 通过执行循环而获得延时,短时间延时; 硬件延时 由硬件电路实现延时,长时间延时; 可编程定时 通过对系统时钟脉冲的计数而获得延时. 2,MCS-51单片机的定时/计数器 16位定时/计数器T0,T1,分别由4个8位计数 器组成,均属SFR寄存器. T0由TH0,TL0构成,字节地址为8CH,8AH; T1由TH1,TL1构成,字节地址为8DH,8BH;

例如:定时500us,fosc=6MHz时, 初值=216—500/2=65536-250=65286=FF 06H 那么:TH0=FFH,TL0=06H 3,工作方式 M1M0=10——自动复位的 位计 自动复位的8位计 ,工作方式2 自动复位的 数器 以TL0作计数器,而TH0作为预置寄存器.当计数 满溢出时,TF0置"1",同时TH0将计数初值以硬件方 法自动装入TL0.逻辑结构,如图所示: TL0

T0方式3时的T0,T1电路逻辑结构,如图所示

T0方式3时的T0初值计算完全同方式 2 (2)T0方式3下的T1 T0方式3时 ,T1仍然可工作于方式0~方式2,如上页 图所示.C/ 控制位仍可使T1工作在定时器或计数器方 式,只是由于其TR1,TF1被T0的TH0 占用,因而没有计 数溢出标志可供使用,计数溢出时只能将输出结果送至串 行口,即用作串行口波特率发生器. T0方式3下的T1方式2,因定时初值能自动恢复,用 作波特率发生器更为合适. 四,定时/计数器的应用 定时 计数器的应用 【例5-2】 已知fosc=6MHz,利用T1定时500us,在P1.0 口输出周期为1ms的方波脉冲,使用方式0~方式2编程.
主讲人:李月华
单片机基础教程
南华大学

LOGO
单片机的基本理论目录
第1章 计算机基础知识 章 第7章 单片机并行I/O口扩展 章 单片机并行 口扩展
第2章 80C51单片机的硬件结构 章 单片机的硬件结构
第8章 80C51单片机串行通信 章 单片机串行通信
第3章 80C51单片机指令系统 章 单片机指令系统

IE字节地址A8H,位地址AFH~A8H,与中断允许 有关的各位表示如下:
单片机复位后,(IE)=00H,因此,整个中断系统为 禁止状态. 3,中断优先级控制 由SFR寄存器IP设置,有2个优先级,相应位置 "1",为高优先级.相应位置"0",为低优先级.


作定时器,TMOD=02H; 作计数器,TMOD=06H; 最大计数值为28=256,若fosc=12MHz,则方式2的最大定时间 为256us.当作为定时器用时,定时时间的计算公式: △T=(28 — 计数初值)× 机器周期(12/fosc) 计数初值=28 —欲计数脉冲数=28 —△T/ 机器周期 例如:定时500,fosc=6MHz时,初值=28—500/2=6= 06H 则:TH0=TL0=06H 4,工作方式3 M1M0=11——2个8位计数器(仅限于 ) 位计数器( 个 位计数器 仅限于T0) 在T0方式3下,T0,T1的设置和使用是不同的. (1)T0方式3 TL0:使用T0原有控制资源,功能与方式0,1相同. TH0:借用T1的TR1,TF1,只能对片内机器周期脉冲计数, 作8位定时器.

MCS-51单片机定时器结构示意图 3,MCS-51单片机定时/计数器的功能归根结底是计数器. (1)定时功能 对片内机器周期进行计数,即每个机器周 期产生一个计数脉冲,计数加1.

(2)计数功能 对片外从T0(P3.4),T1(P3.5)引脚输 入的外部脉冲信号进行计数,下降沿计数加1. 二,定时/计数器的控制寄存器 定时 计数器的控制寄存器 与定时/计数器有关的控制寄存器有3个: 1,定时器控制寄存器TCON(88H) SFR SFR寄存器TCON既参与定时控制又参与中断控制,有 TCON 关定时控制的有4位,表示如下:

4,中断控制的特点 ① 中断是随机发生的,并且是可编程的. ② 通过执行特定功能的程序段而获得预定目 5,MCS-51中断汇集

二,中断控制 通过对特殊功能寄存器TCON,SCON,IE,IP等 四个寄存器的设定而实现. 1,中断请求控制 (1)定时中断,外中断请求控制寄存器TCON,字 节地址88H,位地址8FH~88H,与中断请求有关的 各位表示如下:
TF1,TF0:T1/T0溢出中断请求标志. IE1,IE0:外中断/请求标志. IT1,IT0:外中断/触发方式定义位,"1"—后沿触发

(2)串行中断请求控制寄存器SCON 串行中断请求由TI,RI的逻辑"或"得到.即不论是发送 标志还是接收标志,都将发生串行中断请求. 字节地址98H,位地址9FH~98H,与中断请求有关的各位 表示如下:
TI为发送中断 ,RI为接收中断 ,为"1"时,请求中断,响 应后必须由用户软件清零. (3)中断请求的撤销 中断响应后,必须及时清除TCON,SCON中的已响应中 断请求标志,否则,会引起中断的重复查询和响应.

①外中断请求的撤销: 对于边沿触发方式:由于触发信号过后就消失, 撤销自然也就是自动的. 对于电平触发方式:需通过软硬件结合的方法来 实现撤销. ②定时中断请求的撤销:定时中断后,硬件自动 清"0". ③串行中断请求的撤销:不能自动清"0",须用 软件的方法在中断服务子程序中进行清"0". 2,中断允许控制 由SFR寄存器IE设置,分二级允许控制.以 EA位作为总控,以各中断源的允许位作为分控.
START:
;设定下跳有效 ;开中
LOOP:

中断服务程序流程图

中断服务程序: ORG PUSH CLR MOV SETB RLC MOV LCALL JNB CLR RLC MOV LCALL JB INC CJNE POP RETI (略) 0100H ACC A R0, C

TF1/TF0:当T1/T0的计数器计数溢出时,该位置 "1". TR1/TR0:T1/T0运行控制位.软件将其置"1"时, 启动T1/T0工作. 2 2,设定定时器工作方式寄存器TMOD(89H) TMOD 89H SFR寄存器TMOD用于2个定时器/计数器T1/T0 的工作方式设定,各位的含义表示如下
一,中断概述 1, 中断源 INT 1 中断源指引起正在执行的程序中断,转而执行中断服 务程序的设备或事件.可分为硬中断,软中断. MCS-51单片机的5个中断源: ①外部中断2个: INT 0, INT 1,中断请求信号分别由 P3.2,P3.3输入,低电平有效,脉冲下降沿有效可选. 入口地址:0003H,0013H. ②定时/计数溢出中断2个:T0,T1,计数溢出时置 "1"TF0,TF1位,从而发出内部中断请求. 入口地址:000BH,001BH.
IP字节地址B8H,位地址BFH~B8H,与中断允许 有关的各位表示如下:
注意:5个中断允许位全部置"1"时,和全部清0效 果一样,为同优先级中断,按自然优先级处理,即为 外中断0→T0→外中断1→T1→串行口,优先级依次 从高到低. 三,中断应用 1,中断应用的准备工作


响应操作: 断点压栈→撤除中断标志→关闭低同级中断允许 →中断入口地址送PC. 实际上响应中断的主要操作是有硬件自动产生一条长调 用指令LCALL. ③中断服务:根据入口地址转中断服务程序,包含保护现 场,执行中断主体,恢复现场. ④中断返回:断点出栈→开放中断允许→返回原程序. 3,中断优先级及其嵌套 优先级 2个---高优先级,低优先级,可通过SFR寄 存器IP设置. 中断嵌套原则为高优先级的中断不能被低优先的中断 所中断,同级中断不能相互中断.
(1)中断初始化设置:定义SP,IP,IE和外中断 触发方式选择; (2)中断服务程序:中断入口,现场保护,中断 主体程序,恢复现场返回. 2,应用举例 例 5-1 通过P1.0~P1.7控制发光二极管,输出两 种节日灯,并利用外中断P3.2,在两种状态之间 切换. 分析:主程序中状态:亮1灯左移循环,中断 程序中的状态:以1秒间隔8灯依次亮起,再依次 熄灭,循环3次后返回.

GATE:门控位,定义T1/T0的启动方式,逻辑如图:
C/ T :定时/计数功能选择位. 为"0",作定时器用;为"1",作计数器用. M1M0:工作方式选择位.
00 方式0 01 方式1 10 方式2 13位计数器 16位计数器 初值自动重装8位计数器
相关文档
最新文档