单片微型计算机与接口技术思考与习题6
解析下列名词,中断、中断源、中断优先级、中断的嵌套、中断系统。
答,(1)中断,CPU和外设并行工作,当外设数据准备好或有某种突发事件发生时,向CPU提出请求,CPU暂停正在执行的程序转而为该外设服务(或处理紧急事件),处理完毕再回到原断点继续执行原程序
(2)中断源,引起中断的原因和发出中断申请的来源。
(3)中断优先级,当有多个中断源同时向CPU申请中断时,CPU优先响应最需紧急处理的中断请求,处理完毕再响应优先级别较低的,这种预先安排的响应次序。
(4)中断的嵌套,在中断系统中,高优先级的中断请求能中断正在进行的较低级的中断源处理。
(4)中断系统,能实现中断功能并能对中断进行管理的硬件和软件。
8XX51有几个中断源各中断标志是如何产生的,又如何清除
答,8XX51有5个中断源。
(1)产生,(INT0)引脚的低电平或下降沿信号
(INT1)引脚的低电平或下降沿信号
T0定时计数器0计数回零溢出
T1定时计数器1计数回零溢出
TI/RI串行通信完成一帧数据发送或接收引起中断
T0、T1的溢出中断,CPU响应中断后,硬件自动清除中断请求2)清除,对定时计数器INT1和INT0,CPU响应中断后硬件自动清除中断志TF0TF1。对边沿触发的外部中断CPU响应中断后,没有用硬件清除中断请求标求标志IE0和IE1。对于串行口中断,志TI、RI,即这些中断标志不会自动清除,必须用软件清除,这是在编串行通信中断服务中应该注意的。对电平触发的外部中断,CPU在响应中断时也不会自动清除中断标志,因此,在CPU响应中断后应立即撤除INT1或INT0的低电平信号。
简述8XX51中断处理的过程,画出流程图。
解,中断处理过程分为四个阶段,中断请求,中断响应,中断处理、中断返回。流程图
执行指令
中断标志置1
,中断请求,
中断请求
指令最后一个T周期
EA=1允许位=1
CPU判优先权应优先权高的中断中断响应
断点的PC进栈中断服务入口地址送PC
撤除中断标志
中断服务
中断服务
中断返回,断点出栈送PC
中断返回
在题电路的基础上,要求8个LED同时亮或同时灭,每中断一次,变反一次,编出程序。解,
ORG0000H
AJMPMAIN
ORG0003H
CPLA
MOVP1,A
RET1
MAIN:MOVA,#0FFH
MOVP1,A
SETBEA
SETBEX0
SETBIT0
SJMP$
利用8XX51的并行口接2个数码管,显示/(INT1)中断次数,次数不超过两FFH,。个数码管阳极经驱动器接P1口,阴极分别接、。
#include
voidintr(void)voiddelay(void);unsignedchara(b)i=0;unsignedcharcodetab={0x3f(0x06)0x5b(0x4f)0x66(0x7d)0x07(0x7f)0x6f(0x77)0x7c(0x39)0x5e(0x79)0x71,0x73};sbitp3-0=P3^0;sbitp3-1=P3^1;main(){a=tab;b=tab;p3-0=0;p3-1=0;
EA=1;EX0=1;IT0=1;for(;;)
{p3-0=1;p3-1=0;
P1=b;delay();p3-0=0;p3-1=1;
P1=a;delay();
}}voidintr()interrupt(){unsignedcharj,k;
EX0=0;i++;j=i&0xf0;k>>=4;a=tab;b=tab;
EX0=1;}voiddelay(void){
Intx;for(x=0;x