1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
5 个讨论
|
|
一 中断的基本原理
用一个生活的例子来先解释:开始你正在家中看书,突然电话铃响了,你放下书去接电话,和来电话的人交谈,通完电话回来继续看你的书,这就是生活中的中断现象,就是正常的工作过程被外部的事件打断了,仔细研究一下生活中的中断对我们学习单片机中断会很有帮助. 第一,中断源,什么可引起中断.生活中很多事件都可以引起中断.比如有人按了门铃电话,铃响了,你的闹钟响了,你烧的水开了 等等诸如此类的事件.我们把可以引起中断的事件称之为中断源.单片机中也有一些可以引起中断的事件,比如按下键盘,定时/计数器溢出,报警等等.89C51单片机中共有5 个中断源.两个外部中断,两个定时/ 计数器中断和一个串行口中断. 第二,中断的嵌套与优先级处理,设想一下我们正在看书电话铃响了,同时又有人按了门铃.你先做那样呢,如果你正在等一个很重要的电话,一般是不会去理会门铃的,而反之如果你正在等一个很重要的客人 则可能就不会去理会电话了.如果两者都不是,既不等电话,也不等人上门,你可能会按你通常的习惯去处理.总之这里存在一个优先级的问题.单片机中也是如此也有优先级的问题.优先级的问题不仅仅发生在两个中断,同时产生的情况也发生在一个中断已产生又有另一个中断产生的情况.比如你正在接电话又有人按门铃的情况或者你正开门与人交谈又有电话响了的情况.仔细想一下我们一般会怎么处理.不会吧,这样就有点手忙脚乱了,要是再来个MM 这么办呵呵 第三,中断的响应与处理,当有事件产生进入中断之前,我们必须先记住现在的书看到第几页了或拿一个书签放在当前页的位置,然后去处理不同的事情,因为处理完了 我们还要回来继续看书.电话铃响我们要到放电话的地方去.门铃响了我们要到门那边去.也就是说不同的中断我们要在不同的地点处理,而这个地点通常还是固定的,单片机中采用的也是这种方法.五个中断源每个中断产生后都要到一个固定的地址去找,处理这个中断的程序.当然在去之前首先要保存下面将执行的指令的地址,以便处理完中断后回到原来的地方,继续往下执行程序. 具体地说单片机中断响应可以分为以下几个步骤 1 停止主程序运行,当前指令执行完后立即终止现在执行的程序 2 保护断点,把程序计数器PC 的当前值压入堆栈,保存终止的地址即断点地址,以便从中断服务程序返回时能够继续执行该程序 3 寻找中断入口,根据5个不同的中断源所产生的中断,查找5不同的入口地址 4 执行中断处理程序,这就不讲了 5 中断返回执行完中断处理程序后,就从中断处返回到主程序,继续往下执行 以上工作是由计算机自动完成的,与编程者无关,在这5个入口地址处存放有中断处理的程序 这是程序编写时放在那儿的,如果没把中断处理程序放在那儿可就错了,因为中断程序无法被执行到 二 实现中断的好处 单片机为什么要有中断系统,使用中断有什么好处呢.日常生活中我们除了看书肯定还要做很多其他的事情,比如听电话,接待客人,烧水吃饭等等.单片机实行中断也有很多的好处.具体来说 1 实行分时操作,提高CPU 的效率.只有当服务对象向CPU 发出中断申请时,才去为它服务这样我们就可以利用中断功能同时为多个对象服务从而大大提高了CPU 的工作效率 2 实现实时处理,利用中断技术各个服务对象,可以根据需要随时向CPU 发出中断申请及时发现和处理中断请求,并为之服务以满足实时控制的要求,比如定时的时间到了,就要CPU做相应的处理 3 进行故障处理,对难以预料的情况或故障,比如掉电事故等可以向CPU 发出请求中断,由CPU 作出相应的处理. |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 12:59 , Processed in 0.722833 second(s), Total 50, Slave 41 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号