文档详情

第四节(中断系统1).ppt

发布:2017-06-02约5.2千字共38页下载文档
文本预览下载声明
引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。 中断功能强弱是计算机性能优劣的重要标志 ?提高CPU效率 ?解决速度矛盾 ?实现并行工作 ?应付突发事件 …… 中断优先级处理原则 80C51单片机中断处理过程 一、中断响应条件 中断源有中断请求; 此中断源的中断允许位为1; CPU开中断(即EA=1)。 中断优先级满足相应条件。 CPU才有可能响应中断。 二、中断服务的进入: CPU执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。 如果某个中断标志在上一个机器周期的S5P2时被置成了1,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。 四、中断响应时间 将相应的优先级状态触发器置1(以阻断后来的同级或低级的中断请求)。 执行一条硬件LCALL指令,即把程序计数器PC的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC。 执行中断服务程序。 若外部中断定义为电平触发方式,中断标志位的状态随CPU在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高CPU对外部中断请求的响应速度。但外部中断源若有请求,必须把有效的低电平保持到请求获得响应时为止,不然就会漏掉;而在中断服务程序结束之前,中断源又必须撤消其有效的低电平,否则中断返回之后将再次产生中断。 80C51单片机的中断处理的原则: 中断应用举例: 统计脉冲信号的个数,累计到100个脉冲时使P1.0口的状态改变一次 INT0 8031 系统 P1.0 主程序与中断子程序的流程图: 开始 外部中断初始化 清0计数寄存器R3 P1.0初始化输出 等待 计数寄存器+1 是否计满100个数 取反P1.0 清0 R3 中断返回 Y N 程序设计: ORG 0000H AJMP MAIN ORG 0003H AJMP EXINT0 MAIN: MOV SP,#60H SETB IT0 SETB EX0 SETB EA MOV R3,#00H CLR P1.0 HERE: SJMP HERE EXINT0: INC R3 CJNE R3,#64H,NEXT MOV R3,#00H CPL P1.0 NEXT: RETI 作业:8031的P1口分别接8个LED,在INT0上输入周期为100HZ的方波,每100个脉冲有一个LED熄灭,熄灭的LED循环移位。 ORG 0000H LJMP MAIN ORG 0003H LJMP EXINT0 ORG 1000H MAIN: MOV SP,#60H SETB IT0 SETB EX0 SETB EA MOV R4,#00H MOV R3,#00H MOV P1,#0FFH LOOP: LCALL CHECKANJ LJMP LOOP EXINT0: INC R4 CJNE R4,#64H,EXEND MOV R4,#00H INC R3 CJNE R3,#1,EXLOOP1 MOV P1,#0FEH LJMP EXEND EXLOOP1: CJNE R3,#2,EXLOOP2 MOV P1,#0FDH LJMP EXEND EXLOOP2: CJNE R3,#3,EXLOOP3 MOV P1,#0FBH LJMP EXEND EXLOOP3: CJNE R3,#4,EXLOOP4 MOV P1,#0F7H LJMP EXEND EXLOOP4: CJNE R3,#5,EXLOOP5 MOV P1,#0EFH LJMP EXEND EXLOOP5: CJNE R3,#6,EXLOOP6 MOV P1,#0DFH LJMP EXEND EXLOOP6: CJNE R3,#7,EXLOOP7 MOV P1,#0BFH LJMP EXEND EXLOOP7: MOV P1,#07FH MOV R3,#00H EXEND: RETI * 结合复位后中断系统的状态说明中断初始化的必要性 * 掌握中断程序的架构 第四章 中断系统 中断是指CP
显示全部
相似文档