单片机-6章中断课件_第1页
单片机-6章中断课件_第2页
单片机-6章中断课件_第3页
单片机-6章中断课件_第4页
单片机-6章中断课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章 MCS-51的中断系统 61 中断的概念 1中断: 由于外界的事件的突然发生,中止当前程序的执行,转去执行外界事件处理程序,待外界事件处理程序执行完毕后,再继续执行被中止的程序。中断通常是一种硬件事件。 例:串行通讯一贞数据接收到事件,。 中断用途:1)实时处理外界紧急事件。 2)分时操作,解决快速CPU与慢速外设之间的矛盾。 3)将若干任务按级别处理。 2中断源 请求中断的来源。 3中断级别 响应中断的优先顺序。 第六章 MCS-51的中断系统 61 中断的概念 1中断4中断向量 由硬件提供的中断程序入口地址。 5中断响应 相当于完成两种操作:1)执行一条 LCALL“中断入口地址”

2、;2)置位中断优先级触发器,用于阻挡同级或低级中断的响应。 6中断返回 中断服务程序的最后一条为 RETI 用于继续被中止的程序,复位中断优先级触发器,以便能够响应其他的中断。 4中断向量5中断响应6中断返回62 MCS-51 的中断系统 1. 中断系统结构 62 MCS-51 的中断系统 1. 中断系统结构 2中断源 由图见六个中断源:IE0、TF0、IE1、TF1、RI+TI、TF2+EXF2。 出处:TCON、SCON 。TCON:TF1TR1TF0TR0IE1IT1IE0IT0 TIRISCON: 3. 外部中断触发方式控制 设置为下降沿触发方式,保证负脉冲宽度大于一个机器周期。 若采

3、用低电平触发方式,必须保证低电平的持续时间小于中断服务程序执行时间 。2中断源 由图见六个中断源:IE0、TF0、IE1、TF14中断的屏蔽与开放控制 通过IE的设置实现: EA-ET2ESET1EX1ET0EX0IE:“1”开放。“0”屏蔽。 5中断优先级确定 通过IP的设置实现两级优先级高级或低级。IP: -PT2PSPT1PX1PT0PX0“1”高级。“0”低级。 4中断的屏蔽与开放控制 通过IE的设置实现: EA-ET 低级中断执行时,能被高级中断所中断,不能被同级中断所中断。 高级中断执行时,不能被任何中断所中断。 同级中断同时申请中断时,按以下顺序响应:IE0TF0IE1TF1RI

4、、TITF2、EXF2 6中断入口地址 IE0:0003HTF0:000BHIE1:0013HTF1:001BHRI、TI:0023HTF2、EXF2:002BH 低级中断执行时,能被高级中断所中断,不能被同级中断所7. 中断的响应过程 遇下述三种情况将不能立即响应:CPU正在处理相同的或更高优先级的中断;响应中断过程: 3) 正在执行的指令是RETI或是访问IE或IP的指令。CPU在执行RETI或访问IE、IP的指令后,至少需要再执行一条指令才会响应新的中断请求。2) 现行的机器周期不是所执行指令的最后一个机器周期;1) 置位中断优先级触发器。 2) 由硬件产生子程序长调用(LCALL),转

5、去执行中断服务程序。 3) 在中断服务程序中,遇RETI指令后返回。(回到调用中断服务程序的下一条 指令处继续执行,同时复位中断服务程序。) 7. 中断的响应过程 遇下述三种情况将不能立即响应:响应中断8外部中断响应时间 1)若中断未被任何条件阻止,最快响应时间为3个机器周期。2) 正执行同级或高级中断:取决于中断服务程序执行时间。 3)执行不是RETI 或访问 IE、IP 的指令,现行机器周期是所执行指令的最后一 个机器周期: 仅需3个机器周期。 4)现行机器周期不是所执行指令的最后一个机器周期,且不是RETI或访问IE、IP 的指令: 不超过6 个机器周期。 5)正在执行的指令是RETI或

6、访问IE、IP的指令: 不超过8个机器周期。 8外部中断响应时间 2) 正执行同级或高级中断:3)执行不63 中断系统的设计 1固定时间间隔的产生 利用T0、T1的方式2自动重装方式产生定时中断,在中断服务程序中累加中断次数达到固定的时间间隔,设置“定时时间到”标志。 例:利用T0计数器工作于方式2,每到1 秒产生一“时间到”标志。(FOSC=12MHZ) MS50_BUFEQU30HS1_BUFEQU31HS1_LABBIT00HORG0000HLJMPMAINORG000BHLJMPT0_SER ORG0030HMAIN:MOVSP,#0CFH LCALL INIT_T0M0:JNB S1

7、_LAB,M0CLR S1_LABLCALL TASK1LCALL TASK2LCALL ASK3LJMP M063 中断系统的设计 1固定时间间隔的产生例:利用T0计INIT: MOV TMOD,#02HSETB TR0MOV TH0,#06HSETB ET0 SETB EAMOV MS50_BUF,#0MOV S1_BUF,#0CLR S1_LABRETT0_SER:PUSH PSWPUSH ACCINC MS50_BUFMOV A,MS50_BUFCLR CSUBB A,#200JC TS1MOV MS50_BUF,#0INC S1_BUFMOV A,S1_BUFCLR CSUBB A,

8、#20JC TS1MOV S1_BUF,#0SETB S1_LABTS1:POP ACCPOP PSWRETIEND INIT: MOV TMOD,#02HMOV 说明:1)利用T0、T1工作于方式2,最大定时中断间隔为0.256MS,要产生较大时 间间隔,需要累加中断次数较多。T2计数器工作于自动重装方式时,最 大定时中断间隔为65.536MS,可通过累加较少的中断次数达到较大的时 间间隔。2)利用此方式可产生任意大的时间间隔。 说明:2顺序控制灯光“跑龙”控制 灯光“跑龙”控制:在环行布置的一圈灯中,每隔一定时间间隔、顺序点亮一 盏灯。 例:编写一段程序实现:每隔0.1秒点亮一盏灯,硬件见

9、下图。 MS50_BUFEQU30HMS100_BUFEQU31HMS100_LABBIT00HORG 0000HLJMP MAINORG 000BHLJMP T0_ISRORG 0030HMAIN:MOVSP,#0CFH LCALL INIT M1:JNB MS100_LAB,M1CLR MS100_LABLCALL RL_LAMPLJMP M1 2顺序控制灯光“跑龙”控制 灯光“跑龙”控制:在环行布RL_LAMP:MOV A,P0RLC AMOV P0,AMOV A,P1RLC AMOV P1,AMOV A,P2RLC AMOV P2,AJNC RL_L1MOV P0,#01HCLR C

10、RL_Ll:RET INIT:MOV TMOD,#02HMOV TH0,#06HSETB TR0SETB ET0SETB EAMOV MS50_BUF,#0MOV MS100_BUF,#0CLR MS100_LABMOV P0,#01MOV P1,#0MOV P2,#0CLR CRET RL_LAMP:INIT:MOV TMOD,#02T0_ISR:PUSH PSWPUSH ACCINC MS50_BUFMOV A,MS50_BUFCLR CSUBB A,#200JC TS1MOV MS50_BUF,#0INC MS100_BUFMOV A,MS100_BUFCLR C SUBB A,#2JC

11、 TS1 MOV MS100_BUF,#0 SETBMS100_LABTS1:POP ACCPOP PSWRETIEND T0_ISR:SETBMS100_LAB单片机6章中断课件3交通信号灯的控制 东西、南北十字路口交通信号灯控制。 1) 灯的布置 2) 控制规则: 南北通8 秒 停侯2 秒 东西通6 秒 停侯2 秒 3) 控制动作的状态分解 南北通8秒:亮:ER、WR、SG、NG; 灭:其余。 停后2秒: 亮:NY、SY、EY、WY。 灭:其余。东西通6秒:亮:EG、WG、SR、NR; 灭:其余。 3交通信号灯的控制 东西、南北十字路口交通信号灯控制。 14) 硬件设计 4) 硬件设计 状

12、态时间NRP1.0NGP1.1NYP1.2SRP1.3SGP1.4SYP1.5WRP1.6WGP1.7WYP2.0EP2.1EGP2.2EYP2.3P1P21801001010010052H02H2200100100100124H09H3610010001001089H04H4200100100100124H09H5) 根据硬件的状态分解 状态时间NRP1.0NGNYP1.2SRP1.3SGP1.46)软件编程TIME_BUFEQU30HSTATE_BUFEQU31HSTATEMAXEQU04HS1_LABBIT00HORG0000HLJMPMAINORG000BHLJMPT0_SERORG0

13、030H MAIN:MOVSP,#0CFHLCALL INIT M0:LCALL OUT_STATEM1:JNB S1_LAB,M1CLR S1_LABDEC TIME_BUFMOV A,TIME_BUF CJNE A,#0,M1LCALL NEXT_STATELJMP M0 6)软件编程TIME_BUFEQU30HLCALL OUT_STATE:MOVA,STATE_BUFMOVB,#3MULABMOVDPTR,#STATE_TABADDA,DPLMOVDPL,AMOVA,DPHADDCA,#0MOVDPH,AMOVA,#0 MOVCA,A+DPTRMOVTIME_BUF,AMOVA,#1M

14、OVCA,A+DPTRMOVP1,AMOVA,#2MOVCA,A+DPTRMOVP2,ARET STATE_TAB:DB08H,52H,02HDB02H,24H,09HDB20H,89H,04HDB02H,24H,09H OUT_STATE:MOVCA,A+DPTRSTATE_NEXT_STATE:INCSTATE_BUFMOVA,STATE_BUFCLRCSUBBA,#STATEMAXJCNS1MOVSTATE_BUF,#0NS1:RET INIT:MOVTMOD,#02HSETBTR0MOVTH0,#06H SETBET0SETBEAMOVSTATE_BUF,#0MOVMS50_BUF,#0MOVS1_BUF,#0CLRS1_LABRET T0_SER:同例1。 NEXT_STATE:INIT:T0_SER:本章习题1. MCS-51 单片机有几个中断源,几

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论