文档详情

第04章单片机中断系统单片机原理与应用-基于实例驱动和Proteus仿真(李林功)课后答案科学.doc

发布:2017-04-17约4.14千字共6页下载文档
文本预览下载声明
第4章 单片机中断系统 习题解答 一、填空题 1.MCS-51单片机有????5?? 个中断源。上电复位时,同级中断的自然优先级从高至低依次为???外中断0、定时器/计数器0、外中断1、定时器/计数器1、串行口?,若IP,优先级别最高者为??外中断1? 、最低者为??定时器/计数器1????? 。 2.外部中断请求有????低电平??? 触发和???下降沿?? 触发两种触发方式。 3.MCS-51单片机5个中断源的中断入口地址为:?? 0003H、000BH、0013H、001BH、0023H ???。 4.当定时器/计数器1申请中断时,TF1为 1 ,当中断响应后,TF1为 0 。当串口完成一帧字符接收时,RI为 1 ,当中断响应后,RI为 1 ,需要 软件 清零。 5.中断源扩展有三种方式,分别是 定时器/计数器扩展、查询方式扩展、中断控制芯片扩展 。 二 简答题 1.MCS-51单片机有几个中断源?各中断标志是如何产生的?如何撤销的?各中断源的中断矢量分别是什么? 答:MCS-51单片机有5个中断源。外中断0/1电平触发方式,在对应引脚上检测到低电平将中断标志位IE0/1置1向CPU申请中断,边沿触发方式,在对应引脚上检测到负跳变将中断标志位IE0/1置1向CPU申请中断;定时器/计数器0/1在计数溢出时将TF0/1置1向CPU申请中断;串行口发送1帧结束将TI置1或接收1帧数据将RI置1向CPU申请中断。对于T0/T1和边沿触发的INT0/INT1中断标志在进入中断服务程序后自动撤销;对于电平触发的INT0/INT1需在中断申请引脚处加硬件撤销电路;对于串行口中断标志TI/RI需在进入中断服务程序后用软件CLR RI或CLR TI,撤销。它们的中断矢量分别是:0003H、000BH、0013H、001BH、0023H。 2.简述MCS-51中断过程 答:中断过程分中断申请、中断响应、中断处理、中断返回4个阶段。 中断请求:各中断源根据自身特点施加合适的信号,将对应的中断标志位置1向CPU申请中断。 中断响应:CPU对中断请求进行判断,形成中断矢量,转入响应的中断服务程序。 中断处理:根据各中断源要求执行响应中断服务程序。 中断返回:中断服务程序结束后,返回主程序。 3.简述外中断和的2种触发方式(电平、边沿)的异同。 答:相同点:都是在检测到有效信号后将中断标志位置1,向CPU申请中断。 不同点:电平触发的有效信号是低电平;边沿触发的有效信号是负跳变,前一次检测到高电平,后一次检测到低电平。 4.MCS-51单片机响应中断时,如何保护断点?如何转移到中断服务应用程序? 答:保护断点:单片机在进入中断服务程序前先将当前PC以及其它响应寄存器压入堆栈。转入中断服务程序:单片机将当前中断源的中断矢量赋给PC,相当于一条长跳转指令。 5.电路如图4-7所示。编写程序,用两级中断实现如下功能。电路正常工作时,两个LED同时点亮;若先按下按键K0后,LED1熄灭,LED0闪烁10次;若在LED0闪烁期间按下按键K1,则LED0熄灭,LED1闪烁,闪烁10次后,LED1熄灭,LED0继续闪烁。若先按下按键K1,则LED1闪烁,闪烁10次后,LED1熄灭。若在LED1闪烁其间,按下K0,不能中断LED1的闪烁;等到LED1闪烁结束后,LED0闪烁10次。闪烁结束后,恢复正常工作。 R LED1 LED0 P1.0 P1.1 P3.2 P3.3 8051 Vcc R K0 K1 答:参考程序如下 #includereg51.h #define uint unsigned int #define uchar unsigned char sbit LED0 = P1^0; sbit LED1 = P1^1; void flashled0(); void flashled1(); void delayms(uint i); main() {PX1=1;IT0=1;IT1=1; EX0=1;EX1=1;EA=1; while(1);} void serint0() interrupt 0 { uchar i; LED1 = 0; for(i=0;i10;i++) flashled0();} void serint1() interrupt 2 { uchar i; LED0 = 0; for(i=0;i10;i++) flashled1();} void flashled0() {LED0 = 1; delayms(250); LED0 = 0;} void flashled1() {LED1 = 1; delayms(250); LED1 = 0;} void d
显示全部
相似文档