单片机原理及接口技术艾学忠5节.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 3.串行口中断请求的撤消 响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤消只能用软件清除 CLR TI ;清TI标志位 CLR RI ;清RI标志位 5.9 中断服务程序的设计 1.中断服务程序设计的任务 基本任务: (1)设置中断允许控制寄存器IE。 (2)设置中断优先级寄存器IP。 (3)对外中断源,是采用电平触发还是跳沿触发。 (4)编写中断服务程序,处理中断请求。 前3条一般放在主程序的初始化程序段中。 例5-3 一个典型中断服务程序流程 如右图所示,对其编程: INTX:CLR EA ;关总中断 PUSH PSW ;保护现场 PUSH A ; SETB EA ;开总中断 …… ;中断服务程序 CLR EA ;关总中断 POP A ;恢复现场 POP PSW ; SETB EA ;开总中断 RETI ;中断返回,恢复断点 几点说明: (1)现场保护仅涉及到PSW和A的内容,如还有其它需保护的内容,只需要在相应的位置再加几条PUSH和POP指令即可。 (2) “中断处理程序段”,应根据任务的具体要求,来编写。 (3)如果本中断服务程序不允许被其它的中断所中断。可将“中断处理程序段”前后的“SETB EA”和“CLR EA”两条指令去掉。 (4)中断服务程序的最后一条指令必须是返回指令RETI。 2.中断程序举例,采用中断时的主程序结构 常用的主程序结构如下: ORG 0000H LJMP MAIN ORG 中断入口地址 LJMP INT ? ORG XXXXH MAIN:主 程 序 INT: 中断服务程序 5.10 多外部中断源系统设计 两个外部中断请求源往往不够用。 1.中断查询方法 这种外部中断源的扩展是通过 或 引脚实现的,具体电路原理如图所示。 图中使用 对外部中断源进行扩展,4个外部中断请求源用OC门与 外部中断0引脚连接,同时还连接到P1.0-P1.3上。这样,无论4个外部中断源中的哪一个外设输出高电平有效的中断请求信号,外部中断0引脚上都会接收到低电平信号,进而CPU会进行一次中断响应。为了确定究竟是哪一个外设发出了中断请求,可以判断P1.0-P1.3上的逻辑电平。 参考程序: ORG 0003H LJMP INT0 …… INT0: PUSH PSW ;保护现场 PUSH A JB P1.0, IR_1 ;若P1.0引脚为高电平,转至IR_1处 JB P1.1, IR_2 ;若P1.1引脚为高电平,转至IR_2处 JB P1.2, IR_3 ;若P1.2引脚为高电平,转至IR_3处 JB P1.3, IR_4 ;若P1.3引脚为高电平,转至IR_4处 INT0R: POP A ;恢复现场 POP PSW RETI ;中断返回 IR_1: …… ;IR1中断服务程序 LJMP INT0R ;返回INT0R IR_2: …… ;IR2中断服务程序 LJMP INT0R ;返回INT0R IR_3: …… ;IR3中断服务程序 LJMP INT0R ;返回INT0R IR_4: …… ;IR4中断服务程序 LJMP INT0R ;返回INT0R 2.使用定时器/计数器作为外部中断源 定时器/计数器选为计数器工作模式,T0 (或T1)引脚上发生负跳变时,T0(或T1)计数器加1,利用该特性,可以把T0(或T1)引脚作为外部中断请求输入引脚,计数器初值设为FFH,TF0(或TF1)作为外部中断请求标志。 当连接在P3.4(T0引脚)的电平发生负跳变时,TL0加1,产生溢出,置“1”TF0,向CPU发出中断请求,同时TH0的内容0FFH送TL0,即TL0恢复初值0FFH。 例5-4 将定时器/计数器T0设定为方式二外部计数工作模式,将TH0和TL0的初值均设为0FFH,这样只要有一个负跳变在外部输入引脚出现就会产生溢出中断。初始化程序如下: ORG 0000H AJMP IINI ;跳到初始化程序 ……………… IINI: MOV TMOD,#06H ;设置T0的工作方式 MOV TL0,#0FFH ;设置计数器初值 MOV TH0,#0FFH SETB TR0 ;启动T0,开始计数 SETB ET0 ;允许T0中断

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档