1 / 29

第 5 章 定时 / 计数器与中断系统

第 5 章 定时 / 计数器与中断系统. 5.1 定时/计数器结构特点及控制 5.2 中断系统结构及管理 5.3 定时/计数器及中断系统综合应. 5.1 定时/计数器结构特点及控制. 5.1.1 定时/计数器结构 5.1.2 定时/计数器工作方式 5.1.3 定时/计数器控制寄存器 5.1.4 定时/计数器常数的计算. 返回本章首页. 5.1.1 定时/计数器结构.

Télécharger la présentation

第 5 章 定时 / 计数器与中断系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第5章定时/计数器与中断系统 • 5.1 定时/计数器结构特点及控制 • 5.2 中断系统结构及管理 • 5.3 定时/计数器及中断系统综合应

  2. 5.1 定时/计数器结构特点及控制 • 5.1.1 定时/计数器结构 • 5.1.2 定时/计数器工作方式 • 5.1.3 定时/计数器控制寄存器 • 5.1.4 定时/计数器常数的计算 返回本章首页

  3. 5.1.1 定时/计数器结构 • 定时/计数器简称定时器,8031单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。 • T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。 返回本节

  4. 5.1.2 定时/计数器工作方式 • 每个定时/计数器还有4种工作模式,也就是每个定时器可构成4种电路结构模式。 • 在模式0、1和2,T0和T1的工作模式相同,在模式3,两个定时器的模式不同。下面以T1为例,分述各种工作模式的特点和用法。

  5. 1.模式0 图5-1 定时/计数器T1(T0)工作模式0

  6. 2.模式1 图5-2 定时/计数器T1(T0)工作模式1

  7. 3.模式2 图5-3 定时/计数器T1(T0)工作模式2

  8. 4.模式3 图5-4 定时/计数器T1(T0)工作模式3 返回本节

  9. 5.1.3 定时/计数器控制寄存器 • 定时器共有2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON 两个8位寄存器,设置各个定时器的操作模式和控制功能。

  10. 1.工作模式控制寄存器—TMOD(89H) 图5-5 定时器工作模式寄存器TMOD

  11. 2.定时器控制寄存器—TCON(88H) 图5-6 定时器工作模式寄存器TCON 返回本节

  12. 5.1.4 定时/计数器常数的计算 • 1.计数器初值的计算 • 把计数器计满为零所需要的计数值设定为C,计数初值设定为TC,由此可得到公式: TC=M-C • 式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213;在方式1时M为216;在方式2和方式3时M为28。

  13. 2.定时器初值的计算 • 在定时器模式下,计数器由单片机主脉冲经12分频后计数。因此,定时器定时时间T的公式: T=(M-TC)T计数 上式也可写成:TC=M-T/ T计数 • 式中,M为模值,和定时器的工作方式有关;T计数是单片机振荡周期TCLK的12倍;TC为定时器的定时初值。 返回本节

  14. 5.2 中断系统结构及管理 • 5.2.1 中断请求与控制 • 5.2.2 中断系统的结构 • 5.2.3 中断控制 • 5.2.4 中断响应过程 返回本章首页

  15. 5.2.1 中断请求与控制 图5-7 中断流程 返回本节

  16. 5.2.2 中断系统的结构 • 1.外部中断源 由P3.2端口线引入,低电平或下降沿引起。 由P3.3端口线引入,低电平或下降沿引起。 • 2.内部中断源(如图5-8所示) T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 TI/RI:串行I/O中断,完成一帧字符发送/接收引起。

  17. 图5-8 中断系统的结构框图 返回本节

  18. 5.2.3 中断控制 • 1.中断允许寄存器IE(A8H) • IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8H~AFH。IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。其格式如图5-9所示。 • 2.中断优先寄存器IP(B8H) • IP在特殊功能寄存器中,字节地址为B8H,位地址分别是B8H~BFH,IP用来锁存各中断源优先级的控制位,其格式如图5-10所示。

  19. 图5-9 中断允许寄存器IE

  20. 图5-10 中断优先寄存器IP 返回本节

  21. 5.2.4 中断响应过程 • 单片机在每个机器周期的S5P2期间,顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在再下一个机器周期S1期间按优先级进行中断处理。 • 中断得到响应后自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。

  22. 下列任何一种情况存在中断申请将被封锁: • (1)CPU正在执行一个同级或高一级的中断服务程序。 • (2)当前正在执行的那条指令还未执行完。 • (3)当前正在执行的指令是RETI或对IE,IP寄存器进行读/写指令,执行这些指令后至少再执行一条指令才会响应中断。 返回本节

  23. 5.3 定时/计数器及中断系统综合应用 【例5.2】设MCS-51单片机系统时钟频率ФCLK为6MHZ,请编出利用定时/计数器T0在P1.0引脚上产生周期为2秒,占空比为50%的方波信号的程序 (1)主程序 任务:1)T0工作方式的设定: 选择方式1(16位方式) (最大定时131ms) 2)定时常数的设定: TC=216-100ms/2μs =15536=3CB0H 返回本章首页

  24. 即:TH0应装3CH,TL0应装B0H。 3)中断管理: 允许T0中断,开放总中断 即:IE应装10000010B。 4)启动定时器T0: SETB TR0 5)设置软件计数器初值:(如使用R7) 即R7应装0AH 6)动态停机:SJMP $

  25. 主程序如下: 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 $

  26. (2)中断服务程序 任务:1)恢复T0常数; 2)软件计数器减1; 3)判断软件计数器是否为0。为0时,改变P1.0状态,并恢复软件计数器初值;不为0时中断返回。 程序如下: TOINT: MOV TL0,#0B0H ;恢复定时常数 MOV TH0,#3CH ; DJNZ R7,NEXT CPL P1.0 MOV R7,#0AH NEXT: RETI

  27. 完整程序如下: 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

  28. SJMP $ TOINT: MOV TL0,#0B0H MOV TH0,#3CH DJNZ R7,NEXT CPL P1.0 MOV R7,#0AH NEXT: RETI END 返回本节

  29. 定时/计数、中断到此结束 • 谢谢光临!

More Related