- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第五章MCS-51单片机内部资源
5.1中断系统中断技术的优点对突发事故,做出紧急处理。根据现场随时变化的各种参数、信息,做出实时监控。CPU与外部设备并行工作,以中断方式相联系,提高工作效率。解决快速CPU与慢速外设之间的矛盾。在多项外部设备同时提出中断请求情况下,CPU能根据轻重缓急响应外设的中断请求。日常中断的例子计算机中的中断概念MCS-51的中断系统——中断源MCS-51的中断系统——中断标志MCS-51的中断系统——中断允许MCS-51的中断系统——中断优先级作用:控制中断类型、中断的开关、中断的优先级TCON(6位)SCON(2位)IEIPTCON寄存器——T0和T1控制寄存器TCON寄存器——T0和T1控制寄存器中断请求的撤除SCON寄存器——串行口控制寄存器IE寄存器——中断允许寄存器IP寄存器——中断优先级寄存器三、中断处理过程1、中断响应条件2、中断响应过程(以外部中断0为例)3、中断响应时间某中断的响应时序如图:4、中断处理中断处理5、中断返回5、中断返回编写中断服务程序的技巧在中断服务程序入口处置一条无条件转移指令软件保护现场,以免现场信息丢失CPU响应完中断后,硬件自动清0中断请求标志,但串行口中断除外程序中可以禁止高级中断PUSH和POP应成对使用以RETI结尾中断系统初始化对IE、IP、TCON、SCON中的控制位进行赋值开相应中断源的中断允许位设定所有中断源的优先级若为外部中断,应规定中断触发方式练习:请写出外部中断1为低电平触发,高优先级的中断系统初始化程序。解:采用位操作指令:SETBEASETBEX1;开外部中断1SETBPX1;令外部中断1高优先级CLRIT1;令外部中断1为电平触发采用字节操作指令:MOVIE,#84H;开外部中断1ORLIP,#04H;令外部中断1高优先级ANLTCON,#0FBH;令外部中断1为电平触发中断应用实例程序结构交通灯主程序中断服务子程序四、外部中断扩展方法89C51的外部中断源仅有两个,需要时可以扩展。扩展方法:利用定时器扩展中断加软件查询1、利用定时器扩展外部中断源方法:(1)把89C51的T0/T1做计数器使用;(2)计数初值设为FFFFH;(3)外部中断请求信号从P3.4或P3.5输入。当外部中断请求信号有效时,使计数器加1而溢出,向CPU发出中断请求。设某用户系统中已使用了两个外部中断源,并置定时器T1工作在模式2,作串行口波特率发生器用。现要求再增加一个外部中断源,并由P1.0输出一个5KHz的方波。Fosc=12MHz。分析:目的:1)增加一个外部中断;2)使P1.0输出一个方波。条件:1)两个外部中断源已被使用2)定时器T1已用于串行口波特率发生器因此:可利用定时/计数器T0,使之工作在模式3,1)利用TL0扩展外部中断源2)利用TH0作定时器使用,输出方波设置初值:1)TL0=0FFH2)因为输出方波f=5kHz,故方波周期为200us,用TH0产生100us的定时,故TH0的初值X=256–(定时时间/机器周期)=256-(100us*晶振频率/12)=156设定T0工作方式,TMOD,TCON.程序:MOVTMOD,#27H;T0:模式3,计数方式;T1:模式2,定时方式MOVTL0,#0FFH;一旦加1,马上溢出,申请中断MOVTH0,#156;TH0初值MOVTH1,#data;根据波特率要求而定MOVTL1,#dataMOVTCON,#55HMOVIE,#9FH
文档评论(0)