东南大学单片机教程1概述第6章中断.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
东南大学单片机教程1概述第6章中断

/INT1的中断服务程序如下: EXINT:PUSH PSW PUSH ACC JB P1.0,SAV1 JB P1.2,SAV3 JB P1.1,SAV1 JB P1.4,SAV4 DISUB:POP ACC POP PSW RETI SAV1: XI1中断服务程序1 AJMP DISUB SAV2: XI1中断服务程序2 AJMP DISUB SAV3: XI1中断服务程序3 AJMP DISUB SAV4: XI1中断服务程序4 AJMP DISUB 第五节??? 中断系统的应用 特殊功能寄存器TCON、SCON、IE和IP进行管理和控制 在MCS-51单片机中,管理和控制的项目有: 1、CPU开中断与关中断; 2、 某中断源中断请求的允许和禁止(屏蔽); 3、各中断源优先级别的设定(即中断源优先排队); 4、外部中断请求的触发方式。 中断管理和控制程序一般不独立编写,而是含在主程序中, 根据需要通过几条指令来实现。例如,CPU开中断,可用指令 SETB EA 或 ORL IE,#80H 中断服务程序:是一种具有特定功能的独立程序段。它为中断源的特定要求服务,以中断返回指令结束。 注意: 1、断点的保护主要由硬件电路来实现。 2、考虑现场的保护与恢复。 3、在多级中断系统中,保护恢复时,关中断。 中断服务程序一般编写格式如下: CH1: CLR EA PUSH A PUSH R1 ………… SETB EA ………… CLR EA ………… POP R1 POP A SETB EA RETI 例1:利用定时器T0定时,在P1.0端输出一方波,方波周期为20ms, 已知晶振频率为12MHZ。 源程序: ORG 0000H AJMP MAIN ORG OOOBH AJMP INTT0 ………… MAIN: MOV TMOD,#01H MOV TL0,#0F0H MOV TH0,#0D8H MOV IE,#82H ;CPU开中断,T0开中断 SETB TR0 ;启动T0 HERE: SJMP HERE ;循环等待 RET INTT0: MOV TL0,#0F0H MOV TH0,#0D8H CPL P1.0 RETI 本例的中断服务程序中没有关中断,也没有保护现场,因为只有一个中断源,且主程序中没有需要保护的内容; 没有CLR TF0,因为进入中断服务程序后,硬件可自动清0。 例2:已知某8051单片机采用6M晶振,现要求P1.0输出一个 5KHZ的方波,同时对外部输入的脉冲信号进行计数,每当计 满200时,使内部数据存储单元60H内容增1,当增到100时停 止计数,并使P1.3输出高电平,定时器T1被设置为串行口的 波特率发生器。 解:定时器T0设置为工作方式3,利用T0引脚作为外部脉冲 计数输入,用TL0计数,把TL0置初值256-200=56=38H 由P1.0输出5KHZ的方波,即每隔100us使P1.0的电平变化一 次。用TH0作为8位定时,则初值为(256-50=206=0CEH) ORG 2000H AJMP MAIN ORG 000BH AJMP INTTL0 ORG 001BH AJMP INTTH0 …… MAIN: MOV TL0,#38H ;赋计数初值 MOV TH0,#0CE ;赋定时初值 MOV TL1,#BAND ;根据波特率要求设定常数BAND MOV TH1,#BAND MOV TMOD,#27H ;T1为方式2定时,T0为方式3计数 MOV TCON,#55H ;T0、T1均置外中断边沿触发, 启动T0、T1工作 MOV IE,#9AH ;开放CPU中断,开放串口、T0、T1中断 MOV 60H,#00 ;60H单元清0 HERE:SJMP HERE ;循环等待 INTTLO: MOV TL0,#38H ;重赋初值 INC 60H MOV A,60H CJNE A,#100,LP SETB P1.3 CLR A9H CLR TR0 LP: RETI INTTH0: MOV TH0,#0CEH ;重赋初值 CPL P1.0 RETI 作业: 1、在80C51单片机系统中,已知时钟频率为6MHz,

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档