- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AT89S52断系统及应用
第5章??????? AT89S52
本章要点:
(? 了解中断的基本概念、中断的作用及中断请求方式
(? 掌握AT89S52单片机中断结构
(? 掌握AT89S52单片机6个中断源的中断请求、中断屏蔽、优先级设置等初始化编程方法
(? 掌握非接触式IC卡门禁系统的中断应用方法
5.1 中断的概念
为了提高CPU的工作效率以及对实时系统的快速响应,产生了中断控制方式的信息交换。
在日常生活中广泛存在着“中断”的例子。例如一个人正在看书,这时电话铃响了,于是他将书放下去接电话。为了在接完电话后继续看书,他必须记下当时的页号,接完电话后,将书取回,从刚才被打断的位置继续往下阅读。由此可见,中断是一个过程。计算机是这样处理的,当有随机中断请求后,CPU暂停执行现行程序,转去执行中断处理程序,为相应的随机事件服务,处理完毕后CPU恢复执行被暂停的现行程序。
在这个过程中,应注意如下几方面:
(? 外部或内部的中断请求是随机的,若当前程序允许处理应立即响应;
(? 在内存中必须有处理该中断的处理程序;
(? 系统怎样能正确地由现行程序转去执行中断处理程序;
(? 当中断处理程序执行完毕后怎样能正确地返回。
现在再从另一方面分析,整个中断的处理过程就像子程序调用,但是本质的差异是调用的时间是随机的,调用的形式是不同的。因此,是否可以认为处理中断的过程是一种特殊的子程序调用。如图5.1和 图5.2 所示。
中断有两个重要特征:程序切换(控制权的转移)和随机性。
图5.1? 子程序调用过程?? 图5.2中断的执行过程 5.2? AT89S52
中断源就是向CPU发出中断请求的来源。AT89S52共有六个中断源:2个外部中断(INT0和INT1)、3个定时器中断(定时器0、1和2)和1个串行中断。如图5.3所示。
5.2.1??????? 外部中断
外部中断包括外部中断0和外部中断1。它们的中断请求信号分别由单片机引脚/P3.2和/P3.3输入。
外部中断请求有两种信号方式:电平方式和脉冲方式。电平方式的中断请求信号是低电平有效,即只要在或引脚上出现低电平时,就激活外部中断标志。脉冲方式的中断请求信号则是脉冲的负跳变有效。在这种方式下,在两个相邻机器周期内,或引脚电平状态发生变化,即在第一个机器周期内位为高电平,第二个机器周期内为低电平,就激活外部中断标志。
5.2.2??????? 内部定时和外部计数中断
单片机芯片内部有三个定时器/计数器,对脉冲信号进行计数。若脉冲信号为内部振荡器输出的脉冲(机器周期信号),则计数脉冲的个数反映了时间的长短,称为定时方式。若脉冲信号为来自T0/P3.4、T1/P3.5、T2/P1.0的外部脉冲信号,则计数脉冲的个数仅仅反映外部脉冲输入的多少,称为计数方式。
当定时器/计数器发生溢出(计算器状态由FFFFH再加1,变为0000H状态),CPU查询到单片机内部硬件自动设置的一个溢出标志位为1时,便激活中断。
定时方式中断由单片机芯片内部发生,不需要在芯片外部设置引入端。计数方式中断外部输入脉冲(负跳变)引起,脉冲加在引脚T0/P3.4、T1/P3.5、T2/P1.0端。
5.2.3??????? 串行中断
串行中断是为串行通信的而需要设置的。当串行口发送完或接收完一帧信息时,单片机内部硬件便自动串行发送或接收中断标志位置1。当CPU查询到这些标志位为1时,便激活串行中断。串行中断是由单片机内部自动发生的,不需要在芯片外设置引入脚。
5.2.4??????? 中断矢量地址
中断源发出请求,CPU响应中断后便转向中断服务程序。中断源引起的中断服务程序入口地址即为中断矢量地址。中断向量地址是固定的,用户不可改变。中断服务入口地址如表5.1所示。
表5.1? 中断源及其对应的矢量地址??
中断源 中断标志位 中断矢量地址 外部中断0() IE0 0003H 定时器0(T0)中断 TF0 000BH 外部中断1() IE1 0013H 定时器1(T1)中断 TF1 001BH 串行口中断 发送中断 TI 0023H 接收中断 RI 定时器2(T2)中断 T2溢出中断 TF2 002BH T2EX中断 EXF2 ?
由于两个相邻的中断服务程序入口地址间隔仅为8字节,一般的中断服务程序是容纳不下的。通常是在相应的中断服务程序入口地址中放一条长跳转指令LJMP,这样就可以转到64KB的任何可用区域了。若在2KB范围内转移,则可存放AJMP指令。
由于0003H~002BH是中断矢量地址区,因此,单片机应在程序入口地址0000H处放一条无条件转移指令(如LJMP XXXXH),转到指定的主程序地址。
5.3? 中断标志与控制
要实现中断,首先中断源要提出中断申请,而中断请求的过程是单片机内
文档评论(0)