欢迎来到天天文库
浏览记录
ID:33471804
大小:927.00 KB
页数:44页
时间:2018-05-25
《《单片机原理与技术》ppt电子课件教案第7章中断》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章中断80C51中的中断结构7.3最简单且的中断情况7.2引言7.1中断处理中需要考虑的一些问题7.47.1引言7.1.1为什么要用中断中断的出现,会带来以下好处。(1)同步操作有了中断功能,就可以使CPU和外设同时工作。(2)实现实时处理当计算机用于实时控制时,中断是一个十分重要的功能。现场的各个参数、信息,根据需要,可在任何时间发出中断请求,要求CPU处理;CPU一旦接收到中断请求,就可以马上响应(若中断是开放的话),加以处理。这样的及时处理在查询的工作方式下是做不到的。(3)故障处理计算机在运行过程中,往往会出现事先预料不到的情况或出现一些故障,如电源掉电、存储出错
2、、运算溢出等。计算机可以利用中断系统自行处理,而不必停机或报告工作人员。7.1.2中断源通常中断源有以下几种。①一般的输入/输出设备,如键盘、行打印机等。②数据通道中断源,如磁盘、磁带等。③实时时钟。在控制中,常要遇到时间控制,若用前面介绍的用CPU执行一段程序来实现延时的方法,则在这段时间内,CPU不能做别的工作,降低了CPU的利用率。④故障源。⑤为调试程序而设置的中断源。7.1.3中断系统的功能(1)实现中断及返回(2)能实现优先权排队(3)高级中断源能中断低级的中断处理7.2最简单的中断情况7.2.1CPU响应中断的条件(1)设置中断请求触发器(2)设置中断屏蔽触发器(
3、3)中断是开放的图7-1设置中断请求的情况图7-2具有中断屏蔽的接口电路图7-3中断响应流程图7.2.2CPU对中断的响应(1)关中断(2)保留断点(3)保护现场(4)给出中断入口,转入相应的中断服务程序(5)恢复现场(6)开中断与返回图7-4中断响应、服务及返回流程图7.380C51中的中断结构7.3.1中断启用图7-5MCS-51中断源图7-680C51中的IE(中断启用)寄存器7.3.2中断优先权图7-780C51中的IP(中断优先级)寄存器7.3.3中断如何处理在操作中,所有中断标志在每个机器周期的S5P2期间被采样。在下一个机器周期期间查询采样。若找到一启用的中断的
4、标志已设置,中断系统生成一LCALL至在程序存储器中的适当单元,至中断服务例程的LCALL的生成,由以下3个条件中的任一个阻断:①相同的或更高优先级的中断已经在处理中;②当前(查询)的周期不是正在处理中的指令执行的最后周期;③在处理中的指令是RETI或任一写至IE或IP寄存器的指令。图7-880C51中断控制系统图7-9中断响应时序图7.3.480C51中与中断相关的寄存器表7-180C51中与中断功能相关的寄存器1.定时器/计数器控制寄存器TCON位7位6位5位4位3位2位1位0TF1TR1TF0TR0IE1IT1IE0IT0IT0:外部中断INT0触发方式选择位。可由用
5、户用软件选择。IT0=1:设定外部中断引脚信号为下降沿触发方式。IT1:外部中断INT1触发方式选择位,其功能类似于IT0。IE0:外部中断INT0触发有效标志位。IE1:外部中断INT1触发有效标志位,其功能类似于IE0。2.串行口控制寄存器SCON位7位6位5位4位3位2位1位0SM0SM1SM2RENTB8RB8TIRIRI:串行口接收到一帧数据的中断标志位。TI:串行口发送完一帧数据的中断标志位。7.3.5外部中断80C51有两条外部中断请求引线INT0与INT1。它们能由设置或清除在寄存器TCON中的IT0或IT1位,选择是由电平激活或跳变激活。若ITx=
6、0,外部中断x由在引脚上检测到低电平时请求中断。若ITx=1,外部中断是跳变触发的。在此方式,若在引脚连续采样,在一个周期显示为高而在下一周期显示为低,在TCON中的中断请求标志IEx设置。然后,标志位IEx请求中断。7.3.6响应时间与电平反向并在每个机器周期的S5P2锁存至中断标志IE0与IE1。类似地,定时器2标志EXF2和串行端口标志RI与TI在S5P2设置。在下一机器周期前电路不实际查询值。定时器0与定时器1标志为TF0与TF1,在定时器溢出周期的S5P2设置。然后其值在下一周期由电路查询。然而,定时器2标志TF2是在S2P2设置且在定时器溢出的同一周期内被查询。若
7、请求有效且响应的条件正确,至请求的服务例程的硬件子例程调用将是下一条要执行的指令。CALL自己需要两个周期。因此,在外部中断请求的激活与服务例程的第一条指令的执行开始之间,至少需要3个完整的机器周期。图7-9所示为中断响应时序。若请求被前面所列的3个条件之一阻断,将会需要更长的响应时间。若相等的或更高优先级的中断已经在处理中,附加的等待时间明显地取决于其他中断服务例程的性质。若在处理中的指令不是在最后的周期,附加的等待时间不会大于3个周期,因为最长的指令(MUL与DIV)只是4个周期。若在处理的指令是R
此文档下载收益归作者所有