第5章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单片机的定时计数器定时计数器的控制寄存器<>定时器/计数器的工作方式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 认识单片机中断系统
断编号;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章 习题参考答案
第五章习题参考答案一、填空题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单片机中断定时器的使用
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灯程序
{
; //主程序在这里就不断自循环,实际应用中,这里是做主要工作
}
}
//定时器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的值
单片机原理及应用课后习题答案第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。
第5章 89C51的中断系统---部分习题解答
答:在CPU未执行同级或更高优先级中断服务程序的条 件下,中断响应等待时间最少需要3个机周,最长需要8个 机周。
19.简述89C51外中断的触发方式,电平触发方式时,如何防 止CPU重复响应外中断? 答:80C51外中INT0/INTl有两种触发方式:电平触发和边 沿触发方式。采用电平触发方式时,CPU响应中断后,虽用硬件 自动清除了相应中断请求标志IE0/IEl,但相应引脚(P3.2/P3.3) 的低电平信号若继续保持下去(一般可能保持时间较长),中断 请求标志IE0/IEl就无法清零,就会发生重复响应中断情况, 引起出错。需要采取软硬件结合的方法撤消引起重复中断相应 引脚的低电平信号。 硬件电路如教材书图5-4所示。当外部设备有中断请求时, 中断请求信号经反相,加到锁存器CP端,作为CP脉冲。由于 D端接地为0,Q端输出低点平,触发INT0产生中断。当CPU 响应中断后,应在该中断服务程序中按排两条指令: CLR P1.0; SETB P1.0; 使P1.0输出一个负脉冲信号,加到锁存器Sp端(强迫置“1” 端),Q端输出高点平,从而撤消引起重复中断的INT0低电平 信号。因此一般来说,对外中断INT0、INT1,应尽量采用边 沿触发方式,以简化硬件电路和软件程序。
14.89C51中断处理过程包括哪四个步骤?简述中断处理过程。 答:中断处理过程大致可分为四步:中断请求、中断响应、中 断服务和中断返回。 ①中断请求:由中断源向CPU发出中断请求信号。 ②中断响应:在满足中断响应条件下,响应中断,保存断点地 址,将相应中断的入口地址送入PC。 ③中断服务:执行中断服务程序,完成中断源要求的相应操作。 ④中断返回:恢复断点地址,开放同级中断。 15.89C51响应中断有什么条件? 答:中断响应条件: ①该中断已经“开中”; ②CPU此时没有响应同级或更高优先级的中断; ③当前正处于所执行指令的最后一个机器周期; ④正在执行的指令不是RETI或者是访向IE、IP的指令;否则必 须再另外执行一条指令后才能响应。
c51单片机定时器中断的执行过程
c51单片机定时器中断的执行过程
C51单片机定时器中断的执行过程可以分为以下几个步骤:
1. 初始化定时器:首先需要对定时器进行初始化,设置定时器的计数模式、计数值、溢出方式等参数。
这些参数可以通过编程实现,也可以通过硬件电路进行调整。
2. 启动定时器:初始化完成后,需要启动定时器。
启动定时器后,定时器开始按照预设的参数进行计数。
当计数值达到预设的溢出值时,定时器会产生一个溢出信号。
3. 设置中断服务程序:为了在定时器溢出时执行特定的操作,需要设置一个中断服务程序 ISR)。
中断服务程序是一段特殊的代码,它会在定时器溢出时被自动调用。
4. 开启中断:在中断服务程序设置完成后,需要开启相应的中断。
开启中断后,当定时器溢出时,CPU会自动跳转到中断服务程序执行。
5. 执行中断服务程序:当定时器溢出时,CPU会暂停当前任务,跳转到中断服务程序执行。
在中断服务程序中,可以执行一些特定的操作,如更新显示、读取传感器数据等。
6. 返回主程序:中断服务程序执行完成后,CPU会自动返回到主程序继续执行。
这样,通过定时器中断,可以实现对单片机的周期性控制和数据采集等功能。
《单片机》课程标准
《单片机原理及应用》课程标准适用专业:五年制高职楼宇智能化工程技术专业(560404)课程类别:□A类(纯理论课);RB类(理论+实践);□C类(纯实践课)课程性质:G1必修课;口专业选修课;口公共选修课教学时数:72学时总学分数:4学分一、课程概述(一)课程性质地位单片机课程是高职高专电子类相关专业的的一门专业课程。
可作为(高中后大专、对口单招、五年制高职)层次学生的教学参考。
它以MCS-51单片机为例,详细介绍片内结构、工作原理、接口技术和单片机在各领域中的应用。
为学生进一步学习微机在智能仪表、工业控制领域中的应用技术奠定必要的基础。
(二)课程基本理念《单片机原理及应用》是一门实践性很强的课程,它服务于工程实际,其主要任务是通过学习单片机的结构、工作原理、接口技术和单片机汇编语言程序设计的知识,使学生掌握单片机的基本结构、接口技术以及汇编语言程序设计方法,熟悉单片机应用系统各主要环节的设计、调试方法,并了解单片机在测量、控制、机电一体化等领域的应用,初步具备应用单片机进行机电设备技术改造、产品开发的能力。
本课程的教学重在培养学生的创新意识和学习能力以及分析问题、解决问题的能力,形成以学生为中心的教学模式,采用启发式教学方法,突出教师的指导作用,突出能力培养,体现实用性原则,采用多煤体教学手段,强化作业的设计性、连续性、综合性,倡导研究性学习,激发学生创造欲望和专业学习兴趣。
(≡)课程设计思路本课程主要以80C51系列单片机为体系,通过学习单片机的结构、工作原理、接口技术和单片机汇编语言程序设计的知识,使学生掌握单片机的基本结构、接口技术以及汇编语言程序设计方法,熟悉单片机应用系统各主要环节的设计、调试方法,并了解单片机在测量、控制、机电一体化等领域的应用,初步具备应用单片机进行机电设备技术改造、产品开发的能力。
主要内容可以分为四个大的模块:(1)8051系列单片机的结构和工作原理;(2)单片机主要接口芯片的结构及工作原理;(3)单片机的指令系统和汇编程序设计;(4)单片及应用系统的开发设计二、课程目标知识教学目标:C语言是一种通用程序设计语言,具有表达简洁、控制流与数据结构先进和操作功能丰富等特点。
80C51单片机内部结构和工作原理
⒋ I/O线
80C51共有4个8位并行I/O端口:P0、P1、P2、 P3口,共32个引脚。P3口还具有第二功能,用于特 殊信号输入输出和控制信号(属控制总线)。
P3.0 —— RXD:串行口输入端; P3.1 —— TXD:串行口输出端; P3.2 —— INT0:外部中断0请求输入端; P3.3 —— INT1:外部中断1请求输入端; P3.4 —— T0:定时/计数器0外部信号输入端; P3.5 —— T1:定时/计数器1外部信号输入端; P3.6 —— WR:外RAM写选通信号输出端; P3.7 —— RD:外RAM读选通信号输出端。
度比一般内RAM要快,指令字节比一般直接寻址 指令要短,还具有间址功能,能给编程和应用 带来方便。
工作寄存器区分为4个区:0区、1区、2区、3 区。每区有8个寄存器:R0~R7,寄存器名称相 同。但是,当前工作的寄存器区只能有一个,由 PSW中的D4、D3位决定。
⒉ 位寻址区
⑴地址: 从20H~2FH共16字节(Byte,缩写为英文大写字
Intel MCS-52 子系列
8032 8052
8752
256
80C32 80C52 87C52 字节
(8K字节) (8K字节)
3x16
4x8位
1
6
1051(1K)/ 2051(2K)/ 4051(4K)
ATEML
(20条引脚DIP封装)
128
2
15
1
5
89C系列
(常用型)
89C51(4K)/ 89C52(8K) (40条引脚DIP封装)
04H
03H
第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、80C51中断系统中有几个中断源请写出这些中断源同级
1、80C51中断系统中有几个中断源?请写出这些中断源同级时优先级的顺序。
80C51有五个中断源。
由最高到最低的次序依次为外部中断0中断、定时器0中断、外部中断1中断、定时器1中断、串行口中断2、80c51各中断标志是如何产生的,又是如何清0的?产生中断标志可以外部中断的低电平触发或者是下降沿触发,定时器/计数器的溢出以及串行口的发送和接受。
中断的清除可有三种方式:硬件自动清除(适用于T0、T1以及下降沿触发的外部中断)、软件清除(适用于串行口中断)、外加硬件清除(适用于低电平触发的外部中断)3、在外部中断中,有几种触发方式?如何选择中断源的触发方式?有两种触发方式,分别为低电平触发和下降沿触发。
中断的触发方式有TCON 中的IT0、IT1控制,若为0,则是低电平触发;若为1,则是下降沿触发。
4、80c51中断系统中有几个优先级别?如何设定?有高低两个优先级。
中断系统中本来就存在自然优先级,同样也可以通过特殊功能寄存器IP中各个位的设置,改变原来的优先级。
置位时为高优先级组,清零时为低优先级组。
5、简述MCS-51中断响应的过程。
1:CPU在每个机器周期的S5P2检测中断源。
在下一个机器周期的S6期间,若有某中断标志位为1,则按优先级高低进行处理,响应中断。
2:响应中断后,CPU首先使被响应中断的相应的优先级激活触发器置位,以阻挠同级和低优先级的中断响应,然后执行硬件生成的长调用指令“LCALL”,将程序计数器PC的内容压入堆栈保护起来。
3:将对应中断源的中断矢量地址装入程序计数器PC,使程序转向该中断矢量地址,去执行中断服务程序,直至遇到RETI为止。
4:执行RETI指令,从堆栈中弹出断点地址进入PC,恢复原程序的执行。
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进行设置。 进行设置
单片机原理及应用技术(第3版)+李全利+习题答案
章1 绪论1.第一台计算机的问世有何意义?答:第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。
与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。
2.计算机由哪几部分组成?答:由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。
3.微型计算机由哪几部分构成?答:微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4.微处理器与微型计算机有何区别?答:微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、存储器和I/O接口电路等。
5.什么叫单片机?其主要特点有哪些?答:在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。
6.微型计算机有哪些应用形式?各适于什么场合?答:微型计算机有三种应用形式:多板机(系统机)、单板机和单片机。
多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。
单板机,I/O设备简单,软件资源少,使用不方便。
早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。
单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。
7.当前单片机的主要产品有哪些?各有何特点?答:多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。
因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有:●ATMEL公司融入Flash存储器技术推出的AT89系列单片机;●Philips公司推出的80C51、80C552系列高性能单片机;●华邦公司推出的W78C51、W77C51系列高速低价单片机;●ADI公司推出的ADμC8xx系列高精度ADC单片机;●LG公司推出的GMS90/97系列低压高速单片机;●Maxim公司推出的DS89C420高速(50MIPS)单片机;●Cygnal公司推出的C8051F系列高速SOC单片机等。
第5章:中断系统2
•
• •
中断优先级的判定 中断源的优先级别分为高级和低级,通过由软件 设置中断优先级寄存器IP相关位来设定每个中断 源的级别。 如果几个同一优先级别的中断源同时向CPU请求 中断,CPU通过硬件查询电路首先响应自然优先 级较高的中断源的中断请求。 中断可实现两级中断嵌套。高优先级中断源可中 断正在执行的低优先级中断服务程序,除非执行 了低优先级中断服务程序的CPU关中断指令。同 级或低优先级的中断不能中断正在执行的中断服 务程序。
5.2 中断处理过程
• 中断处理流程 • 中断嵌套 • 中断的应用实例
中断处理流程
执行一条指令 取下一条指令
•
中断处理过程可分为 中断请求、中断响应、中 断处理和中断返回四个阶 段。不同的计算机因其中 断系统的硬件结构不同, 因此,中断响应的方式也 有所不同。这里仅以8051 单片机为例进行叙述。其 主要内容及一般顺序如图 5-3所示。
(4)中断请求的撤除
• 中断源发出中断请求,相应中断请求标志置“1”。CPU响应 中断后,必须清除中断请求“1”标志;否则中断响应返回后, 将再次进入该中断,引起死循环出错。如何撤除中断请求标 志的说明如下:
• 定时器溢出中断请求的撤除:
• 对于定时器0或1溢出中断,CPU在响应中断后即由硬件自动 清除其中断标志位TF0或TF1,用户无须采取其他措施。
编写中断服务程序时应注意
① 在中断矢量地址单元处放一条无条件转移指令(如
LJMP ××××H),使中断服务程序可灵活地安排
在64KB程序存储器的任何空间。
② 在中断服务程序中,用户应注意用软件保护现场,
以免中断返回后丢失原寄存器、累加器中的信息。
③ 若要在执行当前中断程序时禁止更高优先级中断,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 现场保护与现场恢复