串行口接收中断标志

上传人:wt****50 文档编号:53352456 上传时间:2018-08-29 格式:PPT 页数:151 大小:1.38MB
返回 下载 相关 举报
串行口接收中断标志_第1页
第1页 / 共151页
串行口接收中断标志_第2页
第2页 / 共151页
串行口接收中断标志_第3页
第3页 / 共151页
串行口接收中断标志_第4页
第4页 / 共151页
串行口接收中断标志_第5页
第5页 / 共151页
点击查看更多>>
资源描述

《串行口接收中断标志》由会员分享,可在线阅读,更多相关《串行口接收中断标志(151页珍藏版)》请在金锄头文库上搜索。

1、5.1 I/O 概 述 5.2 输入/输出传送方式 5.3 MCS-51单片机的中断系统 5.4 定时/计数器 5.5 串行通信接口,第5章 输入/输出、 中断、 定时 与串行通信,5.1 I/O 概 述,5.1.1 I/O接口电路的作用一个计算机系统的组成, 除了CPU、 存储器外, 还必须有外部设备。 计算机通过输入/输出设备和外界进行通信。 计算机所用的数据以及现场采集的各种信息都要通过输入设备送到计算机; 而计算的结果和计算机产生的各种控制信号又需通过输出设备输出到外部设备。,计算机的I/O操作, 即CPU和外部设备之间的数据传送却十分复杂。 主要表现在以下几个方面: (1) 外部设备

2、的工作速度与计算机相比要低得多。 (2) 外部设备的种类繁多, 有机械式、 机电式及电子式等等。 (3) 外部设备的数据信号是多种多样的, 既有电压信号, 也有电流信号; 既有数字量, 还有模拟量。 (4) 外部设备的数据传送有近距离的, 也有远距离的; 有的使用并行数据传送, 而有的则使用串行传送数据。,具体说来, 接口电路主要有以下几项功能: (1) 速度协调。 (2) 数据锁存。 (3) 三态缓冲。 (4) 数据转换。,5.1.2 接口与端口 “接口”一词是从英文interface翻译过来的, 具有界面、 相互联系等含义。 接口这个术语在计算机领域中应用十分广泛, 本章所讲述的接口则特指

3、计算机与外设之间在数据传送方面的联系, 其功能主要是通过电路实现的, 因此称之为接口电路, 简称接口。,5.1.3 I/O的编址方式在计算机中, 凡需进行读写操作的设备都存在着编址问题。 具体说来在计算机中有两种需要编址的器件: 一种是存储器, 另一种就是接口电路。 存储器是对存储单元进行编址, 而接口电路则是对其中的端口进行编址。 对端口编址是为I/O操作而进行的, 因此也称为I/O编址。 常用的I/O编址有两种方式: 独立编址方式和统一编址方式。 1. 独立编址方式2. 统一编址方式,5.2 输入/输出传送方式,5.2.1 无条件传送方式无条件传送也称为同步程序传送, 类似于CPU和存储器

4、之间的数据传送。 只有那些一直为数据I/O传送作好准备的外部设备, 才能使用无条件传送方式。 这种传送方式不需要测试外部设备的状态, 可以根据需要随时进行数据传送操作。 无条件传送方式适用于以下两类外部设备的输入输出:http:/,(1) 外设的工作速度非常快, 足以和CPU同步工作。 (2) 具有常驻的或变化缓慢的数据信号的外设。,5.2.2 查询传送方式查询传送又称为条件传送, 即数据的传送是有条件的。 在输入/输出之前, 先要检测外设的状态, 以了解外设是否已为数据输入输出作好了准备, 只有在确认外设已“准备好”的情况下, CPU才能执行数据输入/输出操作。 通常把通过程序对外设状态的检

5、测称之为“查询”, 所以这种有条件的传送方式又叫做程序查询方式。查询的流程图如图51所示。 http:/,图51 查询方式流程图,5.2.3 中断传送方式由于查询传送方式为CPU主动要求传送数据,而它又不能控制外设的工作速度,因此只能用等待的方式来解决配合的问题。中断方式则是在外设为数据传送作好准备之后,就向CPU发出中断请求信号(相当于通知CPU),CPU接收到中断请求信号之后立即作出响应,暂停正在执行的原程序(主程序),而转去为外设的数据输入输出服务,待服务完之后,程序返回,CPU再继续执行被中断的原程序。,由于CPU的工作速度很快,传送1次数据(包括转入中断和退出中断)所需的时间很短。对

6、外设来讲,似乎是对CPU发出数据传送请求的瞬间,CPU就实现了;对主程序来讲,虽然中断了1个瞬间,但由于时间很短,也不会有什么影响。,5.3 MCS-51单片机的中断系统,5.3.1 中断的概念计算机暂时中止正在执行的主程序,转去执行中断服务程序,并在中断服务程序执行完了之后能自动回到原主程序处继续执行,这个过程叫做“中断”。中断需要解决两个主要问题:一是如何从主程序转到中断服务程序;二是如何从中断服务程序返回主程序。,大体说来,采用中断系统改善了计算机的性能,主要表现在以下几个方面:(1)有效地解决了快速CPU与慢速外设之间的矛盾,可使CPU与外设并行工作,大大提高了工作效率。(2)可以及时

7、处理控制系统中许多随机产生的参数与信息,即计算机具有实时处理的能力,从而提高了控制系统的性能。(3)使系统具备了处理故障的能力,提高了系统自身的可靠性。,5.3.2 中断源所谓中断源就是引起中断的事件,亦即是什么部件要求中断。对于各种计算机来说,其中断源的允许数目是不一样的,例如Z80允许128个中断源(不包括非屏蔽中断),而8086/8088则允许256个中断源。MCS-51单片机相对来说较为简单,只提供了5个中断源:2个外部中断请求 和 个片内定时器/计数器T0和T1的溢出中断请求TF0和TF1及串行口中断请求TI或RI(合为一个中断源)。,MCS-51单片机5个中断源的中断请求信号分别锁

8、存在特殊功能寄存器TCON和SCON中:(1)TCON为定时/计数器控制寄存器,字节地址为88H,其中锁存的中断源请求标志如表51所示。,表51 TCON锁存的中断源,(2)SCON串行口控制寄存器,字节地址为98H。SCON的低2位锁存串行口的接收中断和发送中断标志,其格式如表52所示。,表52 SCON锁存的中断源,TI:串行口发送中断标志。在串行口以方式0发送时,每当发送完8位数据后,由硬件置位TI;若以方式1、2、3发送时,在发送停止位的开始时置位TI。TI=1表示串行口发送器正在向CPU申请中断。值得注意的是当CPU响应该中断后,转向中断服务程序时并不复位TI,TI必须由用户在中断服

9、务程序中用软件清0(可用CLRTI或其它指令)。 http:/,RI:串行口接收中断标志。若串行口接收器允许接收并以方式0工作,则每当接收到第8位数据时置位RI;若以方式1、2、3工作,且SM2=0时,则每当接收器接收到停止位的中间时置位RI;当串行口以方式2或方式3工作,且SM2=1时,仅当接收到的第9位数据RB8为1后,同时还要接收到停止位的中间时置位RI。RI为1表示串行口接收器正向CPU申请中断,同样RI必须由用户在中断服务程序中清0。8031复位后,SCON也被清0。,5.3.3 中断的优先级如果正在执行主程序时只有1个中断源请求中断,而这时CPU又是对中断开放的,那么这个中断立即得

10、到响应。然而由于中断是随机产生的,中断源一般又不止1个,因此往往会出现这样的情况:几个中断源同时请求中断;或者当某一个中断正在响应中(即正在执行该中断源的中断服务程序),又有其它的中断源请求中断,这时中断系统应如何处理呢?在一般情况下,首先把各个中断源分成若干个优先级,然后再按如下原则进行处理:,(1)不同级的中断源同时申请中断时先高后低;(2)同级的中断源同时申请中断时事先规定;(3)处理低级中断又收到高级中断请求时停低转高;(4)处理高级中断又收到低级中断请求时高不理低。MCS-51单片机的中断系统对优先级的控制比较简单,只规定了两个中断优先级,对于每一个中断源均可编程为高优先级中断或低优

11、先级中断。在同1个优先级中,对5个中断源的优先次序安排如下:,最高优先级,最低优先级,外部中断0(IE0) 定时器/计数器T0溢出中断(TF0)外部中断1(IE1)定时器/计数器T1溢出中断(TF1)串行口中断(RI+TI) MCS-51单片机中有1个中断优先级寄存器IP,字节地址为B8H。对于每1个中断源,均可通过对IP的设置来确定其优先等级,置1为高优先级,清0为低优先级。IP寄存器的格式如表53所示。,表53 中断优先级寄存器IP的格式,其中: PX0:外部中断0优先级控制位。 PT0:定时器0中断优先级控制位。 PX1:外部中断1优先级控制位。 PT1:定时器1中断优先级控制位。 PS

12、:串行口中断优先级控制位。 上面优先级控制位规定1为高优先级,0为低优先级。,5.3.4 中断响应的条件、过程与时间1.中断响应的条件单片机响应中断的条件为中断源有请求(中断允许寄存器IE相应位置1),且CPU开中断(即EA=1)。这样,在每个机器周期内,单片机对所有中断源都进行顺序检测,并可在任1个周期的S6期间,找到所有有效的中断请求,还对其优先级进行排队。但是,必须满足下列条件:,(1)无同级或高级中断正在服务;(2)现行指令执行到最后1个机器周期且已结束;(3)若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时,执行完该指令且紧随其后的另1条指令也已执行完。单片机便在紧接着的

13、下1个机器周期的S1期间响应中断。否则,将丢弃中断查询的结果。http:/,2.中断响应过程单片机一旦响应中断,首先对相应的优先级有效触发器置位。然后执行1条由硬件产生的子程序调用指令,把断点地址压入堆栈,再把与各中断源对应的中断服务程序的入口地址送入程序计数器PC,同时清除中断请求标志(串行口中断和外部电平触发中断除外),从而程序便转移到中断服务程序。以上过程均由中断系统自动完成。,各中断源所对应的中断服务程序的入口地址如下: 中断源 入口地址 外部中断 0003H 定时器T0中断 000BH 外部中断 0013H 定时器T1中断 001BH 串行口中断 0023H,CPU从上面相应的地址开

14、始执行中断服务程序直到遇到1条RETI指令为止。RETI指令表示中断服务程序的结束。CPU执行该指令,一方面清除中断响应时所置位的优先级有效触发器;另一方面从堆栈栈顶弹出断点地址送入程序计数器PC,从而返回主程序。若用户在中断服务程序的开始安排了保护现场指令(一般均为相应寄存器内容入栈或更换工作寄存器区),则在RETI指令前应有恢复现场指令(相应寄存器内容出栈或换回原工作寄存器区)。,3.中断响应时间所谓中断响应时间是指从查询中断请求标志位到转入中断服务程序入口地址所需的机器周期数(对单一中断源而言)。 响应中断最短需要3个机器周期。若CPU查询中断请求标志的周期正好是执行1条指令的最后1个机

15、器周期,则不需等待就可以响应。而响应中断执行1条长调用指令需要2个机器周期,加上查询的1个机器周期,一共需要3个机器周期才开始执行中断服务程序。,5.3.5 MCS-51单片机的中断系统MCS-51系列单片机的中断系统属于8位单片机中功能较强的1种中断系统,它可以提供5个中断源,每个中断源有两个中断优先级别可供选择,可实现两级中断服务程序嵌套。此外,所有中断均可由软件设定为允许中断或禁止中断,也就是说,用户可以用关中断指令(或复位)来屏蔽所有的中断请求,也可以用开中断指令使CPU接受中断请求。MCS-51单片机的中断系统结构示意图如图52所示。,图52 MCS-51的中断系统,5.3.6外部中断及中断请求的撤除1.外部中断MCS-51单片机的中断系统有2个外部中断源,引脚信号为 和 (即P3.2和P3.3)。其中断请求触发信号有电平触发和边沿触发两种,当TCON寄存器中的IT0位和IT1位为“0”时采用电平触发;为“1”时采用边沿触发。 http:/,2.中断请求的撤除CPU响应中断请求后,在中断返回(执行RETI指令)前,必须撤除请求,否则会错误地再一次引起中断过程。如前所述,对于定时器T0与T1的中断请求及边沿触发方式的外部中断0和1来说,CPU在响应中断后用硬件清除了相应的中断请求标志TF0、TF1、IE0与IE1,即自动撤除了中断请求。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械/制造/汽车 > 机械理论及资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号