- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 C51中断程序设计 中断系统是计算机或者单片机的重要功能部件,51系列单片机具有5个中断源,两级中断优先级,具有完善的指令控制能力。使用单片机的中断系统可以很方便地完成各种外部硬件响应的操作。 本章主要介绍了51系列单片机的中断的类型、中断系统结构及控制寄存器。接着介绍了CPU的中断处理过程,并通过实例详细介绍了各种中断源的C51程序设计。 10.1 单片机的中断系统 中断系统是现代的微处理器都具备的,不只是51系列单片机所特有的。在51系列单片机中,可以通过特殊功能寄存器来设置中断,并按照中断矢量来识别各个中断。当某个中断发生的时候,首先CPU响应中断,将中断源的入口地址装载到程序计数器PC中,中断服务程序便是从该地址开始执行的。当中断服务程序执行完毕后,将返回原来的断点。下面分别介绍和中断系统相关的特殊功能寄存器及其C51程序的访问,以及中断的C51处理过程。 10.1.1 单片机的中断类型 通常按照中断源的不同,大致可以分为三类:外部中断源、定时中断源和串行中断源。在8051单片机中共有5个中断源,包括2个外部中断源、2个定时中断源和1个串行中断源。下面分别介绍这三类中断源。 1. 外部中断源 2. 定时中断源 3.串行中断源 10.1.2 中断请求标志及其C51访问 51系列单片机的5个中断请求,分别对应一个中断请求标志位。当中断发生时,将置位相应的中断请求标志位,并向CPU提出请求。这里,特殊功能寄存器TCON控制外部中断和定时器溢出中断,特殊功能寄存器SCON控制串行接口中断。下面分别进行介绍。 1.TCON的中断标志 2.SCON的中断标志 10.1.3 中断允许标志及其C51访问 对于51系列单片机的5个中断请求,分别对应一个中断允许或禁止标志位,其均由中断允许控制寄存器IE控制。用户可以在程序中使用中断允许标志位来允许或者禁止相应的中断请求。 中断允许控制寄存器IE的位定义格式,如图所示。其字节地址为A8H,可以位寻址。其中D7位为总控制位,D0~D4分别控制各个中断请求,D5和D6位未定义。下面分别介绍各位的定义。 10.1.4 中断优先级标志及其C51访问 51系列单片机支持两级中断优先级,其5个中断请求,分别对应一个中断优先级标志位。中断优先级标志由寄存器IP来控制,用于设置中断的优先等级。 中断优先级控制寄存器IP各位的定义,如图所示。其字节地址为B8H,可以位寻址。其中D7~D5位未定义,D4~D0位分别控制各个中断请求。下面分别介绍各位的定义。 10.1.5 中断的C51处理过程 51系列单片机对中断的处理分为4步:中断响应、中断处理、中断请求的撤离和中断返回。下面分别介绍这四个过程。 1.中断的响应:是指在单片机主程序运行过程中,如果遇到中断请求,在满足中断响应条件的情况下,CPU对该中断做出的响应。一般来说,单片机对中断的响应遵循如下几个原则: 2.中断的处理:8051单片机CPU对中断处理的过程可以分为两类,一个是单片机硬件自动完成的部分,另一个是C51软件处理的部分。 3.中断请求的撤离:中断请求的撤离主要保证对于一次中断信号只执行一次中断响应。单片机响应某个中断后,应及时将中断请求标志TCON或SCON中对应的标志位清除,否则会导致一个中断信号触发多次中断响应。 4.中断的返回:中断的返回是指中断服务例程结束后,返回主程序的过程。在8051单片机中,中断服务例程的返回比较简单,直接在中断服务程序最后面加上一个中断返回指令RETI即可。而如果使用C51语言进行程序设计,则将由编译系统完成此工作。 10.2 外部中断源的C51程序设计 8051单片机提供了2个外部中断源,和,下面分别进行介绍。 中断,外部中断0请求,占用P3.2引脚,其中断请求号为0。 中断,外部中断1请求,占用P3.3引脚,其中断请求号为2。 10.3 定时中断源的C51程序设计 51系列单片机内部集成了2个定时器/计数器,分别提供了2个定时中断源:TF0和TF1。下面分别进行介绍: TF0中断,定时器/计数器0中断请求,其中断请求号为1。 TF1中断,定时器/计数器1中断请求,其中断请求号为3。 这里举例讲解定时器/计数器中断的C51程序设计。假定8051单片机(或者其他兼容型号单片机)外接6MHz晶振,需要在P1.2端口输出频率为500Hz的方波,即周期为2ms。此时可以采用定时器T0工作于模式0,使定时器产生1ms的定时,通过定时中断来产生P1.7端口的方波信号输出。 10.4 串行中断源的C51程序设计 51系列单片机的片内串口接口提供了发送中断源TI和接收中断源RI。串行接口中断请求的请求号为4。这里举例讲解定时中断的程序设计。假设使用串行口的发送中断源TI来发送数据,每发送一个数
文档评论(0)