二、补充及扩展
1、中断请求信号的产生
①1NT0和1NT1:外部中断0和外部中断1,其中断请求信号分别由P3.2、P3.3引脚输入,请求信号的有效电平由IT0和IT1设置,一旦输入信号有效,则将TCON中的IE0或IE1标志置1,可向CPU申请中断。
②TF0和TF1:定时器0和定时器1的溢出中断。当T0或T1计数器加1,计数产生溢出时,则将TCON中的TF0或TF1置位,向CPU申请中断
③RI和TI:串行口接受和发送中断。当串行口接受或发送完一帧数据时,将SCON中的RI、TI位置1,向CPU申请中断。
当某中断的中断源请求被CPU响应之后,CPU将自动把此中断入口地址(又称中断矢量地址)装入PC,中断服务程序即从此址开始执行,因此一般在此地址单元存在一个绝对的转移指令,可以跳至用户安排的中断服务程序的入口处。
1、 中断入口地址
CPU响应某中断请求后,在中断返回(RET1)之前,该中断请求应该撤销,否则会引起另一次中断。51单片机各中断源请求撤销的方法各不相同。
① 外部中断源的撤销与设置的中断触发方式有关。
a 对于变设触发的外部中断,CPU在响应中断后,也是由硬件自动将IE0或IE1标志位清除。也无需采取其他措施。
b 电平触发方式的外部中断,在硬件上CPU对INT0和INT1引脚的信号完全没有控制。(在专用寄存器中没有相应的中断请求标志),也不像某些微机处理机那样,响应中断后会自动发出一个响应信号。因此在51单片机用户系中,要另外采取撤销外部中断请求的措施。活着外部器件本来就有撤销中断请求的设计(如8255)
下面给出一种撤销外部中断请求的方案
外部中断请求信号
外部中断请求信号不直接加在INTi引脚上,而是加在D触发器的CLK时钟端。由于D端接地,当外中断的正脉冲信号出现在CLK端时,D触发器置0,使INTi有效,向CPU发出中断请求。CPU响应中断,利用一根D线作为应答线,上图的P1.0接触发器的S端,在中断服务程序中用下面2条指令撤销中断请求。
ANL PI,#0FEH ;使P1.0=0
ORL PI,#01H ;使P1.0=1
这两条指令执行后,P1.0输出一个负脉冲,其持续时间为2个机器周期,足以使D触发器置位,而撤销端口外部中断请求。第二条指令使S失效,不至于INTi始终为1,无法再次中断。
② 定时器0和定时器1的溢出中断,CPU响应后,就由硬件自动清除TF0或TF1标志位,即中断请求自动撤销,无需采取其他措施
③ 串行口的中断,CPU响应后,硬件不能自动清除T1和RI标志位,因此CPU响应中断后,必须在中断服务程序中,软件清零,以撤销中断请求。
5.计算机与外设交换信息的方式
由于外设速度各异,因此计算机与外设交换信息时,一般有四种传送方式,既无条件传送方式、查询式传送方式、中断传送方式,以及直接存储器存取(DMA)方式。
关键字:51单片机 中断系统 请求源
引用地址:
51单片机系列知识7--中断系统(2)
推荐阅读最新更新时间:2024-11-17 15:58
51单片机教程:单片机寻址方式与指令系统
通过前面的学习,我们已经了解了单片机内部的结构,并且也已经知道,要控制单片机,让它为我们干学,要用指令,我们已学了几条指令,但很零散,从现在开始,我们将要系统地学习8051单片机的指令部份。 一、概述 1、指令的格式 我们已知,要让计算机做事,就得给计算机以指令,并且我们已知,计算机很“笨”,只能懂得数字,如前面我们写进机器的75H,90H,00H等等,所以指令的第一种格式就是机器码格式,也说是数字的形式。但这种形式实在是为难我们人了,太难记了,于是有另一种格式,助记符格式,如MOV P1,#0FFH,这样就好记了。 这两种格式之间的关系呢,我们不难理解,本质上它们完全等价,只是形式不一样而已。 2、汇编 我们写指令使用
[单片机]
P10点阵屏C51单片机程序
P10点阵屏C51程序 1/4扫描,四扫下行,1路16行,数据低OE高(04-P16-08) 适用于HUB12接口单色P10 串口模式0,普通左移,亮度速度可调,6个IO口,用的STC8F1K08,最多231个字 制作出来的实物图如下: 单片机源程序如下: #include STC8.H #include intrins.h #include string.h #define DATA P30 // #define CLOCK P31 //↑ ↓ #define ADDR_A P32 //↑ #define
[单片机]
51单片机之声双色点阵驱动
a 单色点阵与双色点阵发光原理 1)单色点阵 单色LED点阵等效图如下: 8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图上图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述: 一根竖柱:对应的列置1,而行则采用扫描的方法来实现。一根横柱:对应的行置0,而列则采用扫描的方法来实现。 2)双色点阵 双色点阵示意图如下:COL上有两种颜色LED在相应的管脚上,按单色点阵点亮原理置相应的电平即可发出相应的光。 b硬件
[单片机]
AT89S51单片机报警器的设计
1.实验任务 用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。 2.电路原理图 图4.6.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上; (2).在“音频放大模块”区域中的SPK OUT端口上接上一个8欧的或者是16欧的喇叭; (3).把“单片机系统”区域中的P1.7/RD端口用导线连接到“四路拨动开关”区域中的K1端口上; 4.程序设计内容 (1).信号产生的方法 500
[单片机]
基于51单片机的简易数字频率计
要求使用定时/计数器1作定时用,定时1s;定时/计数器0作计数器用,被计数的外部脉冲从P3.4(T0)接入。 单片机将在1s内对脉冲计数并送四位数码管显示,最大计数显示值为0FFFFH。 求程序。 ;=============================================== 最佳答案:这是个简易频率计,程序如下: ;--------------------------------- ORG 0000H JMP START ORG 000BH JMP T0_INT ;--------------------------------- START: MOV TMOD, #51H ;/*01
[单片机]
51单片机中的定时器和计数器
从上面定时器/计数器的结构图中我们可以看出,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)输入。 定时计数器的原理:
[单片机]
浅谈8051单片机进行外部数据交换的3种方式
单片机CPU与外部设备交换信息通常有如下几种方式:无条件传送方式,查询传送方式和中断传送方式。我们以单片机与微型打印机接口为例讲述这三种方式。假定用户要打印三个数据,这三个数据保存在单片机的内部数据存储器10H,11H,和12H中,8051用并口P2与微型打印机的并行数据口DB进行数据交换。 (1)无条件传送方式 这种数据传送方式中没有联络信号,即CPU总是认为打印机在如何时候都是处于“准备好”的状态。这种传送方式中只需要在程序中加入数据送往P2的指令,数据传送便可以实现。但这种数据传送方式有一个致命弱点,数据易丢失,这是因为CPU的速度相当快,而打印机的速度相对来说较慢,其结果是在打印机打印一个数据的时间内,CPU已送来了
[单片机]
基于51单片机控制的多路呼叫系统设计
随着信息技术的发展与医疗卫生事业的深化改革,国家金卫工程的实施使医院管理信息化的进程大大加快,医院的信息化建设取得了很大进展。医疗行业面对激烈竞争的市场,需要为病患者提供更人性化,更合理的服务,医疗资源的共享和信息化流程的简化,医疗部门办公网络化、自动化,实现全面信息共享已是大势所驱。越来约多的医院认识到,只有通过信息化建设,逐步建立信息化医院和医疗企业,才能支持医院的可持续发展,从而大力提高医院综合效益和运行效益。因此,设计一个支持医院病床呼叫,具有一条线缆传输多路呼叫信息的功能的系统,是非常必要的。 1 多路呼叫系统整体设计方案 该系统利用单片机的双机通信功能,设计出的具有呼叫、显示、应答等功能的多路呼叫系统,就是为满足中
[单片机]