- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《单片机原理与应用》教材
项目四 制作防盗报警器
防盗报警器在家庭、小区住宅、公司企业、单位等应用广泛,有单机防盗、联网防盗两种主要的应用形式;单片机作为防盗报警器的嵌入式器件,在设计中占有重要的地位。
在本项目中将涉及单片机的中断系统、定时系统及外电路如传感器等知识。
【知识目标】
?会设置与单片机中断相关的特殊功能寄存器,学会开放中断的方法。
?简单了解单片机中断执行过程,有利于使用中断。
【技能目标】
?会用磁拉开关设计与单片机的接口。
?学会中断编程步骤与方法,正确设直中断入口地址。
任务一 中断系统
【任务目标】
?知道中断的概念。
?会用中断相关寄存器TC0N、IP。
?知道5个中断入口地址,学会正确编写中断子程序。
【读一读】
知识1 什么是中断
1.中断
所谓中断,就是打断正在进行的工作,转而去做另外一件事,然后回来继续完成。如学生在家做作业,此时昕到电话铃声响起,学生暂停做作业去接电话,接完电话后继续做作业,这个过程就是中断以及中断处理的过程。单片机中的中断过程与此类似,可由图4-1示意。
图4-1中断过程示意图
中断技术是单片机应用系统中的重要知识,在学习过程中应结合实践加以体会。
2.单片机中断的几个概念
(1)中断
单片机CPU在执行当前程序的过程中,由于CPU之外的某种原因,暂停该程序的执行,转而去执行相应的程序(称中断子程序),执行完毕后返回原程序断点处继续执行。
(2)中断源
引起中断的信号来源。
(3)中断优先级
程序员在中断系统设置时,可设置中断源的优先执行权,优先执行的中断源称为高级中断,排在后面执行的称为低级中断。当多个中断源同时申请中断时,CPU先执行高级中断,再执行低级中断。
(4)中断嵌套
当CPU响应某一低级中断,在执行中断子程序时,如有更高级中断发生,则CPU暂停低级中断执行转而先处理更高级中断,更高级中断处理完毕后返回低级中断继续执行,这一过程称为中断嵌套,示意图如图4-2所示。
图4-2中断嵌套示意图
表4-1将生活中的“中断事件”与单片机程序中的中断处理进行了类似对比,仔细研究将有助于理解、学习有关单片机中断的概念。
表4-1单片机中断与生活类似现象
知识2 51单片机的中断执行
1.中断源
在日常生活中,人们昕到电话铃声、门铃响声时,自然就会跑到放电话机的地方或门口,放电话机的地方或门口就是处理“中断”事件的“地址”。计算机程序是人类世界的模拟,处理中断程序时也会进入相应的入口地址。80C51单片机有5个中断源,各自对应5个独立的矢量地址,如表4-2所示。
表4-280C51单片机各中断源入口地址
表4-2中5个独立的中断源可以被设置成不同的优先级,若都被设置成同一优先级,则单片机按自然优先级排列。
观察表4-2中的中断入口地址发现,一个中断入口地址到下→个中断入口地址之间(如0003H~000BH之间)只有8个单元,也即中断子程序的长度不能超过8个字节。但很少有中断子程序少于8个字节,故可以在中断入口地址处写一条“L且在PXXXX指令,这样中断子程序就可以放在R0M的任何一个位置。
2.中断响应条件
先从生活中的例子来看:假如上午八点要出去会客,但没闹铃,这样在做任何事情时,每隔一段时间(如1分钟)就必须去看一次时间,时间没到就继续做事,时间到了,说明会客时间到;在日常生活中这是一个很笨的办法,但单片机就是用这么“笨”的方法来实现中断的。实际上,所谓中断其实就是由单片机硬件执行的“查询”,每个机器周期查询一次是否有中断。
80C51单片机的CPU在每个机器周期查询←次各个中断源的中断请求信号,如有中断请求信号则锁存到寄存器TC0N或SC0N的相应位,下一个机器周期对采样到的中断请求信号进行中断优先级判断,然后自动将对应的中断入口地址装入单片机的PC计数器,CPU程序自然就转到相应的中断入口处执行中断服务子程序。
下列情况下,CPU将不响应中断。
1)CPU正在处理同级或更高级优先级的中断处理。
2)一条指令尚未被完整执行完毕。
3)当前指令执行的是阻TI或访问IE、IP寄存器的指令,执行完这些指令后,CPU至少再执行一条指令后才能响应中断。
4)CPU中断关闭,即EA=0(程序没有设置中断开放)。
3.中断响应过程
(1)中断查询
CPU每个机器周期结束时查询一次是否有中断申请,若有则自动设置相应中断请求标志。
(2)中断响应条件判断
按上述内容中断响应的四个条件判断是否响应中断。
(3)中断响应过程
1)保护现场(保护当前程序断点地址),即把当前PC内容送入堆枝保护。
2)进入相应的中断入口地址,执行中断服务程序。
3)中断返回。
在中断子程序的结尾处必须有一条中断返回指令RETI,以保证恢复主程序断点地址,能顺利回到主程序继续执行。
(4)中断请求的撤除
CPU响应
原创力文档


文档评论(0)