《第5章定时计数器与中断系统.ppt》由会员分享,可在线阅读,更多相关《第5章定时计数器与中断系统.ppt(29页珍藏版)》请在三一文库上搜索。
1、第5章 定时/计数器与中断系统,5.1 定时/计数器结构特点及控制 5.2 中断系统结构及管理 5.3 定时/计数器及中断系统综合应,5.1 定时/计数器结构特点及控制,5.1.1 定时/计数器结构 5.1.2 定时/计数器工作方式 5.1.3 定时/计数器控制寄存器 5.1.4 定时/计数器常数的计算,返回本章首页,5.1.1 定时/计数器结构,定时/计数器简称定时器,8031单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。 T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL
2、1构成。作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。,返回本节,5.1.2 定时/计数器工作方式,每个定时/计数器还有4种工作模式,也就是每个定时器可构成4种电路结构模式。 在模式0、1和2,T0和T1的工作模式相同,在模式3,两个定时器的模式不同。下面以T1为例,分述各种工作模式的特点和用法。,1模式0,图5-1 定时/计数器T1(T0)工作模式0,2模式1,图5-2 定时/计数器T1(T0)工作模式1,3模式2,图5-3 定时/计数器T1(T0)工作模式2,4模式3,图
3、5-4 定时/计数器T1(T0)工作模式3,返回本节,5.1.3 定时/计数器控制寄存器,定时器共有2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON 两个8位寄存器,设置各个定时器的操作模式和控制功能。,1工作模式控制寄存器TMOD(89H),图5-5 定时器工作模式寄存器TMOD,2定时器控制寄存器TCON(88H),图5-6 定时器工作模式寄存器TCON,返回本节,5.1.4 定时/计数器常数的计算,1计数器初值的计算 把计数器计满为零所需要的计数值设定为C,计数初值设定为TC,由此可得到公式: TC=M-C 式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为21
4、3;在方式1时M为216;在方式2和方式3时M为28。,2定时器初值的计算 在定时器模式下,计数器由单片机主脉冲经12分频后计数。因此,定时器定时时间T的公式: T=(M-TC)T计数 上式也可写成:TC=M-T/ T计数 式中,M为模值,和定时器的工作方式有关;T计数是单片机振荡周期TCLK的12倍;TC为定时器的定时初值。,返回本节,5.2 中断系统结构及管理,5.2.1 中断请求与控制 5.2.2 中断系统的结构 5.2.3 中断控制 5.2.4 中断响应过程,返回本章首页,5.2.1 中断请求与控制,图5-7 中断流程,返回本节,5.2.2 中断系统的结构,1外部中断源 由P3.2端口
5、线引入,低电平或下降沿引起。 由P3.3端口线引入,低电平或下降沿引起。 2内部中断源(如图5-8所示) T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 TI/RI:串行I/O中断,完成一帧字符发送/接收引起。,图5-8 中断系统的结构框图,返回本节,5.2.3 中断控制,1中断允许寄存器IE(A8H) IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8HAFH。IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。其格式如图5-9所示。 2中断优先寄存器IP(B8H) IP在特殊功能寄存器中,字节地址为B8H,位地址分别是B8H
6、BFH,IP用来锁存各中断源优先级的控制位,其格式如图5-10所示。,图5-9 中断允许寄存器IE,图5-10 中断优先寄存器IP,返回本节,5.2.4 中断响应过程,单片机在每个机器周期的S5P2期间,顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在再下一个机器周期S1期间按优先级进行中断处理。 中断得到响应后自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。,下列任何一种情况存在中断申请将被封锁:,(1)CPU正在执行一个同级或高一
7、级的中断服务程序。 (2)当前正在执行的那条指令还未执行完。 (3)当前正在执行的指令是RETI或对IE,IP寄存器进行读/写指令,执行这些指令后至少再执行一条指令才会响应中断。,返回本节,5.3 定时/计数器及中断系统综合应用,【例5.2】设MCS-51单片机系统时钟频率CLK为6MHZ,请编出利用定时/计数器T0在P1.0引脚上产生周期为2秒,占空比为50%的方波信号的程序 (1)主程序 任务:1)T0工作方式的设定: 选择方式1(16位方式) (最大定时131ms) 2)定时常数的设定: TC=216-100ms/2s =15536=3CB0H,返回本章首页,即:TH0应装3CH,TL0
8、应装B0H。 3)中断管理: 允许T0中断,开放总中断 即:IE应装10000010B。 4)启动定时器T0: SETB TR0 5)设置软件计数器初值:(如使用R7) 即R7应装0AH 6)动态停机:SJMP $,主程序如下: MAIN: MOV TMOD,#01H ;设定T0为方式1 MOV TH0,#3CH ;装入定时常数高8位 MOV TL0,#0B0H ;装入定时常数低8位 MOV IE,#82H ;开放T0中断 SETB TR0 ;启动T0 MOV R7,#0AH ;设置软件计数器 SJMP $,(2)中断服务程序 任务:1)恢复T0常数; 2)软件计数器减1; 3)判断软件计数器
9、是否为0。为0时,改变P1.0状态,并恢复软件计数器初值;不为0时中断返回。 程序如下: TOINT: MOV TL0,#0B0H ;恢复定时常数 MOV TH0,#3CH ;DJNZ R7,NEXT CPL P1.0 MOV R7,#0AH NEXT: RETI,完整程序如下: ORG 0000H AJMP MAIN ORG 000BH AJMP TOINT ORG 0030H MAIN: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H SETB TR0 MOV R7,#0AH,SJMP $ TOINT: MOV TL0,#0B0H MOV TH0,#3CH DJNZ R7,NEXT CPL P1.0 MOV R7,#0AH NEXT: RETI END,返回本节,THANK YOU VERY MUCH !,本章到此结束, 谢谢您的光临!,结束放映,返回本章首页,
链接地址:https://www.31doc.com/p-2550805.html