- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机电子课件第6章
6.1.1 中断的定义 中断是指计算机在正常执行程序的过程中,由于种种事件的发生,从而产生了中断请求信号,CPU暂时停止当前程序的执行,转而去处理突然发生的事件,事件处理完毕后,再返回去继续执行暂停的程序。 6.1.2 中断的优点 1.同步工作 2.提高了CPU的工作效率 3.实时处理 6.1.3 中断系统的功能 1.实现中断及返回 2.能实现优先权排队 3.能实现中断嵌套 6.2 89S51单片机的中断系统 6.2.1 中断系统的结构 5个中断源 2个中断优先级 4个与中断有关的特殊功能寄存器 顺序查询逻辑电路 6.2.2 中断源 引起中断的设备或事件称为“中断源” MCS-51系列单片机有5个中断源 2.定时器中断源 定时器中断源由内部定时器/计数器溢出产生,属于内部中断。 TF0:定时器T0溢出中断请求 TF1:定时器T1溢出中断请求 中断源入口地址 6.2.3 中断控制 与中断控制有关的控制寄存器有四个: TCON----定时控制寄存器, SCON----串行口控制寄存器。 IE----中断允许控制寄存器, IP----中断优先级寄存器, EA:CPU中断总允许位。EA=1,CPU开放中断,每个中断源是被允许还是被禁止,分别由各自的允许位确定;EA=0,CPU屏蔽所有的中断要求,称关中断。 4.中断优先级寄存器 IP 0低级中断, 1高级中断 中断的优先级 MCS-51有两个中断优先级,对于每一个中断请求源可编程为高优先级中断或低优先级中断,可实现二级中断嵌套。 基本原则是: (1)高优先级不能被低优先级中断; (2)低优先级可被高优先级中断。 (3)任何一种中断(不管是高级还是低级),一旦得到响应,不会再被它的同级中断所中断。 (4)两个同一级的中断源同时向CPU发出中断申请,CPU通过内部硬件查询,按自然优先级确定优先响应哪一个中断要求。 自然优先顺序 2.响应过程 6.3.2中断处理 中断处理(又称中断服务)程序从入口地址开始执行,直到返回指令“RETI”为止,这个过程称为中断处理。此过程一般包括两部分内容,一是保护现场,二是处理中断源的请求。 6.3.4 中断请求的撤除 ①TF0、TF1和边沿触发方式下的外部中断标志IE0、IE1在中断响应时会被硬件自动撤除。 ②串行口的中断请求信号RI/TI要用软件撤除。串行口的接收/发送中断标志需要在中断响应后测试这两个标志位的状态。 ③电平触发方式下的外部中断标志IE0、IE1在中断响应时既不能自动撤除,又不能用软件撤除,必须在响应中断后立即撤除INT0、INT1引脚上的低电平。 6.4 中断程序的设计与应用 2.中断服务程序编写中的注意事项 ①确定是否保护现场,保护现场时PUSH和POP指令必须成对使用。 ②及时清除那些不被硬件自动清除的中断请求标志。 6.4.2 应用举例 【例6-1】要求在P1.3输出周期为2ms的方波,已知晶振fosc=24MHZ。(方式0应用举例) 解:要产生2ms 的方波,只需在P1.3端每隔1ms取反一次。选T0工作于方式0,定时1ms,则计数初值X为: X=213- t ×fosc / 12 =8192- 1 × 10-3 × 24 × 106/12=6192=1830H 因作13位计数器用时TL0高3位未用,所以实际计数初值为: 1 1000 001(000)1 0000=C110H 程序设计 ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP SUB1; T0中断入口 【例6-2】在单片机的外部中断0端接入一个单脉冲触发器,每按一次单脉冲触发器中的开关K,都会产生中断。每次产生的中断都会使P1口的数据左移一位,在P1口扩展了8个发光二极管,其起始状态为P1.0口的发光二极管亮,其余端口的发光二极管灭。 4.软件 ORG 0000H AJMP MAIN ORG 0003H ;中断服务程序入口地址 AJMP ZHD0 ORG 0030H MAIN: MOV SP,#70H ;设置堆栈指针 SETB IT0 ;外
文档评论(0)