




免费预览已结束,剩余62页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,“十二五”职业教育国家规划教材,单片机原理及接口技术(第2版),数据传送的控制方式中断的基本概念MCS-51的中断系统中断源和中断标志中断的允许和优先权中断的处理过程外部中断源的扩展中断的应用,第章中断与定时系统,本章内容,SingleChipMicrocomputer,中断系统,1.定时方法2.定时和计数功能3.定时/计数器的控制4.定时/计数器初值的计算5.定时/计数器的工作方式6.定时/计数器应用举例7.定时/计数器与中断综合应用举例,定时/计数器,数据传送控制方式,中央处理器可以采用查询、中断和DMA3种方式控制接口的传送数据的操作。1.查询方式查询方式即中央处理器随时询问接口,数据传送完否或数据准备好否。在查询方式下,中央处理器需要完成下面操作:中央处理器向接口发出传送命令,输入数据或输出数据;中央处理器查询接口状态,数据发送完否或输入数据准备好否,如接口状态允许发送,则中央处理器向接口发出数据;如输入准备好,则中央处理器取回数据。查询方式下,中央处理器需要花费较多的时间去“询问”状态,而接口处于被动状态。2.中断方式中断方式下,中央处理器不必定时查询接口状态,而由接口在数据发送完毕或接收数据准备好时通知中央处理器,中央处理器再发送或接收数据。中断方式提高了系统工作效率,使中央处理器可以管理更多的接口。3.DMA方式DMA方式即是数据不经过中央处理器在存储器和外设之间直接传送的操作方式。DMA方式适合大量的高速数据传送,如存储器与磁盘之间的数据传送。但DMA方式控制复杂,需要专用接口控制芯片,中断的基本概念,日常生活中断的例子单片机中的中断概念中断技术的优点,日常中断的例子,返回,你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。,计算机中的中断概念,返回,中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。将能引起中断的事件称为中断源。CPU现行运行的程序称为主程序。处理随机事件的程序称为中断服务子程序。,中断技术的优点,分时操作CPU可以同多个外设“同时”工作实时处理CPU及时处理随机事件故障处理电源掉电、存储出错、运算溢出,MCS-51中断系统,中断源中断标志中断允许中断优先级MCS-51中断系统结构中断寄存器,MCS-51的中断系统中断源,8051单片机有5个中断请求源:,单片机,MCS-51的中断系统中断标志,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,每一个中断源都有相应的中断标志位;某一个中断源申请中断,相应中断标志位置1。,MCS-51的中断系统中断允许,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,EA总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断;某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源的中断。,中断允许,ES,ET0,EX0,EX1,ET1,EA,MCS-51的中断系统中断优先级,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者优先权高于后者(在程序中设置,相应位=1,为高优先级);同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形成,无法改变)。,中断允许,ES,ET0,EX0,EX1,ET1,EA,自然优先级,优先控制,PS,PT0,PX0,PX1,PT1,IE0,TCON,SCON,TF0,IE1,TF1,T0,T1,TI,RI,TXD,RXD,ES,ET0,EX0,EX1,ET1,EA,自然优先级,矢量地址,高级中断请求,自然优先级,矢量地址,低级中断请求,PX0,PT0,PX1,PT1,PS,IE,IP,MCS-51的中断系统结构图,中断标志位,中断源允许,总允许,中断优先级,TCON寄存器T0和T1控制寄存器,TCON,T1溢出中断标志(TCON.7):T1启动计数后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。,TCON88H,外部中断INT1中断标志位(TCON.3):IE11,外部中断1向CPU申请中断,外部中断INT1触发方式控制位(TCON.2):IT1=0,电平触发方式IT1=1,下降沿触发方式,TCON寄存器T0和T1控制寄存器,注意:该寄存器可以位寻址。,返回,TI(SCON.1)串行发送中断标志。RI(SCON.0)串行接收中断标志。,SCON寄存器串行口控制寄存器,SCON98H,注意:该寄存器可以位寻址。,IE寄存器中断允许寄存器,IEA8H,例:允许定时器T0中断:SETBEASETBET0或MOVIE,#82H,注意:该寄存器可以位寻址。,51单片机有两个中断优先级高级和低级专用寄存器IP为中断优先级寄存器,用户可用软件设定相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级系统复位时,均为低优先级该寄存器可以位寻址,IP寄存器中断优先级寄存器,IPB8H,中断处理过程,中断处理过程分为三个阶段:中断响应、中断处理和中断返回。中断响应中断处理(又称中断服务)中断返回中断请求的撤除,中断响应(以外部中断0为例),中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。中断响应过程:保护断点地址;,把程序转向中断服务程序的入口地址(通常称矢量地址)。,特别注意:这些工作是硬件自动完成的!,断点地址,中断服务子程序的入口地址,外部中断0入口地址,ZD0AJMP,ORG0003H,AJMPZD0,ZD0,中断响应,中断服务子程序入口地址又称为中断矢量或中断向量。,单片机中5个中断源的矢量地址是固定的,不能改动。,断点地址,中断服务子程序的入口地址,程序存储器ROM,0000H:复位后,程序的入口地址(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!,程序存储器ROM,0000H:复位后,程序的入口地址(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,包含T0中断服务子程序的程序结构:ORG0000HAJMPMAINORG000BHAJMPINTT0ORG0100HMAIN:.INTT0:.RETIEND,AJMPMAIN,AJMPINTT0,中断处理,中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。,入口地址,RETI,中断处理,INTT0:PUSHACCPUSHDPHPUSHDPLPUSHPSW中断源服务POPPSWPOPDPLPOPDPHPOPACCRETI,保护现场,恢复现场,中断返回,中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。中断返回由专门的中断返回指令RETI来实现。,中断返回,RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。特别注意:不能用RET指令代替RETI指令!,中断处理过程示意图,中断源发中断请求,中断响应条件是否满足?,中断是否受阻?,把PC断点地址压入堆栈,相应中断源的中断入口地址送入PC,转向中断服务程序,N,Y,Y,N,由硬件自动完成,关中断,保护现场,中断服务,开中断,关中断,恢复现场,开中断,中断返回,断点地址由堆栈弹入PC,中断服务程序,中断请求的撤除,CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的。边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IE1。串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志。,电平触发外部中断撤除方法较复杂。因为在电平触发方式中,CPU响应中断时不会自动清除IE1或IE0标志,所以在响应中断后应立即撤除INT0或INT1引脚上的低电平。在硬件上,CPU对INT0和INT1引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。,电平激活的外部中断源中断标志的撤除,外部中断源的扩展,单片机仅有两个外部中断输入端.可用两种方法扩展:1.定时器T0,T1。(工作在计数方式下)2.中断和查询结合。,1用定时器作外部中断源例5.5将定时器T0扩展为外部中断源。,解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TF0的初值均设置为FFH,允许T0中断,CPU开放中断,源程序如下:MOVTMOD,#06HMOVTH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEAT0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断T0脚相当于边沿触发的外部中断源输入线。,2中断和查询相结合,图:一个外中断扩展成多个外中断的原理图,中断服务程序如下:,ORG0003H;外部中断0入口AJMPINT0;转向中断服务程序入口INT0:PUSHPSW;保护现场PUSHACCJBP1.0,EXT0;中断源查询并转相应中断服务程序JBP1.1,EXT1JBP1.2,EXT2JBP1.3,EXT3EXIT:POPACC;恢复现场POPPSWRETI,EXT0:;EXINT0中断服务程序AJMPEXITEXT1:;EXINT1中断服务程序AJMPEXITEXT2:;EXINT2中断服务程序AJMPEXITEXT3:;EXINT3中断服务程序AJMPEXIT同样,外部中断1也可作相应的扩展。,例:在P1.0上产生周期为10ms的方波,设晶振频率12MHz.(要求分别以查询方式和中断方式设计程序),查询方式:,ORG0000HMOVTMOD,#10HMOVTH1,#0CEHMOVTL1,#78HSETBTR1WAIT:JBCTF1,NXSJMPWAITNX:CPLP1.0MOVTH1,#0CEHMOVTL1,#78HSJMPWAITEND,中断方式:,ORG0000HMOVTMOD,#10HMOVTH1,#0CEHMOVTL1,#78HMOVIE,#88HSETBTR1WAIT:SJMPWAITORG001BHCPLP1.0MOVTH1,#0CEHMOVTL1,#78HRETI,中断系统的应用,实例:LED数码管显示。使用技术:中断、中断优先级、中断优先权中断嵌套、中断过程。,1.中断初始化,中断初始化应在产生中断请求前完成,一般放在主程序中,与主程序其他初始化内容一起完成。(1)定义中断优先级。将中断优先级控制寄存器IP中相关的控制位置位。(2)若是外中断,则要定义外中断触发方式,将控制寄存器TCON中相关的控制位置位。(3)开中断。将控制寄存器中IE中的中断控制位EA和相应的中断允许控制位置位。,2.中断服务程序,编写中断服务程序的要求如下:(1)在相应的中断入口地址处设置一条跳转指令(SJMP、AJMP或LJMP),将中断服务程序转到合适的ROM空间。若中断服务程序小于等于8个字节,可直接放置在中断入口地址处。(2)根据需要保护现场。为减轻堆栈负担,保护现场的数据存储单元数量力求少。(3)CPU响应中断后不能自动清除中断请求标志位时,应考虑的清除中断请求标志位的其他操作。(4)恢复现场。(5)最后一条指令必须是中断返回指令RETI.,外部中断实验,图5-5外部中断实验电路原理图,ORG0000HSJMPSTARORG03H;INT0中断入口地址SJMPINT0S;转INT0中断服务ORG30HSTAR:MOVIE,#10000001B;INT0开中MOVTCON,#O1H;INT0边沿触发方式MOVA,#0FEH;P0口输出初值ST1:MOVP0,AACALLDELAY;延时RLA;改变输出数据SJMPST1;主程序循环INT0S:PUSHACC;保护现场MOVR2,#8;INT0中断服务,R2计数器赋初值LOOP:CLRAMOVP2,A;数码管亮ACALLDELAY;延时MOVA,#0FFHMOVP2,A;数码管各段全暗ACALLDELAY;延时DJNZR2,LOOP;循环8次POPACC;恢复现场,ARETIDELAY:;延时子程序,500ms,外中断中断优先级中断优先权,实训,5.2MCS-51定时器/计数器,1.定时方法(1)软件定时即让机器执行一个程序段。软件定时占用CPU,降低了CPU的利用率(2)不可编程的硬件定时可以采用如小规模集成电路器件555,外接定时部件(电阻和电容)构成。通过改变电阻和电容,可以使定时在一定的范围内改变。(3)可编程定时器可编程的定时器。它的定时值及其范围,可以很容易地由软件来确定和改变,能够满足各种不同的定时要求。,实质是计数器,脉冲每一次下降沿,计数寄存器数值将加1。计数的脉冲如果来源于单片机内部的晶振,由于其周期极为准确,这时称为定时器。计数的脉冲如果来源于单片机外部的引脚,由于其周期一般不准确,这时称为计数器。,8031有2个可独立控制的16位定时器/计数器:T0、T1。,MCS-51计数/定时器的原理,定时器控制、状态寄存器1)TMOD定时器方式寄存器(89H),1)功能选择位C/T:=0,定时功能,计数内部机器周期脉冲;=1,计数功能,计数引脚T0(T1)输入的负脉冲。2)方式选择位M1、M0:3)门控方式选择位GATE计数器启动方式的选择确定定时器工作方式指令:MOVTMOD,#方式字例:设T0用方式2非门控定时,T1用方式1门控计数。MOVTMOD,#0D2H;11010010B,2.4.2定时器工作方式,由方式选择位M1、M0设定一、方式013位定时/计数器。THx8位和TLx低5位组成13位加1计数器,此种方式与MCS48系列兼容,如果不是为了兼容的目的,一般不用方式0.方式0的全部功能,方式1都可以代替。,二、方式1,16位定时/计数器。THx8位和TLx8位组成16位加1计数器最大计数脉冲个数:165536(216),最长定时时间(晶振12MHzT=1s):1s65536T=65.54ms,非门控方式:当GATE0,控制权由TRx决定TRx1计数开始TRx0计数停止,门控方式:当GATE1、TRx1控制权由INTx决定INTx1计数开始INTx0计数停止,启动计数方式:,三、方式2,用于需要重复定时和计数的场合。最大计数值:256(28)最大定时时间(晶振12MHz时T=1s):256s自动恢复初值8位定时/计数器。TLx为8位加1计数器,THx为8位初值暂存器。,四、方式3,T0分成2个8位定时器:TL0定时/计数器和TH0定时器TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制位:TR1。T1不能使用方式3工作,2.4.3计算时间常数X(计算初值),计数功能:X=2n-计数值n:8/13/16定时功能:X=2n-t/Tt:定时时间(s)T:机器周期12/晶振频率如:晶振为12MHz时,T12/12MHz12(1210-6)(秒)110-61us一、MCS-51定时器的应用定时器初始化编程:使用定时器工作之前,先写入控制寄存器,确定好定时器工作方式。初始化编程格式:,MOVTMOD,#方式字;选择方式MOVTHx,#XH;装入Tx时间常数MOVTLx,#XLSETBEA;开Tx中断SETBETxSETBTRx;启动Tx定时器。,例:由P1.0输出方波信号,周期为2ms,设fosc=12MHz。,解:每隔1ms改变一次P1.0的输出状态,即形成方波,用T0非门控方式1定时。计算时间常数:X=216-t/T=216(/1000)/10-6=65536-1000=64536=FC18H,ORG0000HAJMPMAINORG000BH;T0中断硬件入口地址AJMPPT0INT;跳到中断服务程序ORG0030HMAIN:MOVTMOD,#01H;中断方式MOVTL0,#18H;计数初值MOVTH0,#0FCHSETBEA;开放总中断SETBET0;开放T0中断SETBTR0;启动定时器HERE:SJMPHERE;等待中断,相当于执行其它任务PT0INT:MOVTL0,#18H;中断服务程序;置初值MOVTH0,#0FCHCPLP1.0;取反,产生方波RETI;中断返回,例P1.7驱动LED亮1秒灭1秒地闪烁,设时钟频率为12MHz。长定时方法:增加一个软件计数器(如R7),记录中断次数,计满n个中断为1秒。,ORG0000HAJMPMAINORG001BHAJMPPT1INTORG0030HSTART:MOVR7,#00HMOVTMOD,#10HMOVTL1,#0F0HMOVTH1,#0D8HSETBEASETBET1SETBTR1HERE:SJMPHEREPT1INT:MOVTL1,#0F0HMOVTH1,#0D8HINCR7CJNER7,#10,PENDMOVR7,#00HCPLP1.7PEND:RETI,例定时器外部引脚T0(T1)用作外部中断信号输入端。外部负脉冲引起中断请求,选计数方式,时间常数为FFH。例:门控方式测量正脉冲宽度解:INT1引脚输入被检测信号,记录在正脉冲的时间内包含机器脉冲个数。设脉宽小于65.5ms等待查询INT0,正脉冲过后,读出TH1TL1。,START:MOVTMOD,#90HMOVTL1,#00HMOVTH1,#00HWAIT1:JBP3.3,WAIT1SETBTR1WAIT2:JNBP3.3,WAIT2WAIT3:JBP3.3,WAIT3CLRTR1MOVR2,TL1MOVR3,TH1,解计数初值计算:200us的初值为9CH,400us的初值为38H,即TH0=38H,TL0=9CH;程序如下:ORG00HAJMPMAIN0RG000BHMOVTL0,#9CH;以下中断服务程序共6字节CPLP1.0RETI0RG001BHMOVTH0,#38HCPLP1.1RETIMAIN:MOVTMOD,#3;T0方式3MOVTI0,#9CHMOVTHO,#38HMOVIE,#8AH;允许两个定时器中断SETBTR0SETBTR1SJMP$,例应用定时器T0的方式3分别产生200us和400us的定时,并使P1.0。和P1.1分别输出周期为400us和800us的连续方波,设。,1实训目的(1)利用单片机的定时与中断方式,实现对信号灯的复杂控制。(2)通过定时器程序调试,学会定时器方式1的使用。(3)通过中断程序调试,熟悉中断的基本概念。,实训信号灯的控制,2实训设备与器件(1)实训设备:单片机开发系统、微机。(2)实训器件:实训电路板。,3实训程序,1)定时器查询方式,ORG0000HCONT:MOVR2,#07HMOVA,#0FEHNEXT:MOVP1,AACALLDELAYRLADJNZR2,NEXTMOVR2,#07HNEXT1:MOVP1,ARRAACALLDELAYDJNZR2,NEXT1SJMPCONTDELAY:MOVR3,#14H;置50ms计数循环初值MOVTMOD,#10H;设定时器1为方式1MOVTH1,#3CH;置定时器初值MOVTL1,#0B0HSETBTR1;启动T1LP1:JBCTF1,LP2;查询计数溢出SJMPLP1;未到50ms继续计数LP2:MOVTH1,#3CH;重新置定时器初值MOVTL1,#0B0HDJNZR3,LP1;未到1s继续循环RET;返回主程序END,TF1=1,2)定时器中断方式,ORG0000H;程序入口AJMP0100H;指向主程序ORG001BH;定时器T1中断入口AJMPCONT;指向中断服务程序ORG0100HMAIN:MOVTMOD,#10H;置T1为工作方式1MOVTH1,#3CH;置50ms定时初值MOVTL1,#0B0HSETBEA;CPU开中断SETBET1;定时器T1开中断SETBTR1;启动T1CLR08H;清1s计满标志位MOVR3,#14H;置50ms循环初值DISP:MOVR2,07HMOVA,#0FEHNEXT:MOVP1,AJNB08H,$;查询1s时间到否CLR08H;清标志位RLADJNZR2,NEXTMOVR2,#07H,NEXT1:MOVP1,AJNB08H,$CLR08HRRADJNZR2,NEXT1SJMPDISPCONT:MOVTH1,#3CH;重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西城市职业大学《幼儿舞蹈即兴创编(1)》2023-2024学年第一学期期末试卷
- 长沙民政职业技术学院《机械工程项目管理》2023-2024学年第一学期期末试卷
- 达州职业技术学院《合唱与指挥》2023-2024学年第一学期期末试卷
- 许昌学院《方案快速设计与表现实验》2023-2024学年第一学期期末试卷
- 昆山杜克大学《线性素描写生》2023-2024学年第一学期期末试卷
- 郑州信息科技职业学院《英语泛读(3)》2023-2024学年第一学期期末试卷
- 贵州航空职业技术学院《英语综合阅读一》2023-2024学年第一学期期末试卷
- 安徽医学高等专科学校《医疗保险国际比较》2023-2024学年第一学期期末试卷
- 中学生心理健康辅导培训
- 伦理风险防范体系-洞察及研究
- 血管旋磨术护理查房
- 铁路货运低碳化发展路径
- 分析化学知识点总结
- 《统计学》 课件 廖颖文 1. 绪 论
- QCC品管圈活动表格汇编
- 历届图灵奖获奖者
- 幼儿园零星改造工程施工完整方案
- 城市轨道交通服务礼仪PPT完整全套教学课件
- 《世界遗产背景下的影响评估指南和工具包》
- DolphinScheduler体系架构突破
- 探究食育课程对小班幼儿良好饮食习惯形成的作用 论文
评论
0/150
提交评论