第十二次课(共2学时)一、授课题目:STC15F2K60S2的中断系统(上)二、教学目标和任务:1.掌握中断相关概念;2.理解中断系统需要解决的问题:3.理解STC15F2K60S2中断系统结构图;4.掌握外部中断0、定时/计数器中断0、外部中断1、定时/计数器中断1、串口中断、AD转换中断的中断触发条件、中断标志;5.掌握中断的优先级、自然优先级;6.理解中断响应过程;7.了解中断请求的撤销。三、教学重难点:重点:外部中断0、定时/计数器中断0、外部中断1、定时/计数器中断1、串口中断、AD转换中断的中断触发条件、中断标志;中断的优先级、自然优先级。难点:中断响应过程。四、授课过程:回顾:独立按键判别方法、按键消抖和防误触发程序、矩阵键盘识别程序。0.引入CPU和外设的交互方式分为以下几种:1)无条件方式1
1 第十二次课(共 2 学时) 一、授课题目:STC15F2K60S2 的中断系统(上) 二、教学目标和任务: 1. 掌握中断相关概念; 2. 理解中断系统需要解决的问题; 3. 理解 STC15F2K60S2 中断系统结构图; 4. 掌握外部中断 0、定时/计数器中断 0、外部中断 1、 定时/计数器中断 1、串口中断、AD 转换中断的中断触发条件、 中断标志; 5. 掌握中断的优先级、自然优先级; 6. 理解中断响应过程; 7. 了解中断请求的撤销。 三、教学重难点: 重点:外部中断 0、定时/计数器中断 0、外部中断 1、定 时/计数器中断 1、串口中断、AD 转换中断的中断触发条件、 中断标志;中断的优先级、自然优先级。 难点:中断响应过程。 四、授课过程: 回顾:独立按键判别方法、按键消抖和防误触发程序、矩 阵键盘识别程序。 0.引入 CPU 和外设的交互方式分为以下几种: 1)无条件方式
外设时刻准备好的情况下适用,LED灯、按键、继电器等。2)查询方式CPU查询外设是否准备好,如果准备好则响应,未准备好则等待,如:打印机。3)中断CPU与外设并行工作,外设准备好后提出请求,CPU根据情况进行响应。中断功能的强弱已成为衡量一台计算机功能是否完善的重要标志。1.中断系统相关概念中断:中断指的是CPU与外设并行工作,当外设数据准备好(或者发生紧急事件)时,CPU停下正在执行的程序,转而服务外设或者处理紧急情况,处理完毕后再回到断点继续执行之前的任务。图1所示,一个完整的中断包括4个步骤:中断请求、中断响应、中断服务、中断返回。CPU执行低级CPU执行高级CPU执行主程序主程序中断服务程序中断服务程序响应中断请求中新服务程序响应低级中断请求新请求高缓断点8低级肩应高高级中新中斯继续执行主程序请求请求!返国主程序国主程!图1中断响应过程示意图中断源:引起中断的根源或原因。中断优先级:当几个中断同时请求时,CPU应该先响应哪2
2 外设时刻准备好的情况下适用,LED 灯、按键、继电器等。 2)查询方式 CPU 查询外设是否准备好,如果准备好则响应,未准备好 则等待,如:打印机。 3)中断 CPU 与外设并行工作,外设准备好后提出请求,CPU 根据 情况进行响应。中断功能的强弱已成为衡量一台计算机功能是 否完善的重要标志。 1. 中断系统相关概念 中断:中断指的是 CPU 与外设并行工作,当外设数据准备 好(或者发生紧急事件)时,CPU 停下正在执行的程序,转而 服务外设或者处理紧急情况,处理完毕后再回到断点继续执行 之前的任务。 图 1 所示,一个完整的中断包括 4 个步骤:中断请求、中 断响应、中断服务、中断返回。 图 1 中断响应过程示意图 中断源:引起中断的根源或原因。 中断优先级:当几个中断同时请求时,CPU 应该先响应哪
个中断?为了解决这个问题,事先会定义好中断优先级,先响应优先级高的中断。中断嵌套:当执行低级别的中断时,有高级别的中断提出请求,此时CPU会执行高级别中断,执行完后回到低级别中断,最后回到主程序的过程。2.中断系统需要解决的技术问题1)事先规定好可以响应哪些中断源:2)记录中断请求;3)中断信号的屏蔽与允许:4)响应中断后可以跳转到中断服务程序,执行完中断服务后还能回到断点;5)有事先规定好的优先级:6)可实现中断嵌套。3.STC15F2K60S2单片机的中断系统对照图2,进行仔细讲解,要点如下:1)interruptsource(中断源):中断系统有14个中断请求源,比传统的89系列芯片多9个。2)interruptrequestrecording(记录中断请求)SFR实现3)Whetherandwhatinterruptsareallowed(表示是否允许中断,允许哪些中断)SFR实现4)whereisthe interrupt serviceroutine响应中断时,程序断点被压入堆栈,编号n的中断从8n+3处执行程3
3 个中断?为了解决这个问题,事先会定义好中断优先级,先响 应优先级高的中断。 中断嵌套:当执行低级别的中断时,有高级别的中断提出 请求,此时 CPU 会执行高级别中断,执行完后回到低级别中断, 最后回到主程序的过程。 2. 中断系统需要解决的技术问题 1)事先规定好可以响应哪些中断源; 2)记录中断请求; 3)中断信号的屏蔽与允许; 4)响应中断后可以跳转到中断服务程序,执行完中断服 务后还能回到断点; 5)有事先规定好的优先级; 6)可实现中断嵌套。 3. STC15F2K60S2 单片机的中断系统 对照图 2,进行仔细讲解,要点如下: 1)interrupt source(中断源): 中断系统有 14 个中断请求源,比传统的 89 系列芯片多 9 个。 2)interrupt request recording(记录中断请求) SFR 实现 3)Whether and what interrupts are allowed(表示是 否允许中断,允许哪些中断)SFR 实现 4)where is the interrupt service routine 响应中 断时,程序断点被压入堆栈,编号 n 的中断从 8n+3 处执行程
序哪里执行程序,执行完中断服务后,从堆栈中取出断点,跳到断点处执行程序。5)presupposedinterruptprioritylevel(预设优先级)提供优先级设定的机制,优先响应级别高的中断6)allowinterruptnesting(允许嵌套)提供优先级设定机制,高级别中断可以打断低级别中断商设中新清水师IEIP固然优先TOON10-0PXO51TEOINTOrO20101PTO51VPC天童TFOTOET820地址m0PXI 51IEIEXI20板饭PT151自然TFIETT12O中斯请求优先TXTIPSHESRXRIEAVPC失量SCON地址源允许总允许优先级中断标志硬件查询中断系统图2中断结构示意图4.STC15F2K60S2单片机的中断源共14个中断源,需要掌握的六个中断源如下:1)externalinterrupt0外部中断0(INTo):P3.2引脚引入,触发方式有下降沿和上升下降沿两种。ITO=0时,为上升或下降沿触发,ITO=1时为下降沿触发。满足触发条件自动置位IEO。2)Timer0定时器/计数器TO溢出中断TO,定时器/计数器TO溢出时自动置位TFO。3)externalinterrupt0外部中断1(INT1):4
4 序哪里执行程序,执行完中断服务后,从堆栈中取出断点,跳 到断点处执行程序。 5)presupposed interrupt priority level(预设优先级) 提供优先级设定的机制,优先响应级别高的中断 6)allow interrupt nesting(允许嵌套)提供优先级设 定机制,高级别中断可以打断低级别中断 中断系统 PX0 IE0 PT0 TF0 PX1 IE1 PT1 TF1 PS 1 0 1 0 1 0 1 0 1 0 TI RI TCON IE IP EX0 ET0 EX1 ET1 ES EA IT0=0 IT0=1 INT0 INT1 IT1=0 IT1=1 T0 T1 TX RX 自 然 优 先 级 矢量 地址 自 然 优 先 级 矢量 地址 高 级 中 断 请 求 PC 低 级 中 断 请 求 PC SCON 源允许 总允许 优先级 中断标志 硬件查询 图 2 中断结构示意图 4. STC15F2K60S2 单片机的中断源 共 14 个中断源,需要掌握的六个中断源如下: 1)external interrupt 0 外部中断 0(INT0): P3.2 引脚引入,触发方式有下降沿和上升下降沿两种。 IT0=0 时,为上升或下降沿触发, IT0=1 时为下降沿触发。满足触发条件自动置位 IE0。 2)Timer 0 定时器/计数器 T0 溢出中断 T0, 定时器/计数器 T0 溢出时自动置位 TF0。 3)external interrupt 0 外部中断 1(INT1):
P3.3引脚引入,触发方式有下降沿和上升下降沿两种。IT1=0时,为上升或下降沿触发,IT1=1时为下降沿触发。满足触发条件自动置位IE1。4)Timer1定时器/计数器T1溢出中断Tl,定时器/计数器T1溢出时自动置位TF1。5)Serialportinterrupted串1中断一个中断源,两种中断标识,串口1发送完一串行帧时置位TI,接收完一串行顿时置位RI。6)A/DconversioninterruptA/D转换中断当A/D转换结束后,置位ADCFLAG。5.中断优先级和中断嵌套1)2个中断优先级0和1,0为低优先级,1为高优先级2)可实现二级嵌套3)优先级为1的中断源高于优先级为0的中断源,当中断源级别相同时,按照自然优先级判别,从高到低依次为INTO、TO、INT1、T1、串口1中断、A/D转换中断。4)自然优先级是硬件决定的。6.中断响应过程CPU在每个指令周期的最后时刻,采样各中断源,如有中断发生则置位中断标志,在下一个指令周期的最后时刻按照优先级查询各个中断的标志,查询到1时,如果满足以下条件,则相应该中断。一个中断源中断请求被响应,须满足以下必要条件:1)该中断源发出中断请求,即该中断源对应的中断请求5
5 P3.3 引脚引入,触发方式有下降沿和上升下降沿两种。 IT1=0 时,为上升或下降沿触发, IT1=1 时为下降沿触发。满足触发条件自动置位 IE1。 4)Timer 1 定时器/计数器 T1 溢出中断 T1, 定时器/计数器 T1 溢出时自动置位 TF1。 5)Serial port interrupted 串口 1 中断 一个中断源,两种中断标识,串口 1 发送完一串行帧时置 位 TI,接收完一串行帧时置位 RI。 6)A/D conversion interrupt A/D 转换中断 当 A/D 转换结束后,置位 ADC_FLAG。 5. 中断优先级和中断嵌套 1)2 个中断优先级 0 和 1,0 为低优先级,1 为高优先级 2)可实现二级嵌套 3)优先级为 1 的中断源高于优先级为 0 的中断源,当中 断源级别相同时,按照自然优先级判别,从高到低依次为 INT0、 T0、INT1、T1、串口 1 中断、A/D 转换中断。 4)自然优先级是硬件决定的。 6. 中断响应过程 CPU 在每个指令周期的最后时刻,采样各中断源,如有中 断发生则置位中断标志,在下一个指令周期的最后时刻按照优 先级查询各个中断的标志,查询到 1 时,如果满足以下条件, 则相应该中断。 一个中断源中断请求被响应,须满足以下必要条件: 1)该中断源发出中断请求,即该中断源对应的中断请求