第5章中断与定时系统资料

上传人:陈** 文档编号:182499961 上传时间:2023-01-24 格式:PPT 页数:67 大小:790.50KB
返回 下载 相关 举报
第5章中断与定时系统资料_第1页
第1页 / 共67页
第5章中断与定时系统资料_第2页
第2页 / 共67页
第5章中断与定时系统资料_第3页
第3页 / 共67页
点击查看更多>>
资源描述
“十二五”职业教育国家规划教材单片机原理及接口技术(第2版)w数据传送的控制方式w中断的基本概念wMCS-51的中断系统w中断源和中断标志w中断的允许和优先权w中断的处理过程w外部中断源的扩展w中断的应用第第章章中中断断与与定定时时系系统统 本章内容本章内容Single Chip Microcomputer中断系统中断系统1.定时方法2.定时和计数功能3.定时/计数器的控制4.定时/计数器初值的计算5.定时/计数器的工作方式6.定时/计数器应用举例 7.定时/计数器与中断综合应用举例 定时定时/计数器计数器数据传送控制方式v中央处理器可以采用查询、中断和DMA 3种方式控制接口的传送数据的操作。v1.查询方式v 查询方式即中央处理器随时询问接口,数据传送完否或数据准备好否。在查询方式下,中央处理器需要完成下面操作:v中央处理器向接口发出传送命令,输入数据或输出数据;v中央处理器查询接口状态,数据发送完否或输入数据准备好否,如接口状态允许发送,则中央处理器向接口发出数据;如输入准备好,则中央处理器取回数据。v查询方式下,中央处理器需要花费较多的时间去“询问”状态,而接口处于被动状态。v2.中断方式v中断方式下,中央处理器不必定时查询接口状态,而由接口在数据发送完毕或接收数据准备好时通知中央处理器,中央处理器再发送或接收数据。中断方式提高了系统工作效率,使中央处理器可以管理更多的接口。v3.DMA方式vDMA方式即是数据不经过中央处理器在存储器和外设之间直接传送的操作方式。DMA方式适合大量的高速数据传送,如存储器与磁盘之间的数据传送。但DMA方式控制复杂,需要专用接口控制芯片中断的基本概念v日常生活中断的例子v单片机中的中断概念v中断技术的优点 日常中断的例子日常中断的例子 你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。计算机中的中断概念计算机中的中断概念中断中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。将能引起中断的事件称为中断源中断源。CPU现行运行的程序称为主程序主程序。处理随机事件的程序称为中断服务中断服务子程序子程序。中断技术的优点中断技术的优点v分时操作分时操作 CPU可以同多个外设“同时”工作v实时处理实时处理 CPU及时处理随机事件v故障处理故障处理 电源掉电、存储出错、运算溢出 MCS-51中断系统v中断源中断源v中断标志中断标志v中断允许中断允许v中断优先级中断优先级vMCS-51MCS-51中断系统结构中断系统结构v中断寄存器中断寄存器 MCS-51MCS-51的中断系统的中断系统中断源中断源8051单片机有5个个中断请求源:单片机单片机INT0或 外部输入中断源INT0(P3.2)INT1或 外部输入中断源INT1(P3.3)T0 片内定时器T0的溢出T1 片内定时器T1的溢出串行口 片内串行口发送或接收中断源 MCS-51MCS-51的中断系统的中断系统中断标志中断标志CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中断源中断源中断标志位中断标志位 每一个中断源都有相应的中断标志位;某一个中断源申请中断,相应中断标志位置1。MCS-51MCS-51的中断系统的中断系统中断允许中断允许CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中断源中断源中断标志位中断标志位 EA总中断允许位,总中断允许位,EA=1开放所有中断,开放所有中断,EA=0,禁止所有中断;禁止所有中断;某一个中断源还有相应的中断允许位,某一个中断源还有相应的中断允许位,1允许相应中断源的中断,允许相应中断源的中断,0禁禁止相应中断源的中断。止相应中断源的中断。中断允许中断允许ESET0EX0EX1ET1EA MCS-51MCS-51的中断系统的中断系统中断优先级中断优先级CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TISI中断源中断源中断标志位中断标志位 单片机中有两个中断优先级,即高优先级中断和低优先级中断,前单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者优先权高于后者(在程序中设置,相应位者优先权高于后者(在程序中设置,相应位=1=1,为高优先级);,为高优先级);同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形成,无法改变)。形成,无法改变)。中断允许中断允许ESET0EX0EX1ET1EA自然优先级自然优先级高低优先控制优先控制PSPT0PX0PX1PT1 IE0TCONSCONINT0 IT0=0 IT0=1INT1 IT1=0 IT1=1TF0 IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然优先级自然优先级矢量地址高级中断请求高级中断请求自然优先级自然优先级矢量地址低级中断请求低级中断请求PX0PT0PX1PT1PSIEIP MCS-51 MCS-51的中断系统结构图的中断系统结构图中断标志位中断源允许总允许中断优先级TCON寄存器T0和T1控制寄存器 TF1 TF0 IE1 IT1 IE0 IT0TCONT1溢出中断标志溢出中断标志(TCON.7):T1启动计数后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。76543210 TF1 TF0 IE1 IT1 IE0 IT0TCON 88H外部中断外部中断INT1中断标志中断标志位位(TCON.3):IE11,外部中断1向CPU申请中断 外部中断外部中断INT1触发方触发方式控制位式控制位(TCON.2):IT1=0,电平触发方式 IT1=1,下降沿触发方式76543210TCON寄存器T0和T1控制寄存器注意:该寄存器可以位寻址。TI(SCON.1)串行发送中断标志。RI(SCON.0)串行接收中断标志。TI RISCON寄存器串行口控制寄存器SCON 98H76543210注意:该寄存器可以位寻址。IE寄存器中断允许寄存器 IE A8H EA ESET1EX1 ET0EX0例:允许定时器T0中断:SETB EA SETB ET0 或 MOV IE,#82H76543210注意:该寄存器可以位寻址。51单片机有两个中断优先级单片机有两个中断优先级高级和低级高级和低级 专用寄存器专用寄存器IP为中断优先级寄存器,用户可用软件设定为中断优先级寄存器,用户可用软件设定 相应位为相应位为1,对应的中断源被设置为,对应的中断源被设置为高优先级高优先级,相应位为,相应位为0,对应,对应的中断源被设置为低优先级的中断源被设置为低优先级 系统复位时,均为低优先级系统复位时,均为低优先级 该寄存器可以位寻址该寄存器可以位寻址 PSPT1PX1PT0PX0IP寄存器中断优先级寄存器 IP B8H 76543210中断处理过程 中断处理过程分为三个阶段:中断响应、中断处理和中断返回。v 中断响应v 中断处理(又称中断服务)v 中断返回v 中断请求的撤除中断请求的撤除 中断响应中断返回中断响应(以外部中断0为例)中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。中断响应过程:保护断点地址;中断响应 把程序转向中断服务程序的入口地址(通常称矢量地址)。特别注意:这些工作是硬件自动完成的!断点地址中断服务子程序的入口地址外部中断外部中断0 0入口地址入口地址0003ZD0AJMP ORG 0003HAJMP ZD0ZD0中断响应中断服务子程序入口地址又称为中断矢量或中断向量。中断响应单片机中5个中断源的矢量地址是固定固定的,不能改动。断点地址中断服务子程序的入口地址程序存储器程序存储器ROMROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!程序存储器程序存储器ROMROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH包含T0中断服务子程序的程序结构:ORG 0000HORG 0000HAJMP MAINORG 000BHORG 000BHAJMP INTT0ORG 0100HORG 0100HMAIN:.INTT0:.RETI ENDAJMP MAINAJMP INTT0中断处理中断处理中断服务程序从中断子程序入入口地址口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。中断响应入口地址入口地址RETI中断处理中断处理INTT0:PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中断源服务 POP PSW POP DPL POP DPH POP ACC RETI保护现场恢复现场中断返回 中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。中断返回由专门的中断返回指令RETI来实现。中断响应中断返回中断返回 RETI指令功能:把断点地断点地址取出,送回到程序计数器址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。特别注意:不能用RET指令代替RETI指令!中断响应中断返回中断处理过程示意图中断源发中断请求中断源发中断请求中断响应条件中断响应条件 是否满足?是否满足?中断是否受阻?中断是否受阻?把把PC断点地址压入堆栈断点地址压入堆栈 相应中断源的中断入口地址相应中断源的中断入口地址送入送入PC,转向中断服务程序转向中断服务程序NYYN 由硬件自动完成 关中断关中断保护现场保护现场中断服务中断服务 开中断开中断 关中断关中断恢复现场恢复现场 开中断开中断中断返回中断返回断点地址由堆栈弹入断点地址由堆栈弹入PC保护现场和恢复现场的过程中不允许中断,以免现场遭到破坏。保护和恢复现场之后的开中断是为了允许有更高级中断打断此中断服务程序。中断服务程序硬件自动完成中断请求的撤除中断请求的撤除 CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的中断请求是自动撤除的。边沿激活的外部中断:CPU在响应中断后,也是用硬件自动用硬件自动清除清除有关的中断请求标志IE0或IE1。串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志要靠软件来清除相应的标志。电平触发外部中断撤除方法较复杂。因为在电平触发方式中,CPU响应中断时不会自动清除IE1或IE0标志,所以在响应中断后应立即撤除INT0或INT1引脚上的低电平。在硬件上,CPU对INT0和INT1引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。电平激活的外部中断源中断标志的撤除电平激活的外部中断源中断标志的撤除外部中断源的扩展v单片机仅有两个外部中断输入端.v可用两种方法扩展:1.定时器T0,T1。(工作在计数方式下)2.中断和查询结合。1用定时器作外部中断源 例例5.5 将定时器T0扩展为外部中断源。解解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TF0的初值均设置为FFH,允许T0中断,CPU开放中断,源程序如下:MOVTMOD,#06H MOVTH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEA T0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断 T0脚相当于边沿触发的外部中断源输入线。脚相当于边沿触发的外部中断源输入线。2中断和查询相结合 MCS-511P3.3P1.0P1.1P1.2P1.3EXINT0EXINT1EXINT2EXINT3图:一个外中断扩展成多个外中断的原理图中断服务程序如下:中断服务程序如下:ORG0003H;外部中断0入口 AJMP INT0;转向中断服务程序入口 INT0:PUSH PSW ;保护现场 PUSH ACC JB P1.0,EXT0 ;中断源查询并转相应中断服务程序 JB P1.1,EXT1 JB P1.2,EXT2 JB P1.3,EXT3 EXIT:POP ACC ;恢复现场 POP PSW RETIEXT0:;EXINT0中断服务程序 AJMPEXITEXT1:;EXINT1中断服务程序 AJMPEXITEXT2:;EXINT2中断服务程序AJMPEXITEXT3:;EXINT3中断服务程序 AJMP EXIT 同样,外部中断同样,外部中断1也可作相应的扩展。也可作相应的扩展。例:在例:在P1.0上产生周期为上产生周期为10ms的方波,设晶振频率的方波,设晶振频率12MHz.(要求分别以查询方式和中断方式设计程序)要求分别以查询方式和中断方式设计程序)查查询询方方式式:ORG 0000H MOV TMOD,#10H MOV TH1,#0CEH MOV TL1,#78H SETB TR1WAIT:JBC TF1,NX SJMP WAIT NX:CPL P1.0 MOV TH1,#0CEH MOV TL1,#78H SJMP WAIT END中中断断方方式式:ORG 0000H MOV TMOD,#10H MOV TH1,#0CEH MOV TL1,#78H MOV IE,#88H SETB TR1WAIT:SJMP WAIT ORG 001BH CPL P1.0 MOV TH1,#0CEH MOV TL1,#78H RETI中断系统的应用v实例:LED数码管显示。v使用技术:中断、中断优先级、中断优先权中断嵌套、中断过程。1.中断初始化v中断初始化应在产生中断请求前完成,一般放在主程序中,与主程序其他初始化内容一起完成。v(1)定义中断优先级。将中断优先级控制寄存器IP中相关的控制位置位。v(2)若是外中断,则要定义外中断触发方式,将控制寄存器TCON中相关的控制位置位。v(3)开中断。将控制寄存器中IE中的中断控制位EA和相应的中断允许控制位置位。2.中断服务程序v编写中断服务程序的要求如下:v(1)在相应的中断入口地址处设置一条跳转指令(SJMP、AJMP或LJMP),将中断服务程序转到合适的ROM空间。若中断服务程序小于等于8个字节,可直接放置在中断入口地址处。v(2)根据需要保护现场。为减轻堆栈负担,保护现场的数据存储单元数量力求少。v(3)CPU响应中断后不能自动清除中断请求标志位时,应考虑的清除中断请求标志位的其他操作。v(4)恢复现场。v(5)最后一条指令必须是中断返回指令RETI.外部中断实验图图5-5 5-5 外部中断实验电路原理图外部中断实验电路原理图Key30p30p8.2k22u+512M100+5EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD1089C51S0INT0 显示123456789VCC300abfcgde8LED1234567abcdefgdp 8comcom300abfcgde8LED1234567abcdefgdp 8comcom+5V主程序显示D0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7电阻排图图5-6 主程序流程图主程序流程图 图图5-7 中断服务程序流程图中断服务程序流程图开始关显示STAR:中断允许设置调用延时DELAY中断触发方式设置灭;循环ST1:(P0)(A)改变(A)(R2)-10?外中断0ACC入栈保护计数器赋初值(R2)=8LOOP:P2口显示“8.”关显示,调延时中 断 返 回YESNOvORG 0000HvSJMP STARvORG 03H;INT0中断入口地址vSJMPINT0S;转INT0中断服务vORG30HSTAR:MOV IE,#10000001B;INT0开中vMOVTCON,#O1H;INT0边沿触发方式vMOVA,#0FEH;P0口输出初值ST1:MOVP0,AvACALL DELAY;延时vRLA;改变输出数据vSJMPST1;主程序循环INT0S:PUSHACC;保护现场vMOVR2,#8 ;INT0中断服务,R2计数器赋初值LOOP:CLRAvMOVP2,A ;数码管亮vACALL DELAY;延时vMOVA,#0FFHvMOVP2,A;数码管各段全暗vACALL DELAY;延时vDJNZR2,LOOP;循环8次vPOP ACC;恢复现场,AvRETIDELAY:;延时子程序,500msv外中断v中断优先级v中断优先权5.2 MCS-51定时器定时器/计数器计数器v1.定时方法 v(1)软件定时v即让机器执行一个程序段。软件定时占用CPU,降低了CPU的利用率 v(2)不可编程的硬件定时v可以采用如小规模集成电路器件555,外接定时部件(电阻和电容)构成。通过改变电阻和电容,可以使定时在一定的范围内改变。v(3)可编程定时器v可编程的定时器。v它的定时值及其范围,可以很容易地由软件来确定和改变,能够满足各种不同的定时要求。实质是计数器,脉冲每一次下降沿,计数寄存器数值将加1。计数的脉冲如果来源于单片机内部的晶振,由于其周期极为准确,这时称为定时器。计数的脉冲如果来源于单片机外部的引脚,由于其周期一般不准确,这时称为计数器。8031 有2个可独立控制的16位定时器/计数器:T0、T1。+1计数器溢出中断脉冲控制开关MCS-51 MCS-51 计数计数/定时器的原理定时器的原理定时器控制、状态寄存器1)TMOD定时器方式寄存器(89H)1)功能选择位C/T:=0,定时功能,计数内部机器周期脉冲;=1,计数功能,计数引脚T0(T1)输入的负脉冲。2)方式选择位M1、M0:3)门控方式选择位GATE 计数器启动方式的选择 确定定时器工作方式指令:MOV TMOD,#方式字 例:设T0用方式2非门控定时,T1用方式1门控计数。MOV TMOD,#0D2H ;1101 0010 B GATEC/TM1M0GATEC/TM1M0T1T0M1 M0方方式式功功能能描描述述0 0013 位位0 1116 位位1 028 位位自自动动重重装装1 13T0 为为两两个个 8 位位 定时器工作方式定时器工作方式 由方式选择位M1、M0设定一、方式0 13位定时/计数器。THx 8位和TLx低5位组成13位加1 计数器,此种方式与MCS48系列兼容,如果不是为了兼容的目的,一般不用方式0.方式0的全部功能,方式1都可以代替。二、二、方式方式1 1 16位定时/计数器。THx8位和TLx8位组成16位加1计数器最大计数脉冲个数:165536(216),最长定时时间(晶振12MHz T=1s):1s 65536T=65.54ms非门控方式:当非门控方式:当GATE0,控制权由控制权由 TRx 决定决定 TRx1 计数开始计数开始 TRx 0 计数停止计数停止门控方式:当门控方式:当GATE1、TRx1 控制权由控制权由 INTx 决定决定 INTx1 计数开始计数开始 INTx 0 计数停止计数停止启动计数方式:启动计数方式:三、三、方式方式2 2 用于需要重复定时和计数的场合。最大计数值:256(28)最大定时时间(晶振12MHz时 T=1s):256s 自动恢复初值8位定时/计数器。TLx为8位加1计数器,THx为8位初值暂存器。四、四、方式方式3 3 T0分成2个8位定时器:TL0定时/计数器和TH0定时器 TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制位:TR1。T1不能使用方式3工作 计算时间常数计算时间常数X(X(计算初值计算初值)计数功能:X=2n-计数值 n:8/13/16 定时功能:X=2n-t/T t:定时时间(s)T:机器周期12/晶振频率 如:晶振为12MHz时,T12/12 MHz12(1210-6)(秒)110-61us一、一、MCS-51MCS-51定时器的应用定时器的应用 定时器初始化编程:使用定时器工作之前,先写入控 制寄存器,确定好定时器工作方式。初始化编程格式:MOV TMOD,#方式字 ;选择方式MOV THx,#XH ;装入Tx时间常数MOV TLx,#XLSETB EA ;开Tx中断SETB ETxSETB TRx ;启动Tx定时器。例:由P1.0输出方波信号,周期为2ms,设fosc=12MHz。2ms解:每隔1ms改变一次P1.0的输出状态,即形成方波,用T0非门控方式1定时。计算时间常数:X=216-t/T=216(/1000)/10-6=65536-1000=64536=FC18H ORG0000HAJMPMAINORG000BH ;T0中断硬件入口地址AJMPPT0INT ;跳到中断服务程序ORG0030H MAIN: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秒。ORG 0000H AJMP MAIN ORG 001BH AJMP PT1INT ORG 0030HSTART:MOV R7,#00H MOV TMOD,#10H MOV TL1,#0F0H MOV TH1,#0D8H SETB EA SETB ET1 SETB TR1HERE:SJMP HEREPT1INT:MOV TL1,#0F0H MOV TH1,#0D8H INC R7 CJNE R7,#10,PEND MOV R7,#00H CPL P1.7PEND:RETI例 定时器外部引脚T0(T1)用作外部中断信号输入端。外部负脉冲引起中断请求,选计数方式,时间常数为FFH。例:门控方式测量正脉冲宽度 解:INT1引脚输入被检测信号,记录在正脉冲的时间内包含机器脉冲个数。设脉宽小于65.5ms 等待查询INT0,正脉冲过后,读出TH1TL1。START:MOV TMOD,#90H MOV TL1,#00H MOV TH1,#00HWAIT1:JBP3.3,WAIT1 SETB TR1WAIT2 :JNBP3.3,WAIT2 WAIT3:JBP3.3,WAIT3CLRTR1MOV R2,TL1MOV R3,TH1TR1=1 T1启动 TR1=0 T1停止INT1v解 计数初值计算:200us的初值为9CH,400us的初值为38H,即TH0=38H,TL0=9CH;v程序如下:vORG 00Hv AJMP MAINv 0RG 000BHv MOV TL0,#9CH ;以下中断服务程序共6字节v CPL P1.0v RETIv 0RG 001BHv MOV TH0,#38Hv CPL P1.1v RETIvMAIN:MOV TMOD,#3 ;T0方式3v MOV TI0,#9CHv MOV THO,#38Hv MOV IE,#8AH ;允许两个定时器中断v SETB TR0v SETB TR1v SJMP$例 应用定时器T0的方式3分别产生200us和400us的定时,并使P1.0。和P1.1分别输出周期为400us和800us的连续方波,设。1 1实训目的实训目的(1)利用单片机的定时与中断方式,实现对信号灯的复杂控制。(2)通过定时器程序调试,学会定时器方式1的使用。(3)通过中断程序调试,熟悉中断的基本概念。实训实训 信号灯的控制信号灯的控制2 2实训设备与器件实训设备与器件 (1)实训设备:单片机开发系统、微机。(2)实训器件:实训电路板。3 3实训程序实训程序1)定时器查询方式)定时器查询方式ORG0000HCONT:MOVR2,#07HMOVA,#0FEHNEXT:MOVP1,AACALLDELAYRLADJNZR2,NEXTMOV R2,#07HNEXT1:MOVP1,ARRAACALLDELAYDJNZR2,NEXT1SJMPCONTDELAY:MOV R3,#14H;置;置50ms计数循环初值计数循环初值MOVTMOD,#10H;设定时器;设定时器1为方式为方式1MOVTH1,#3CH;置定时器初值;置定时器初值MOVTL1,#0B0HSETBTR1;启动;启动T1LP1:JBCTF1,LP2 ;查询计数溢出;查询计数溢出SJMPLP1;未到;未到50ms继续计数继续计数LP2:MOVTH1,#3CH ;重新置定时器初值;重新置定时器初值MOVTL1,#0B0HDJNZR3,LP1 ;未到;未到1s继续循环继续循环RET;返回主程序;返回主程序ENDTF1=12)定时器中断方式)定时器中断方式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,#07HNEXT1:MOV P1,AJNB08H,$CLR08HRRADJNZR2,NEXT1SJMPDISPCONT:MOV TH1,#3CH;重置;重置50ms定时初值定时初值MOVTL1,#0B0HDJNZR3,EXIT;判;判1s定时到否定时到否MOVR3,#14H;重置;重置50ms循环初值循环初值SETB08H;标志位置;标志位置1EXIT:RETIEND 4.4.实训分析与总结实训分析与总结 (1)步骤1)和实训4相比,硬件电路一致,效果一样,但二者软件的编制方法不同。后者采用软件定时,对循环体内指令机器周期数进行计数;前者采用定时器定时,用加法计数器直接对机器周期进行计数。二者工作机理不同,置初值方式也不同,相比之下定时器定时无论是方便程度还是精确程度都高于软件定时。(2)步骤1)和步骤2)相比,硬件电路一致,效果一样,都采用定时器定时,但二者实现方法不同。前者采用查询工作方式,在1s定时程序期间一直占用CPU;后者采用中断工作方式,在1s定时程序期间CPU可处理其它指令,从而充分发挥定时器/计数器的功能,大大提高CPU的效率。实训实训6:定时:定时/计数器与中断综合应用举例计数器与中断综合应用举例 v应用定时器计数器及其中断实现60s倒计时,并将倒计时过程显示在LED数码管上,倒计时循环进行。图5-22 60s倒计时主流程图 图5-23 60s倒计时定时中断服务流程图 60s倒计时仿真实例演示基于 AT89C51的按键发声装置的设计与仿真v此装置原理图如图5-25 所示,按S1、S2、S3这3键可发出“DO”、“RE”、“MI”3种声音,它是实际单片机音乐装置的设计基础。v1问题分析v 发声原理。发声是一种机械振动,若能在单片机某引脚上输出声频交变的方波电信号,经陶瓷发声片将电信号转换成声振动,即可发声。v 由定时器产生声波的计算。c调音乐下“DO”、“RE”、“MI”的频率分别为523Hz、578Hz、659Hz。利用定时器产生相应频率的方波,即可发出这3种声音。v基于 AT89C51的按键发声装置的设计与仿真演示课堂练习v试分析以下中断源得到服务程序的先后顺序的可行性。若能,应如何设置中断源的中断优先级?若不行,请讲出理由。v(1)T0、T1、/INT0、/INT1、串行口v(2)串行口、/INT0、T0、/INT1、T1v(3)/INT0、T1、/INT1、T0、串行口v(4)/INT0、/INT1、串行口、T1、T0v(5)串行口、T1、/INT1、/INT0、T0v(6)T0、/INT1、T1、/INT0、串行口v(7)/INT0、串行口、T0、T1、/INT1
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!