- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.1 中 断 概 述 5.1.1 中断的概念 什么是中断?我们从一个生活中的例子引入。你正在家中看书,突然电话铃响了,你在书中做好记号后放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”现象。“某人看书”就好比执行主程序;“电话铃响”就好比中断请求,产生中断信号;“暂停看书”好比中断响应,要求暂停执行主程序;“书中作记号”好比保护断点,要求当前PC入栈;“电话谈话”好比中断处理,要求执行中断服务程序;“回来继续看书”好比中断返回,要求返回主程序。这个例子实际上包含了单片机处理中断的4个步骤:中断请求、中断响应、中断处理和中断返回,如图5-1所示。 5.2 中断系统的结构与控制 5.2.1 中断系统的结构 图5-2所示是MCS-51单片机的中断系统结构,它由与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成。 5.2.2 中断系统控制 1.中断源 MCS-51单片机提供5个中断源,其中两个为外部中断源INT0 (P3.2)、INT1 (P3.3),两个为片内定时器/计数器T0和T1的溢出中断源TF0(TCON.5)、F1(TCON.7),一个串行口发送与接收中断源TI(SCON.1)或RI(SCON.0)。这些中断源分别由TCON与SCON的相应位锁存。定时器/计数器控制寄存器TCON是定时器/计数器0和定时器/计数器1(T0、T1)的控制寄存器,它同时也用来锁存T0、T1的溢出中断源和外部中断源。如图5-3所示。 IT0:外部中断0触发方式控制位。IT0=0,INT0 (P3.2)为低电平触发方式;IT0=1,INT0 (P3.2)为负跳变触发方式。 IE0:外部中断0标志位。IE0=1,外部中断0向CPU请求中断。 IT1:外部中断1触发方式控制位。 IE1:外部中断1标志位。 TF0:T0中断溢出标志位。T0溢出硬件置1,响应中断后硬件清0(在查询方式下软件清0)。 TF1:T1中断溢出标志位,功能同TF0。 TR0:T0的启停控制位。 TR1:T1的启停控制位。 2. 中断源的自然优先级与中断服务程序入口地址 MCS-51单片机有5个独立的中断源,它们可以利用专用寄存器IP设置不同的优先级。若都被设置成同一优先级,5个中断源的自然优先级由硬件形成,排列如表5-1所示。 3.中断控制 1) 中断允许寄存器 在8051单片机中断系统中,中断的允许或禁止是由8位中断允许寄存器IE来控制的。中断允许寄存器IE(SFR地址:0A8H)各位的定义如表5-3所示。 2) 中断的优先级控制寄存器 中断优先级寄存器IP(SFR地址:0B8H)各位的定义如表5-4所示。 2.中断响应过程 中断响应过程包括保护断点和将程序转向中断服务程序的入口地址。首先,中断系统通过硬件自动生成长调用指令(LCALL),该指令将自动把断点地址压入堆栈保护(不保护累加器A、程序状态寄存器PSW和其他寄存器的内容),然后,将对应的中断入口地址装入程序计数器PC(由硬件自动执行),使程序转向该中断入口地址,执行中断服务程序。MCS-51单片机各中断源的入口地址由硬件事先设定,这在前面已经提过。使用时,通常在这些中断入口地址处存放一条无条件转移指令,使程序跳转到用户安排的中断服务程序的起始地址。比如,要采用定时器T1中断,其中断入口地址为001BH,中断服务程序名为CONT,因此指令形式为: ORG 001BH ;T1中断入口 AJMP CONT ;转向中断服务程序 5.4 外部中断源的扩展 5.4.1 用定时器作外部中断源 MCS-51单片机有两个定时器,具有两个内部中断标志和外部计数引脚,如在某些应用中不被使用,则它们的中断可作为外部中断请求使用。此时,可将定时器设置成计数方式,计数初值可设为满量程,则它们的计数输入端T0(P3.4)或T1(P3.5)引脚上发生负跳变时,计数器加1便产生溢出中断。利用此特性,可把T0脚或T1脚作为外部中断请求输入线,而计数器的溢出中断作为外部中断请求标志。 【例5-1】将定时器T0扩展为外部中断源。 解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TL0的初值均设置为FFH,允许T0中断, CPU开放中断,部分源程序如下: MOV TMOD,#06H
文档评论(0)