单片机(教材)五章东北大学石亚及老师版.docVIP

单片机(教材)五章东北大学石亚及老师版.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机(教材)五章东北大学石亚及老师版

第五章89C51单片机的中断系统 5.1 中断的一般概念 1. 输入/输出控制方式 单片机系统与其他微机系统一样,CPU不断与外部输入/输出设备交换信息。这种信息交换通常有以下几种方式: ⑴ 无条件传送方式 CPU和存储器之间的数据传送属于无条件的。在计算机系统设计时,已经充分考虑了两者之间的速度配合关系。所谓无条件传送是指,当CPU读取存储器数据时,认为数据总是准备好的;当CPU写出数据时,认为存储器总是准备好接收的。但I/O接口和I/O设备与此不同,它们的运行速度比CPU慢得多。CPU与/O设备之间无法采用无条件传送方式,否则将导致传输混乱和信息丢失,难以保证数据传送的可靠性。 ⑵ 查询传送方式 这是一种条件传送。通常由于CPU工作速度比外设快得多,为了保证数据传送的正确性,CPU在每次数据传送前都要查询外部设备是否“准备好”。比如当CPU要读取A/D转换结果之前,先要查询“转换结束”标志是否建立;当CPU要向打印机发送数据时,先要确认打印机是否“忙”等等。如果查询结果为否定的,那么为了时间上的匹配,CPU就要等待,直到条件满足才能进行数据传送。在等待的过程中浪费了大量的时间,效率很低。再举一个比较极端的例子,例如单片机以查询方式管理键盘,为了不丢失键盘操作,要时刻查询是否有键按下,则单片机系统几乎无法再进行其他工作。 查询方式不增添硬件,不依赖CPU硬件资源,电路简单,但需要占用CPU大量运行时间。当系统比较复杂,单片机工作任务比较繁重时不适合采用查询方法控制外设。 ⑶ 中断传送方式 中断是一种异步机制,它的出现大大提高了CPU对外设的管理效率。 此外,在PC机上还支持DMA方式,这称为直接存储器存取,它是外设和存储器之间的直接数据交换,89C51单片机不支持这种方式。 2. 中断概念 举一个生活中的事例: 假设某人正在写工作计划,把中断请求比作来电话振铃。写工作计划是他当前的主要工作,可比作执行主程序。在他写作过程中突然电话铃响起,这可看做是一种中断请求。他应该停止写作(当然一般应该写完一个字而不是半个字),起身去接听电话。当通话完毕后,再从刚才停顿的地方继续写下去。写作—听电话—继续写作,这就是一个完整的中断响应和返回过程。设想如果电话没有振铃功能,那么为了不错过电话,他必须写一会,听一下有无来电;不断重复这个过程,会浪费大量时间。 在计算机系统中,当CPU正在处理例行程序时(一般是在执行主程序或其调用的子程序),外部设备发生操作请求,比如定时时间到,按键操作,A/D转换完成,收到串行通讯数据字节等,这些都要求CPU立即处理。在具有中断功能的情况下,CPU暂时停止当前的程序运行,转去处理所发生的事件。事件处理完毕后,再回到原来被打断的地方继续执行原来的工作。实现这种功能的硬件结构称作中断系统,产生中断的请求来源叫做中断源。中断源向CPU提出的服务请求称为中断请求。CPU暂时停止自身工作转去处理突发事件的过程称为中断响应。从中断服务过程转回到被打断的地方称为中断返回。单片机的中断管理机制与一般的计算机系统相同。 中断方式解决了因查询等待而大量浪费CPU时间的问题,能够使多个外设“同时地”运行。比如可以看到在CPU正常运行主程序的同时,打印机在工作,A/D转换在高速运行,键盘操作能随时得到响应,串行通讯能正常实现,等等。这是因为中断请求和响应只占用CPU很短的时间,比如打印机打印一行字符需要若干秒钟,而CPU给打印机送出对应的数据只需要若干微秒。宏观观察,似乎计算机系统的多个外设都在同时运行。如果没有中断机制而仅采用查询方法,这是不可想象的。外部设备提出中断请求的时刻是不可预知的,可能发生在主程序的任何地方。为了能在执行中断服务程序后正确地返回断点,系统必须在响应中断请求时把下一条要执行的指令的地址保存到堆栈中。并且,为了在中断服务程序中也能使用某些存储器资源而又不破坏它们原有的数值,还要人为地把要使用的资源推入堆栈中保存起来,这称为现场保护。通常需要保护的存储器有:A累加器,B寄存器,程序状态字PSW,数据地址指针DPTR,工作寄存器组等。当中断服务程序结束返回时,要先人为地按照压栈时相反的次序恢复那些保护内容,这称为现场恢复。最后当执行中断返回指令时,系统会自动将断点地址弹出到程序计数器PC,以便继续执行当时被打断的任务。 当CPU以中断方式管理外设时,CPU主程序中不涉及对这个外设的操作。表面上看起来,CPU似乎不理睬或不知道这个外设的存在。而一旦这个外设需要服务,它会发出一个请求,叫做中断请求。在适当条件下CPU会立即接受这个请求并暂停正在执行的程序,转去执行一段事先编好的程序,称为中断服务子程序。中断服务完毕后再返回断点处继续运行。向CPU提出中断请的来源称为中断源,中断源越多,

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档