资源描述
第四章第四章 输入输入/输出和中断输出和中断补充习题补充习题1、什么是中断?、什么是中断?2、为什么要引进中断机制?、为什么要引进中断机制?3、中断响应的条件是什么?、中断响应的条件是什么?第四章第四章 输入输入/输出和中断输出和中断4 4.1.1 输入输入/输出输出4 4.2.2 CPUCPU与外设数据传送方式与外设数据传送方式4 4.3.3 计算机的上常见接口计算机的上常见接口4 4.4.4 标准标准5151单片机中断系统单片机中断系统4 4.5.5 中断应用举例中断应用举例授课学时:授课学时:4 44 4.1.1 输入输入/输出输出4 4.2.2 CPUCPU与外设数据传送方式与外设数据传送方式4 4.3.3 计算机的上常见接口计算机的上常见接口4 4.4.4 标准标准5151单片机中断系统单片机中断系统4 4.5.5 中断应用举例中断应用举例4 4.1.1 输入输入/输出输出一、概述概述 输输入入/输输出出(I/O)是是CPU与与外外部部设设备备之之间间进进行行数数据据传传送送的的操操作作,也称通信。也称通信。CPU与存储器:与存储器:均为半导体器件,均为电子器件速度。均为半导体器件,均为电子器件速度。CPU与外设:与外设:电子与机械,速度相差悬殊。电子与机械,速度相差悬殊。I/O设备也称外围设备,品种多,有机械的、有机电的、有电子设备也称外围设备,品种多,有机械的、有机电的、有电子的,与的,与CPU交换信息时,存在以下几个交换信息时,存在以下几个问题:问题:速度不匹配速度不匹配:速度远低于速度远低于CPU,且范围宽且范围宽,如硬盘比打印机快很多。如硬盘比打印机快很多。时序不匹配时序不匹配:与与CPU的时序不同步的时序不同步。信息格式不匹配信息格式不匹配:如串行和并行。如串行和并行。信息类型不匹配信息类型不匹配:有数字信号,模拟信号,正逻辑和负逻辑等。有数字信号,模拟信号,正逻辑和负逻辑等。接口电路究竟起什么作用?接口电路究竟起什么作用?或者说它的任务是什么?或者说它的任务是什么?CPU与与I/O设备间通信时必须要一个起协调作用的电路,即接口设备间通信时必须要一个起协调作用的电路,即接口电路。电路。接口电路的任务:接口电路的任务:对数据提供缓冲(时间和电器性能上):对数据提供缓冲(时间和电器性能上):设置数据的寄存、缓冲逻辑。设置数据的寄存、缓冲逻辑。信息格式相容性变换:信息格式相容性变换:如串并行的转换;电平转换、数模或模数转换等。如串并行的转换;电平转换、数模或模数转换等。协调时序差异:协调时序差异:提供提供“准备好准备好”“空空”“满满”等状态信号。等状态信号。提供地址译码或设备选择信号:提供地址译码或设备选择信号:提供中断和提供中断和DMA控制逻辑及管理:控制逻辑及管理:缓冲缓冲 二、二、CPU与外设间的接口信号与外设间的接口信号1、数据(、数据(Data)数字、模拟、开关数字、模拟、开关2、状态(、状态(Status)输入时:输入时:“准备好准备好”(Ready)输出时:输出时:“空空”(Empty)、)、“忙忙”(Busy)3、控制(控制(Control)外设的启动、停止、读、写外设的启动、停止、读、写4.1 输入输入/输出输出4 4.2.2 CPUCPU与外设数据传送方式与外设数据传送方式4 4.3.3 计算机的上常见接口计算机的上常见接口4 4.4.4 标准标准5151单片机中断系统单片机中断系统4 4.5.5 中断应用举例中断应用举例 一、直接传送方式一、直接传送方式 也称无条件传送方式,也称无条件传送方式,例:例:驱动指示灯、继电器、启动电机等驱动指示灯、继电器、启动电机等4 4.2 2 CPUCPU与外设数据传送方式与外设数据传送方式有直接、查询、中断、有直接、查询、中断、DMA等传送方式。等传送方式。DMA:直接存储器传送直接存储器传送CPURAM2RAM1RAM1RAM2DMA二、查询方式查询方式送数据或发命令前先检查设备状态送数据或发命令前先检查设备状态电路中:电路中:1)输出:输出:P1.0=1时,时,M放水;放水;P1.0=0时,时,M关关2)输入:输入:水位水位B,T1、T2导通导通 P1.1=0,P1.2=0A水位水位B,T1止,止,T2通通 P1.1=1,P1.2=0例:水池水位自动控制装置例:水池水位自动控制装置要求:要求:水位水位B停放停放中断方式可提高中断方式可提高CPU的效率的效率 CLR P1.0 SETB P1.1 SETB P1.2L1:JNB P1.2,L1 SETB P1.0L2:JB P1.1,L2 CLR P1.0 SJMP L1三、中断传送方式三、中断传送方式查寻方式查寻方式中断方式中断方式 CPU不不主主动动查查询询外外设设,只只执执行行自自己己的的主主程程序序,当当外外设设准准备备好好需需要要传传送送数数据据时时,提提出出申申请请,若若CPU准准于于请请求求,放放下下正正在在执执行行的程序的程序,去传送去传送外设的数据。外设的数据。录像录像1录像录像2 2查询查询中断中断查询查询中断中断仿真仿真中断与子程序的区别?中断与子程序的区别?中断的好处中断的好处1、CPU分时操作(与多个外设并行工作)分时操作(与多个外设并行工作)温度温度压力压力断电断电CPU处理处理2、实现实时处理、实现实时处理外设外设外设外设外设外设CPU3、故障处理、故障处理如何实现中断?如何实现中断?1、中断请求、中断请求 外外设设向向CPU发发出出的的“中中断断申申请请信信号号”称称“中中断断请请求求”。请求请求CPU外设外设2、中断源、中断源 引引起起中中断断的的原原因因,或或能能发发出出中中断断申申请请的的源源,称称为为“中断源中断源”。通常中断源有:。通常中断源有:(1)一般的输入输出设备,如键盘,打印机等。一般的输入输出设备,如键盘,打印机等。(2)数据通道,如磁盘,磁带等。数据通道,如磁盘,磁带等。(3)定时器。定时器。(4)故障源,如电源掉电。故障源,如电源掉电。(5)为调试程序而设的中断,为调试程序而设的中断,如单步、断点设置等。如单步、断点设置等。键盘键盘打印机打印机磁盘磁盘掉电掉电定时器定时器4、中断系统的功能、中断系统的功能(1)响应中断及返回响应中断及返回5、中断响应过程、中断响应过程 中中断断源源提提出出申申请请 CPUCPU决决定定是是否否响响应应 若若响响应应转转去去中中断断处理处理 完成后完成后返回返回原中断处。原中断处。中断请求中断请求中断请求中断请求RETIRETI主程序主程序(2)能实现优先权排队能实现优先权排队(3)能实现中断嵌套能实现中断嵌套6、CPU响应中断的条件响应中断的条件(1)有中断请求)有中断请求7、中断响应及中断期间应做的工作、中断响应及中断期间应做的工作(1)关中断(硬件自动实现)关中断(硬件自动实现)(2)保留断点(硬件自动实现)保留断点(硬件自动实现)(3)保护现场(软件完成)保护现场(软件完成)(4)给出中断入口地址,转入相应的中断服务程序(硬件自动)给出中断入口地址,转入相应的中断服务程序(硬件自动完成)完成)(5)恢复现场)恢复现场(6)开中断与返回)开中断与返回(由(由RETIRETI指令实现指令实现)(2)中断请求没有被屏蔽)中断请求没有被屏蔽(3)中断是开放的或者是允许的)中断是开放的或者是允许的(4)在现行指令结束后才响应中断)在现行指令结束后才响应中断 RETIRETI与与RETRET的异同点?的异同点?相同:相同:匀执行恢复断点操作,即从堆栈中弹出断点给匀执行恢复断点操作,即从堆栈中弹出断点给PCPC。不不同同:RETIRETI将将清清“0 0”响响应应时时所所置置的的优优先先级级触触发发器器,RETRET没没有该功能。有该功能。中断与子程序调用的区别?中断与子程序调用的区别?4.1 输入输入/输出输出4 4.2.2 CPUCPU与外设数据传送方式与外设数据传送方式4 4.3.3 计算机的上常见接口计算机的上常见接口4 4.4.4 MCS-51MCS-51中断系统中断系统4 4.5.5 中断应用举例中断应用举例一、常见接口一、常见接口1.并行接口并行接口 4位、位、8位、位、EPP(增强并行口)和(增强并行口)和ECP(扩展并行口)(扩展并行口)2.串行接口串行接口 PC机一般至少有两个串行口机一般至少有两个串行口COM1和和COM2。3.磁盘接口磁盘接口1)IDE接口:接口:有有528MB的限制的限制2)EIDE接口:代之以接口:代之以8GB限制。限制。4.SCSI接口接口SCSI(Small Computer System Interface)小计算机系统接小计算机系统接口口 40MB每秒,而每秒,而EIDE最高只能达到最高只能达到16.6MB每秒;每秒;4.3计算机上常见接口计算机上常见接口5.USB接口接口 最新的最新的USB串行接口标准是由串行接口标准是由Microsoft、Intel、Compaq、IBM等大公司共同推出,热即插即用连接;等大公司共同推出,热即插即用连接;1.1版速度为版速度为12Mbps 2.0版速度为版速度为480Mbps 可连接键盘、鼠标、可连接键盘、鼠标、ISDN、电话系统、数字音响、打印电话系统、数字音响、打印机以及扫描仪等低速外设。机以及扫描仪等低速外设。四、四、I/O扩展槽扩展槽 根据总线的类型不同,主板上的扩展槽可分为根据总线的类型不同,主板上的扩展槽可分为ISA、EISA、MAC、VESA和和PCI几种。几种。4.1 输入输入/输出输出4 4.2.2 CPUCPU与外设数据传送方式与外设数据传送方式4 4.3.3 计算机的上常见接口计算机的上常见接口4 4.4.4 标准标准5151单片机中断系统单片机中断系统4 4.5.5 中断应用举例中断应用举例4.4 标准标准51单片机单片机 中断系统中断系统 标准51单片机单片机允许允许5个中断请求源,提供二个中断优先个中断请求源,提供二个中断优先级,可实现二级中断服务程序嵌套。级,可实现二级中断服务程序嵌套。与中断系统相关的特殊功能寄存器有:与中断系统相关的特殊功能寄存器有:中断源寄存器:中断源寄存器:TCONTCON(88H88H),),SCONSCON(98H98H)中断允许控制寄存器中断允许控制寄存器IEIE(A8HA8H)中断优先级控制寄存器中断优先级控制寄存器IPIP(B8HB8H)外部中断外部中断0定时器定时器0外部中断外部中断1定时器定时器1串行口中断串行口中断中断允许中断允许总允许总允许优先级优先级中断控制逻辑中断控制逻辑CPU 一、一、中断请求源中断请求源1、TCON(Timer Control)定时器定时器/计数器的控制寄存器,锁存外计数器的控制寄存器,锁存外部中断请求标志。部中断请求标志。(1)IT0、IT1(interrupt trigger mode)外部中断请求触发方式外部中断请求触发方式ITi=0 为低电平触发方式;为低电平触发方式;(2)IE0、IE1(external interrupt flag)外部中断标志,当有外部中断请求时,置外部中断标志,当有外部中断请求时,置“1”该位该位当当ITi=0 时,若时,若INTi=0,则置则置“1”IEi,否则清否则清“0”IEi;当当ITi=1 时,若时,若INTi=置置“1”IEi;IEi=1表示外部正在向表示外部正在向CPU申请中断,申请中断,CPU响应中断后响应中断后自动清自动清IEiITi=0 0ITi=1INT0INT1ITi=1 为边沿触发方式;为边沿触发方式;ITi 可由软件置可由软件置“1”或清或清“0”。(3)TF0、TF1(Timer overflow interrupt flag)定时器溢出中断标志定时器溢出中断标志 当定时器当定时器/计数器最高位进位时,置计数器最高位进位时,置“1”TFi表示正在向表示正在向CPU申申请中断,请中断,CPU响应中断后,自动清响应中断后,自动清“0”TFi。二、中断控制中断控制 1、IE(Interrupt Enable)中断允许寄存器:控制中断是开放还是中断允许寄存器:控制中断是开放还是屏蔽的。屏蔽的。(1)EA(Enable All)总中断允许标志总中断允许标志(2)ES(Enable Series)串行口允许标志串行口允许标志(3)ET0、ET1(Enable Timer)定时器定时器/计数器溢出中断标志计数器溢出中断标志(4)EX0、EX1(Enable eXternal)外部中断允许标志外部中断允许标志 上述中:上述中:“1”表示允许中断,表示允许中断,“0”表示屏蔽中断。表示屏蔽中断。2、IP(Interrupt priority)中断优先权控制寄存器(中断优先权控制寄存器(B8H)(1)PS:串行口中断优先级控制位串行口中断优先级控制位(2)PT0、PT1:定时器定时器/计数器中断优先级控制位计数器中断优先级控制位(3)PX0、PX1:外部中断优先级控制位外部中断优先级控制位 上述中:上述中:“1”表示高优先级,表示高优先级,“0”表示低优先表示低优先级。级。三、三、中断响应过程中断响应过程 每每个个周周期期S6对对中中断断源源进进行行采采样样在在下下一一个个周周期期按按优优先先级级顺顺序序依依次次查查询询如如果果某某个个中中断断标标志志在在上上一一个个周周期期S6已已被被置置“1”CPU执执行行硬硬件件LCALL转转向向相相应应中中断断的的特特定定单单元元,进进入入中中断断服服务务程程序序,但但是如果遇上下列条件之一,硬件将受阻是如果遇上下列条件之一,硬件将受阻:(1)正在执行同级或高级中断服务程序。正在执行同级或高级中断服务程序。(2)当前的查询周期不是执行指令的最后一个机器周期。当前的查询周期不是执行指令的最后一个机器周期。(3)正在执行正在执行RETI或任何仿问或任何仿问IE或或IP的指令。的指令。CPU响应中断时响应中断时先先置置“1”相应的优先级触发器,相应的优先级触发器,然后然后执行硬件执行硬件LCALL(压栈与转移),压栈与转移),同时同时清清“0”中断请求标志(中断请求标志(TI、RI除外)除外)。中断服务程序入口:中断服务程序入口:IE0 0003H000AHIT0000BH0012HIE10013H001AHIT1001BH0022HIS0023H002AH 在在中中断断服服务务程程序序的的最最后后,须须放放一一条条指指令令RETI,该该指指令令清清“0”响响应应时时所所置置的的优优先先级级触触发发器器(RET没没有有此此操操作作),然后返回。然后返回。4.1 输入输入/输出输出4 4.2.2 CPUCPU与外设数据传送方式与外设数据传送方式4 4.3.3 计算机的上常见接口计算机的上常见接口4 4.4.4 MCS-51MCS-51中断系统中断系统4 4.5.5 中断应用举例中断应用举例 ORG 0100HINTP:JB F0,FS CLR P1.0 ;F0=0,关水关水 CPL F0 RETIFS:SETB P1.0 ;F0=1,放水放水 CPL F0 RETIORG 0003HLJMP INTPORG 0040HCLR P1.0CLR IT0 ;低电平触发低电平触发SETB PX0 ;高优先级高优先级 SETB EA ;开总中断开总中断SETB EX0 ;开开INT0中断中断主程序主程序举例:举例:ORG 0003HLJMP INTPORG 0040HCLR P1.0CLR IT0 SETB PX0 SETB EA SETB EX0 主程序主程序main()P1.0=0;IT0 =0;PX0=1;EA=1;EX0=1;主程序主程序 ORG 0100HINTP:JB F0,FS CLR P1.0 ;F0=0,关水关水 CPL F0 RETIFS:SETB P1.0 ;F0=1,放水放水 CPL F0 RETIvoid intp(void)interrupt0 using1 if(F0)P1.0=0 ;/F0=0,关水,关水 F0=F0;P1.0=1 ;/F0=1,放水放水 F0=F0;例:例:用外中断方式读按键,控制灯的亮灭用外中断方式读按键,控制灯的亮灭外部外部IO 的中断的中断INT0,和,和INT1。对应的引脚是。对应的引脚是P32 和和P33。P32 也就是接在也就是接在K1 的引脚。所以当我们按下的引脚。所以当我们按下P32 接到地的时候,可接到地的时候,可以触发一个以触发一个INT0 中断。中断。#define uchar unsigned char/定义一下方便使用定义一下方便使用#define uint unsigned int#define ulong unsigned long#include /包括一个包括一个52 标准内核的头文件标准内核的头文件sbit P10=P10;/头文件中没有定义的头文件中没有定义的IO 就要自己来定义了就要自己来定义了sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit K1=P32;bit ldelay=0;/长定时溢出标记长定时溢出标记,预置是预置是0uchar speed=10;/设置一个变量保存默认的跑马灯的移动速度设置一个变量保存默认的跑马灯的移动速度uchar speedlever=0;/保存当前的速度档次保存当前的速度档次char code dx5163 _at_ 0 x003b;/这是为了仿真设置的这是为了仿真设置的/用外中断方式读按键用外中断方式读按键K1,点亮一个,点亮一个LEDvoid main(void)/主程序主程序IT0=1;/外中断跳变产生中断外中断跳变产生中断EX0=1;EA=1;/打开总中断打开总中断while(1)/主程序循环主程序循环/外中断外中断0int0()interrupt 0P10=0;/在中断里点亮在中断里点亮LED作业:作业:用中断方式的按键用中断方式的按键 K1,控制一个,控制一个LED 灯的亮和灭两种状态灯的亮和灭两种状态提示:需要去抖操作,否则按键抖动会引起多种中断。提示:需要去抖操作,否则按键抖动会引起多种中断。p经常不断地学习,你就什么都知道。你知道得越多,你就越有力量pStudyConstantly,AndYouWillKnowEverything.TheMoreYouKnow,TheMorePowerfulYouWillBe写在最后Thank You在别人的演说中思考,在自己的故事里成长Thinking In Other PeopleS Speeches,Growing Up In Your Own Story讲师:XXXXXX XX年XX月XX日
展开阅读全文