版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章80C51的中断系统及定时/计数器80C51单片机的中断系统5.180C51单片机的中断处理过程5.280C51单片机的定时/计数器5.380C52的定时/计数器25.42023/2/3180C51单片机的中断系统5.1日常中断的例子专心看书,突然电话铃响记下页数去接电话,接完电话,找到刚才页码继续看书。2023/2/32计算机中的中断概念中断:是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。2023/2/33中断的概念:中断是计算机工作过程的随机事件中断源:引起中断的事件或设备称为中断源采用中断的优点:⑴分时操作⑵实时处理⑶故障处理如:良好的中断系统使处理机具有随机应变的能力,从而扩大应用范围,提高CPU效率51中断系统的特点:内容丰富,结构合理,逻辑性强,高效实用中断请求中断请求2023/2/34一、中断的一般功能1、中断的屏蔽与开放中断屏蔽:称为关中断,CPU不响应中断请求称为开中断,CPU可响应中断请求中断开放:2、中断响应与中断返回中断请求RETI主程序响应中断中断服务子程序返主程序继续执行主程序图6-18(a)中断的响应与返回中断请求PC断点PC断点中断允许中断禁止2023/2/35你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接电话过程中,有人敲窗户(更紧急),先放下电话,开窗户,处理完后,再接着听电话,接完电话后再回来接着看书。(中断嵌套)中断嵌套2023/2/363、中断优先中断开放的情况下,如果有几个中断请求同时发生,应首先响应中断优先级较高的中断4、中断嵌套低级中断请求RETI主程序响应低级中断高级中断服务子程序返主程序继续执行主程序高级中断请求响应高级中断返低级中断图6-18(b)中断的嵌套示意图RETI低级中断服务子程序低级中断服务子程序挂起低级中断挂起低级中断低级中断低级中断简单说:就是中断中断2023/2/37中断请求源5个中断源2个优先级2个外部中断3个内部中断INT0(P3.2)INT1(P3.3)T0T1UART与中断有关的特殊功能寄存器:IP:中断优先控制寄存器IE:中断允许控制寄存器TCON:定时/计数控制寄存器SCON:UART控制寄存器中断标志寄存器可编程,可控MCS–51中断要点MCS–51中断要点2023/2/38二、中断请求标志1、定时/计数器控制寄存器TCON
TCON(88H)TF1
TF0
IE1
IT1
IE0IT0
INT1
INT0触发方式控制位0
低电平触发1
边沿↓触发
INT1
INT0外部中断请求标志1有有效触发时0
当CPU响应中断时T1T0溢出标志1
计数器“+1”有溢出时,并向CPU请求中断0
当CPU响应中断时,也可由指令清除TR1TR0由硬件自动由硬件自动中断请求标志可编程控制位TR1
TR0由硬件自动由硬件自动在每个机器周期S5P2都采样引脚P3.3P3.2引脚00记录有无中断记录有无中断2023/2/392、串行口控制寄存器SCONTI:串行口发送中断标志在方式0,串行发送到第8位结束时,由硬件置“1”;或在其他方式中,串行发送到停止位的开始时,由硬件置“1”,RI:串行口接收中断标志在方式0,串行接收到第8位结束时,由硬件置“1”;或在其他方式中,串行接收到停止位的开始时,由硬件置“1”,“1”发送完一帧数据后“1”接收完一帧数据后必须由软件清“0”必须由软件清“0”
SCON(98H)
TIRI2023/2/310三、中断控制1、中断允许寄存器IE
EA/
/
ES
ET1
EX1
ET0
EX0INT0INT1T1T0UARTCPU0
禁止1
允许0
禁止1
允许总中断总中断中断中断IE(A8)中断的开放和禁止是可控,可编程的ET2T2CPUIE的相应位被置“0”
或“1”
该相应中断即被“禁止”或“开放”2023/2/3112、中断优先级寄存器IP
//
/
PS
PT1
PX1
PT0
PX0IP(B8)ET2INT0INT1T1T0UART0
低级1高级中断中断T2中断优先级是可控,可编程的3、优先级结构中断优先级控制遵循的两个基本原则:
⑴一个正在执行的低级中断服务程序,能被高优先级中断请求所中断,但不能被同优先级中断请求所中断。⑵一个正在执行的高级中断服务程序,不能被任何中断请求所中断,直到返回。2023/2/312实现这两个原则的方法:中断系统内部设置了两个不可寻址的优先级状态触发器。一个指出正在处理的是:高优先级中断,并阻止所有其他中断;另一个指出正在处理的是:低优先级中断,并阻止了除高优先级中断外的其他任何中断。高优先级状态触发器低优先级状态触发器是不可寻址的当CPU响应高级中断,并进入中断服务时“1”“1”RETI“0”当CPU响应低级中断,并进入中断服务时“1”RETI“0”2023/2/313源允许图6-19中断系统总体逻辑结构总允许优先级自然优先级中断源自然优先级中断源查询硬件查询硬件低级中断请求矢量地址送PCIPIETCON
SCONEX0ET0EX1ET1ESEAINT0INT1T0T1RXTXRITIIE0IE1TF0TF1
IT1
011010101010矢量地址送PC高级中断请求IT0
01中断标志中断标志INT01IE0自然优先级矢量地址送PC“+1”TF10自然优先级矢量地址送PCEA“+1”“+1”EX0ET112023/2/314四、中断响应过程中断响应的三个条件:⑴CPU不是正在处理同级或高级中断请求⑵现行机器周期是所执行指令的最后一个机器周期⑶正在执行的指令不是RETI,或不在访问IE或IP外部中断请求INT0定时/计数器T0溢出定时/计数器T1溢出串行口UART定时/计数器T2溢出外部中断请求INT1中断入口地址:0003H000BH0013H001BH0023H002BH中断源矢量地址2023/2/315中断处理过程
中断处理过程分为三个阶段:中断响应、中断处理和中断返回。
中断响应中断处理(又称中断服务)
中断返回
中断请求的撤除
中断响应中断返回2023/2/316中断响应(以外部中断0为例)中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。中断响应过程:保护断点地址;中断响应把程序转向中断服务程序的入口地址(通常称矢量地址)。特别注意:这些工作是硬件自动完成的!
断点地址中断服务子程序的入口地址外部中断0入口地址0003ZD0AJMPORG0003HAJMPZD0ZD02023/2/317中断响应中断服务子程序入口地址又称为中断矢量或中断向量。中断响应单片机中5个中断源的矢量地址是固定的,不能改动。断点地址中断服务子程序的入口地址2023/2/318程序存储器ROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!2023/2/319程序存储器ROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH包含T0中断服务子程序的程序结构:
ORG0000H AJMPMAIN
ORG000BH AJMPINTT0
ORG0100HMAIN:...INTT0:...RETIENDAJMPMAINAJMPINTT02023/2/320中断处理中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。中断响应入口地址RETI2023/2/321中断处理INTT0:PUSHACC PUSHDPHPUSHDPLPUSHPSW
中断源服务
POPPSWPOPDPLPOPDPHPOPACCRETI保护现场恢复现场注意,PUSH和POP要成对出现,不然就会使程序发生紊乱例如:少了一个POPACC会出现什么情况呢??2023/2/322中断返回中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。中断返回由专门的中断返回指令RETI来实现。中断响应中断返回2023/2/323中断返回
RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。特别注意:不能用RET指令代替RETI指令!中断响应中断返回2023/2/324中断处理过程示意图中断源发中断请求中断响应条件是否满足?中断是否受阻?
把PC断点地址压入堆栈
相应中断源的中断入口地址送入PC,转向中断服务程序NYYN
由硬件自动完成2023/2/325
关中断保护现场中断服务
开中断
关中断恢复现场
开中断中断返回断点地址由堆栈弹入PC保护现场和恢复现场的过程中不允许中断,以免现场遭到破坏。保护和恢复现场之后的开中断是为了允许有更高级中断打断此中断服务程序。中断服务程序硬件自动完成2023/2/326中断请求的撤除
CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。
定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的。
边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IE1。
串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志。2023/2/327电平触发外部中断撤除方法较复杂。因为在电平触发方式中,CPU响应中断时不会自动清除IE1或IE0标志,所以在响应中断后应立即撤除INT0或INT1引脚上的低电平。
在硬件上,CPU对INT0和INT1引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。电平激活的外部中断源中断标志的撤除2023/2/328五、外部中断响应时序与触发方式1、外部中断响应时序M1M3M4M5M2S5P1S5P2INT被采样并锁存到IE0IE1中CPU进行中断查询保护断点,长调用至入口中断服务1、中断响应顺利,不受阻,需要3个机器周期2、如果中断受阻,上页下页回目录即满足上述三个条件①正在处理同级或高级中断,这要视中断服务程序的长短②执行的指令不是最后一个机器周期,等待不超过3个周期1个周期(查询)+2个周期(长调用LCALL)③若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期:2个周期执行当前指令(其中含有1个周期查询)+4个周期乘除指令+2个周期长调用=8个周期则需要3~8个机器周期2023/2/3292、外部中断触发方式⑴电平触发方式⑵边沿触发方式若外部中断(当ITX=0时)被定义为电平触发方式其有效触发为低电平,该低电平维持到CPU响应该中断为止,中断返回之前,必须为高电平。否则CPU将再次响应该中断。若外部中断(当ITX=1时)被定义为边沿触发方式其有效触发为下降沿。在该触发方式中,CPU在一个机器周期采样为高电平,在下一机器周期采样为低电平,↓就立即置位外部中断请求标志。*无论是那种触发发方式,只要有有效触发,都会记录在相应的中断标志位中,若CPU即使暂不响应,中断标志也不会丢失,直到CPU响应该中断,该标志才会清除。有效触发标志位记录2023/2/330六、多外部中断源的设计1、利用定时/计数器作外部中断输入使用的方法T0作为外部中断源的初始化程序:MOVTMOD,#06HMOVTL0,#0FFHMOVTH0,#0FFHSETBEASETBET0SETBTR0…;T0计数方式,自动装载;置计数初值;;T0开中断;CPU开中断;启动T0工作计数器“+1”计数器向CPU发中断请求向CPU发中断请求TF0FFHT0FFH方式2(8位)FFHFFHTF000HFFHFFHP3.4T0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断
T0脚相当于边沿触发的外部中断源输入线。2023/2/3312、中断与查询相结合的方法8051INT0INT1P1.3P1.2P1.1P1.0DVT0DVT1DVT2DVT3DVT410K+5V图6-21扩展多个外部中断最高级最低级“线或”2023/2/332PINT1:PUSHPSWPUSHACCJBP1.0,PDVT1JBP1.1,PDVT2JBP1.2,PDVT3JBP1.3,PDVT4PINTR:
POPACCPOPPSWRETI;进入中断后;注意保护现场;依次查询判断;若是干扰信号引起;返主程序前;注意恢复现场;的中断请求,可被滤掉外部中断INT1的中断服务程序:2023/2/333PDVT1:……AJMPPINTRPDVT2:……AJMPPINTRPDVT3:……AJMPPINTRPDVT4:……AJMPPINTR;DVT1中断服务;DVT2中断服务;DVT3中断服务;DVT4中断服务中断处理2023/2/334⒈
中断初始化⑴设置堆栈指针SP⑵定义中断优先级⑶定义外中断触发方式⑷开放中断⑸中断应用数据初始化⒉中断服务主程序中断服务子程序内容要求:⑴在中断服务入口地址设置一条跳转指令⑵保护现场。⑶中断源请求中断服务要求的操作。
⑷恢复现场。⑸中断返回,最后一条指令必须是RETI。七中断系统的应用2023/2/3355.2.4中断程序举例
2023/2/336
ORG0000HSTART:LJMPMAINORG0003HLJMPINTOORG0030
MAIN:CLRIT0
SETBEASETBEX0
MOVDPTR,#1000H;设置数据区地址指针
……ORG0200H;中断服务程序
INT0:PUSHPSW;保护现场
PUSHACCCLRP3.0;由P3.0输出0NOPNOPSETBP3.0;由P3.0输出1,撤除
MOVA,P1;输入数据
MOVX@DPTR,A;存入数据存储器
INCDPTR;修改数据指针,指向下一个单元
……POPACC;恢复现场
POPPSWRETI;中断返回2023/2/337【例2】出租车计价器计程方法是车轮每运转一圈产生一个负脉冲,从外中断INT0(P3.2)引脚输入,行驶里程为轮胎周长×运转圈数,设轮胎周长为2m,试实时计算出租车行驶里程(单位米),数据存32H、31H、30H。
解:编程如下:
ORG 0000H ;复位地址
LJMP STAT ;转初始化
ORG 0003H ;中断入口地址
LJMP INT ;转中断服务程序2023/2/338
ORG0100H ;初始化程序首地址STAT:MOVSP,#60H ;置堆栈指针
SETBIT0 ;置边沿触发方式
MOVIP,#01H ;置高优先级
MOVIE,#81H ;开中
MOV30H,#0 ;里程计数器清0MOV31H,#0 ;MOV32H,#0 ;LJMPMAIN ;转主程序,并等待中断
ORG0200H ;中断服务子程序首地址INT:PUSHAcc ;保护现场
PUSHPSW ; MOVA,30H ;读低8位计数器
ADDA,#2 ;低8位计数器加2m MOV30H,A ;回存
CLRA ; ADDCA,31H ;中8位计数器加进位
MOV31H,A ;回存
CLRA ; ADDCA,32H ;高8位计数器加进位
MOV32H,A ;回存
POPPSW ;恢复现场
POPAcc ; RETI ;中断返回MAIN主程序可以处理循环显示等任务。2023/2/339【例3】通过外部中断1,在中断服务中将B寄存器里的内容左环移一位。已知:(B)=01h,要求采用边沿触发,低优先级。此例的实际意义:在INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,中断服务则是:依次点亮八盏灯中的一盏。
P1.0P1.7INT13002023/2/340
ORG0000H
LJMPMAIN
ORG0013H;中断矢量
LJMPINTMAIN:SETBEA;开总中断允许“开关”
SETBEX1;开分中断允许“开关”
CLRPX1;0优先级(也可不要此句)
SETBIT1;边沿触发
MOVB,#01H;给B寄存器赋初值HERE:SJMPHERE;原地等待中断申请INT:MOVA,B;自B寄存器中取数
RLA;左环移一次
MOVB,A;存回B,备下次取用
MOVP1,A;输出到P1口
RETI;中断返回中断服务程序2023/2/341
利用外部中断实现单步操作:
8031+5v在主程序中:CLRIT0SETBEASETBPX0SETBEX0………在中断服务子程序中:JNBP3.2,$JBP3.2,$RETI2023/2/342作业将中断的全过程写出来,给出一个ROM表和堆栈表,将中断的初始化,中断服务程序的位置都标出来,任意设中断在主程序的位置,并用语言叙述中断的相应过程(包含PC指针的变化,程序的走向,以及中断的各个步骤)2023/2/34380C51单片机的定时/计数器5.32023/2/3441、定时:对时间基准脉冲计数本质:计数对象不同2、计数:对外部随机脉冲计数信号具有周期性信号随机5.3.1定时/计数器工作原理一.定时和计数基本原理2023/2/345软件定时例如延时程序。不占硬件资源,占用了CPU时间,降低了CPU的利用率。采用时基电路定时例如采用555电路,外接必要的元器件(电阻和电容)。但定时值不能由软件控制和修改可编程定时器定时最方便的办法是利用单片机内部的定时器/计数器。结合了软件定时精确和硬件定时电路独立的特点。二.常用定时方法2023/2/346三、定时计数器的结构与工作原理1、结构CPUTH1(8位)TL1(8位)T1
T1(P3.5)(8DH)(8BH)7070TH0(8位)TL0(8位)T0
T0(P3.4)(8CH)(8AH)7070TCON(88H)TMOD(89H)启动启动溢出溢出工作方式工作方式2023/2/3472、工作原理⑴定时器定时输入信号:晶振的1/12分频一个机器周期做一次“+1”运算则1TCY=12Tosc=12/12MHz=1µs若fosc=12MHz⑵计数器由外部引脚(T0为P3.4,T1为P3.5)输入计数脉冲外部输入脉冲宽度应大于2个机器周期>TCY>TCY外部输入脉冲发生负跳变时,进行“+1”计数高电平低电平TCY2023/2/348震荡器÷12TL18位TH18位TF1中断KC/T=0C/T=1控制11“+1”中断16位计数器TF1“+1”“+1”1⑴定时器则1TCY=12Tosc=12/12MHz=1µs若fosc=12MHz⑵计数器外部脉冲应大于2TCY>TCY>TCY高电平低电平一旦启动就工作于单一的“+1”状态,TCYTCY外部脉冲频率应小于fosc/242023/2/3491、方式寄存器TMODGATEC/TM1M0GATEC/TM1M0LSBMSB
(89H)TMOD控制T1控制T0门控位功能选择位工作方式选择四.有关SFRINT1INT0引脚输入电平的控制GATE:门控位。设定T1、T0运行时是否受GATE=
0不受外部中断控制C/T=1受外部中断控制0为定时功能1为计数功能2023/2/350
00方式013位计数器
01方式116位计数器
10方式2可自动重新装载初值的8位计数器
11方式3T0分为2个8位计数器,T1停止计数M1M0操作方式功能操作方式选择2023/2/3512、控制寄存器TCONLSBMSB
(88H)TCONTF1TR1TF0TR0IE1IT1IE0IT0T1、T0
启/停控制位T1、T0
溢出标志位与外部中断INT1、INT0有关在中断中介绍过了“0”停止“1”启动“1”有溢出“0”无溢出可编程可控制“+1”亦可由指令清“0”工作“1”“0”记录有无溢出2023/2/3525.3.2定时/计数器的4种工作方式一、方式0M1M0=0013位的定时计数器,由TH的8位和TL的低5位组成T1(P3.5)GATETR1INT1震荡器÷12TL15位TH18位TF1中断KC/T=0C/T=1控制图6-3定时/计数器方式0逻辑图111“+1”中断TL4~0以T1为例:13位计数器TF1“+1”“+1”2023/2/353二、方式1M1M0=0116位的定时计数器,由TH的8位和TL的8位组成T1(P3.5)GATETR1INT1震荡器÷12TL18位TH18位TF1中断KC/T=0C/T=1控制图6-4定时/计数器方式1逻辑图16位计数器“+1”1以T1为例:中断TF1“+1”“+1”2023/2/354三、方式2M1M0=10可自动重装载的8位计数器TH1(TH0)被定义为赋值寄存器TL1(TL0)被定义为计数器图6-5定时/计数器方式2逻辑图
T1(P3.5)
GATETR1INT1震荡器÷12TL18位TF1中断KC/T=0C/T=1控制TH18位重装载重装载1“+1”以T1为例:中断TL18位TF1“+1”“+1”2023/2/355震荡器÷121/12f0scTL08位TF0中断KC/T=0C/T=1控制1/12f0sc
T0(P3.4)GATETR0INT0KTH08位TF1中断控制1/12f0scTR11TH0借用了T1的TR1和TF1,因此控制了T1的中断此时T1只能用在一些不要中断的情况下“+1”“+1”1“+1”“+1”TF0TF1
中断
中断“+1”四、方式3M1M0=11T0被分成2个相互独立的8位计数器TL0、TH02023/2/356五、定时/计数器的初始化1、初始化一般有以下几个步骤:2、计数初值的设定:最大计数值M:不同的工作方式M值不同方式0:M=213=8192方式1:M=216=65536方式2、3:M=28=256置方式,对TMOD赋值,设初值,并写入TH0、TL0或TH1、TL1;开中断,中断方式时,IE启动定时,使TR0或TR1置位2023/2/357计数初值X的计算方法:计数方式:X=M-计数值(X即为计数值的补码数)定时方式:(M-X)×Tc=定时值∴X=M-定时值/Tc其中T为机器周期,时钟的12分频,若晶振为6MHz,则Tc=2µs,若晶振为12MHz,则Tc=1s2023/2/3585.3.3定时/计数器应用举例1、作定时器用例5.3-1
设主频为12MHz,利用定时器T1定时。使P1.0输出周期为2ms的方波。解:用P1.0作方波输出信号,周期为2ms的方波即可用每1ms改变一次电平的方法完成,故定时值可设置为1ms。
可做“+1”运算1000次,使T1工作在方式1,即16位计数器定时初值:采用方式1:(
16位计数器)X=216-(1000×10-6/10-6)=64536=FC18H1000×10-6/10-6=216-X2023/2/359GATEC/TM1M0控制T1控制T00001选择方式1选择定时器方式INT1不参与控制TMOD2023/2/360MOVTMOD,#10HMOVTH1,#0FCHMOVTL1,#18HSETBEASETBET1SETBTR1SJMP$ORG001BHAJMPINT_T1INT_T1:
MOVTH1,#0E0HMOVTL1,#18HCPLP1.0RETI;T1按方式1工作;给计数器赋初值;CPU开中断;T1允许中断;启动T1;T1中断入口;;重装T1的初值;输出方波;返回程序:ORG0030HMAIN:MOVSP,#60HORG0000HAJMPMAIN2023/2/361例5.3-2
根据例5.3-1的要求产生周期为2ms的方波,但不用中断方式,而用查询方式工作,查询标志为TF1解:利用方式1,16位计数器,当定时时间到,
T1计数器溢出使TF1置“1”,由于不采用中断方式,TF1置“1”后,不会自动复“0”
故需要指令给TF1清“0”初值=0
00
0H-)03E8H81CFHFC18H
10002023/2/362MOVTMOD,#10HSETBTR1LOOP:MOVTH1,#0FCHMOVTL1,#18HJNBTF1,$CPLP1.0CLRTF1SJMPLOOP;T1按方式1工作;启动T1定时;给计数器赋初值;TF1=0,则继续查询;;TF1←0;输出方波;返回程序:2023/2/363
定时时间较大时(大于65ms)。实现方法:一是采用1个定时器定时一定的间隔(如50ms),然后用软件进行计数;二是采用2个定时器级联,其中一个定时器用来产生周期信号(如20ms为周期),然后将该信号送入另一个计数器的外部脉冲输入端进行脉冲计数。
【例5.3-3】编写程序,实现用定时/计数器T0定时,使P1.7引脚输出周期为2s的方波。设系统的晶振频率为12MHz。确定方式字:T0在定时的方式1时:M1M0=01,GATE=0,C/T=0方式控制字为01H
求计数初值X:Tcy为1µSN=50ms/1µS=50
000X=65536-50000=3CB0H应将3CH送TH0,B0H送TL0采用定时50ms,然后再计数20次的方法实现2023/2/364
ORG0000HLJMPMAINORG000BHLJMPDVT0ORG0030HMAIN:MOVTMOD,#01H;置T0方式1MOVTH0,#3CH;装入计数初值
MOVTL0,#0B0H;首次计数值
MOVR7,#20;计数20次
SETBET0;T0开中断
SETBEA;CPU开中断
SETBTR0;启动T0SJMP$;等待中断DVT0:MOVTH0,#3CHMOVTL0,#0B0HDJNZR7,NT0MOVR7,#20CPLP1.7NT0:RETIEND主程序
中断服务程序
2023/2/365
ORG0000HLJMPMAINORG000BHLJMPDVT0ORG0030HMAIN:MOVTMOD,#01H;置T0方式1MOVTH0,#3CH;装入计数初值
MOVTL0,#0B0H;首次计数值
MOVR7,#0;计数20次
SETBET0;T0开中断
SETBEA;CPU开中断
SETBTR0;启动T0SJMP$;等待中断DVT0:MOVTH0,#3CHMOVTL0,#0B0Hincr7
cjner7,#20,nt0MOVR7,#0CPLP1.7NT0:RETIEND主程序
中断服务程序
2023/2/3662、作计数器用例5.3-4
用T0监视一生产流水线,每生产100个工件,发出一包装命令,包装成一箱,并记录其箱数MCS-51
P1.0
T0Vcc包装机包装命令100个光源2023/2/367GATEC/TM1M0控制T1控制T0TMOD选方式2选计数器INT0不参与控制0110⑵计数初值X=M-64H=9CH⑶用P1.0启动外设发包装命令⑷用R5R4作箱数计数器⑴方式字TMOD=06H2023/2/368程序:MOVTMOD,#6MOVP1.0,#0MOVR5,#0MOVR4,#0MOVTH0,#9CHMOVTL0,#9CHSETBEASETBET0SETBTR0SJMP$ORG000BHAJMPCOUNT;P1.0为低;箱数计数器清“0”;置T0工作方式;计数初值送计数器;;T0开中断;CPU开中断;启动T0;;模拟主程序;T0中断入口;转向中断服务2023/2/369COUNT:MOVA,R4ADDA,#1MOVR4,AMOVA,R5ADDCA,#0MOVR5,ASETBP1.0MOVR3,#100DLY:NOPDJNZR3,DLYCLRP1.0RETI中断服务:;;;;箱计数器加“1”;;;启动外设包装;给外设足够时间;;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医定向透药治疗仪课件
- 2024校园宣传栏制作合同
- 【培训课件】广东省交通厅科技项目管理及推广平台项目概述
- 2024聘用电视剧编剧合同
- 2024至2030年中国高级席梦思床垫数据监测研究报告
- 2024至2030年中国输送线灯架数据监测研究报告
- 2024至2030年中国绿蝴蝶花岗岩数据监测研究报告
- 2024至2030年中国磁性载体用热塑性聚氨酯树脂行业投资前景及策略咨询研究报告
- 2024至2030年中国毛刷轮数据监测研究报告
- 2024至2030年中国折叠餐具行业投资前景及策略咨询研究报告
- 幼儿宪法安全教育
- 银行客户投诉处理流程制度
- 2024年深圳市中考英语试题及解析版
- (高清版)JTG D50-2017 公路沥青路面设计规范
- 外科学(1)智慧树知到课后章节答案2023年下温州医科大学
- 浦发银行个人信用报告异议申请表
- 解一元一次方程复习课PPT精品文档
- 铸造用高纯生铁
- 全面质量管理纲要手册TQM实施细则指南
- 独具魅力的面具
- 粮改饲工作汇报(共6篇)
评论
0/150
提交评论