定时与中断系统 单片机教程

上传人:飞*** 文档编号:2889420 上传时间:2017-07-28 格式:PPT 页数:128 大小:734.50KB
返回 下载 相关 举报
定时与中断系统  单片机教程_第1页
第1页 / 共128页
定时与中断系统  单片机教程_第2页
第2页 / 共128页
定时与中断系统  单片机教程_第3页
第3页 / 共128页
定时与中断系统  单片机教程_第4页
第4页 / 共128页
定时与中断系统  单片机教程_第5页
第5页 / 共128页
点击查看更多>>
资源描述

《定时与中断系统 单片机教程》由会员分享,可在线阅读,更多相关《定时与中断系统 单片机教程(128页珍藏版)》请在金锄头文库上搜索。

1、第5章 定时与中断系统 实训5 信号灯的控制 5.1 定时/计数器 5.2 中断系统,返回主目录,第5章 定时和中断系统,实训5 信号灯的控制3 1实训目的 (1) 利用单片机的定时与中断方式,实现对信号灯的复杂控制。 (2) 通过定时器程序调试,学会定时器方式1的使用。 (3) 通过中断程序调试,熟悉中断的基本概念。 2实训设备与器件 (1) 实训设备:单片机开发系统、微机。 (2) 实训器件:实训电路板1套。,3. 实训步骤与要求 1) 定时器查询方式 (1) 要求:信号灯循环显示,时间间隔为1 s。 (2) 方法:用定时器方式1编制1 s的延时程序,实现信号灯的控制。 系统采用12 MH

2、z晶振,采用定时器1,方式1定时50ms,用R3做50 ms计数单元,其源程序可设计如下:,ORG 0000H CONT: MOVR2,#07H MOVA,#0FEH NEXT: MOVP1,A ACALLDELAY RLA DJNZR2,NEXT MOV R2,#07H NEXT1: MOVP1,A,RRA ACALLDELAY DJNZR2,NEXT1 SJMPCONTDELAY:MOV R3,#14H;置50 ms计数循环初值 MOV TMOD,#10H ;设定时器1为方式1 MOV TH1,#3CH;置定时器初值 MOVTL1,#0B0H SETBTR1 ;启动定时器1,LP1:JBC

3、TF1,LP2 ;查询计数溢出 SJMPLP1;未到50 ms继续计数 LP2:MOVTH1,#3CH ;重新置定时器初值MOVTL1,#0B0HDJNZR3,LP1;未到1 s继续循环 RET ;返回主程序 END,2) 定时器中断方式 (1) 要求:信号灯循环显示,时间间隔为1 s。 (2) 方法:用定时器中断方式编制1 s的延时程序,实现信号灯的控制。 采用定时器1中断定时50 ms,用R3做50 ms计数单元,在此基础上再用08H位作1 s计数溢出标志,主程序从0100H开始,中断服务程序名为CONT。可设计源程序如下:,ORG0000H;程序入口 AJMP0100H;指向主程序 OR

4、G001BH;定时器定时器1中断入口 AJMPCONT;指向中断服务程序 ORG0100H MAIN:MOV TMOD,#10H ;置定时器1为工作方式1 MOV TH1,#3CH;置50 ms定时初值 MOVTL1,#0B0H,SET BEA ;CPU开中断 SETB ET1 ;定时器定时器1开中断 SETB TR1 ;启动定时器1 CLR 08H ;清1s计满标志位 MOV R3,#14H ;置50 ms循环初值DISP:MOV R2,07H MOV A,#0FEHNEXT :MOV P1,A JNB08H,$;查询1 s时间到否 CLR 08H;清标志位,RL ADJNZR2,NEXTM

5、OVR2,#07HNEXT1:MOVP1,AJNB08H,$CLR08HRRADJNZR2,NEXT1SJMPDISP,CONT:MOVTH1,#3CH;重置50 ms定时初值MOVTL1,#0B0HDJNZR3,EXIT;判1 s定时到否MOVR3,#14H;重置50 ms循环初值SETB08H;标志位置1 EXIT:RETIEND,4 实训总结与分析 (1) 步骤1)和实训4相比,硬件电路一致,效果一样,但二者软件的编制方法不同。后者采用软件定时,对循环体内指令机器周期数进行计数;前者采用定时器定时,用加法计数器直接对机器周期进行计数。二者工作机理不同,置初值方式也不同,相比之下定时器定时

6、无论是方便程度还是精确程度都高于软件定时。 (2) 步骤1)和步骤2)相比,硬件电路一致,效果一样,都采用定时器定时,但二者实现方法不同。前者采用查询工作方式,在1 s定时程序期间一直占用CPU;后者采用中断工作方式,在1 s定时程序期间CPU可处理其它指令,从而充分发挥定时器/计数器的功能,大大提高CPU的效率。,5.1 定时/计数器,5.1.1 单片机定时/计数器的结构 1定时/计数器组成框图 8051单片机内部有两个16位的可编程定时/计数器,称为定时器0(T0)和定时器1(T1),可编程选择其作为定时器用或作为计数器用。此外,工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定

7、,其逻辑结构如图5.1所示。,图5.1 8051定时器/计数器逻辑结构图,由图可知,8051定时/计数器由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。 定时器0,定时器1是16位加法计数器,分别由两个8位专用寄存器组成:定时器0由TH0和TL0组成,定时器1由TH1和TL1组成。TL0、TL1、TH0、TH1的访问地址依次为8AH8DH,每个寄存器均可单独访问。定时器0或定时器1用作计数器时,对芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定时器时,对内部机器周期脉冲计数,由于机器周期是定值,故计数值确定时,时

8、间也随之确定。,TMOD、TCON与定时器0、定时器1间通过内部总线及逻辑电路连接,TMOD用于设置定时器的工作方式,TCON用于控制定时器的启动与停止。 2定时/计数器工作原理 当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。定时器的定时时间与系统的振荡频率紧密相关,因MCS-51单片机的一个机器周期由12个振荡脉冲组成,所以,计数频率。如果单片机系统采用12 MHz晶振,则计数周期为:,这是最短的定时周期,适当选择定时器的初值可获取各种定时时间。,当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.

9、5)的外部信号计数,外部脉冲的下降沿将触发计数。在每个机器周期的S5P2期间采样引脚输入电平,若前一个机器周期采样值为1,后一个机器周期采样值为0,则计数器加1。新的计数值是在检测到输入引脚电平发生1到0的负跳变后,于下一个机器周期的S3P1期间装入计数器中的,可见,检测一个由1到0的负跳变需要两个机器周期,所以,最高检测频率为振荡频率的1/24。计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。,当设置了定时器的工作方式并启动定时器工作后,定时器就按被设定的工作方式独立工作,不再占用CPU的操作时间,只有在计数器计满溢出时才可能中断C

10、PU当前的操作。关于定时器的中断将在下一节讨论。 3定时/计数器的方式寄存器和控制寄存器 由实训5步骤1)可知,在启动定时/计数器工作之前,CPU必须将一些命令(称为控制字)写入定时/计数器中,这个过程称为定时/计数器的初始化。定时/计数器的初始化通过定时/计数器的方式寄存器TMOD和控制寄存器TCON完成。,1) 定时/计数器方式寄存器TMOD TMOD为定时器0、定时器1的工作方式寄存器,其格式如下: TMOD D7 D6 D5 D4 D3 D2 D1 D0,GATE,M0,定时器1,定时器0,TMOD的低4位为定时器0的方式字段,高4位为定时器1的方式字段,它们的含义完全相同。,(1)

11、M1和M0:方式选择位。定义如下:,(2) :功能选择位。时,设置为定时器工作方式;时,设置为计数器工作方式。 (3) GATE:门控位。当GATE=0时,软件控制位TR0或TR1置1即可启动定时器;当GATE=1时,软件控制位TR0或TR1须置1,同时还须(P3.2)或(P3.3)为高电平方可启动定时器,即允许外中断、启动定时器。 TMOD不能位寻址,只能用字节指令设置高4位定义定时器1,低4位定义定时器0定时器工作方式。复位时,TMOD所有位均置0。,实训5步骤1)中设置定时器1工作于方式1,定时工作方式与外部中断无关,则M1=0,M0=1,GATE=0,因此,高4位应为0001;定时器0

12、未用,低4位可随意置数,但低两位不可为11(因方式3时,定时器1停止计数),一般将其设为0000。因此,指令形式为:MOV TMOD,#10H。 2) 定时器/计数器控制寄存器TCON TCON的作用是控制定时器的启动、停止,标志定时器的溢出和中断情况。定时器控制字TCON的格式如下:,TCON(88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H,TR0,各位含义如下: (1) TCON.7 TF1:定时器1溢出标志位。当定时器1计满数产生溢出时,由硬件自动置TF1=1。在中断允许时,向CPU发出定时器1的中断请求,进入中断服务程序后,由硬件自动清0。在中断屏蔽时,TF1

13、可作查询测试用,此时只能由软件清0。,(2) TCON.6 TR1:定时器1运行控制位。由软件置1或清0来启动或关闭定时器1。当GATE=1,且为高电平时,TR1置1启动定时器1;当GATE=0时,TR1置1即可启动定时器1。 (3) TCON.5 TF0:定时器0溢出标志位。其功能及操作情况同TF1。 (4) TCON.4 TR0:定时器0运行控制位。其功能及操作情况同TR1。 (5) TCON.3 IE1:外部中断1( )请求标志位。 (6)TCON.2 IT1:外部中断1触发方式选择位。 (7)TCON.1 IE0:外部中断0 ( )请求标志位。 (8) TCON.0 IT0:外部中断0触发方式选择位。,TCON中的低4位用于控制外部中断,与定时/计数器无关,将在下一节中介绍。当系统复位时,TCON的所有位均清0。 TCON的字节地址为88H,可以位寻址,清溢出标志位或启动定时器都可以用位操作指令。如实训5步骤1)中的:SETB TR1、JBC TF1,L。 3) 定时/计数器的初始化 由于定时/计数器的功能是由软件编程确定的,所以,一般在使用定时器/计数前都要对其进行初始化。初始化骤如下:,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号