最新单片机第6章ppt课件.ppt

最新单片机第6章ppt课件.ppt

ID:62265112

大小:1.59 MB

页数:157页

时间:2021-04-24

最新单片机第6章ppt课件.ppt_第1页
最新单片机第6章ppt课件.ppt_第2页
最新单片机第6章ppt课件.ppt_第3页
最新单片机第6章ppt课件.ppt_第4页
最新单片机第6章ppt课件.ppt_第5页
资源描述:

《最新单片机第6章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机第6章图6-18051单片机定时器/计数器结构示意图6.1.1定时器/计数器的工作原理与控制寄存器   1.定时器/计数器的工作原理MCS-51单片机内部有两个16位可编程的定时器/计数器,既可用作定时器方式,又可用作计数器方式。定时器/计数器有四种工作模式,其工作方式的选择及控制都由两个特殊功能寄存器(TMOD和TCON)的内容来决定。   当特殊功能寄存器TMOD决定定时器/计数器工作于定时状态时,此时输入的时钟脉冲是由晶体振荡器的输出经12分频后得到的,所以定时器也可看做是对计算机机器周期的计数器(因为每个机器周期包含12个振

2、荡周期,故每一个机器周期定时器加1,可以把输入的时钟脉冲看成机器周期信号),故其定时计数频率为晶振频率的1/12。如果晶振频率为12 MHz,则定时器每接收一个输入脉冲的时间为1 μs,即在此脉冲频率下,定时器计数初值加1。寄存器中每位的定义如下(高4位用于定时器1,低4位用于定时器0):   ① M1,M0:定时器/计数器四种工作模式选择如表6-1所示。2)定时器控制寄存器TCON   特殊功能寄存器TCON用于控制定时器的操作及对定时器中断的控制,字节地址为88H,位地址是88H~8FH(TCON.0~TCON.7)。TCON寄存器中

3、与定时、计数有关的位如下所示:图6-3定时器/计数器0工作模式0(13位计数器)2.模式1模式1和模式0的工作相同,唯一的差别是TH0和TL0组成一个16位计数器。工作结构图可以参考图6-3。3.模式2模式2把TL0配置成一个可以自动恢复初值(初始常数自动重新装入)的8位计数器,TH0作为常数缓冲器,TH0由软件预置值。当TL0产生溢出时,一方面使溢出标志TF0置1,同时又把TH0中的8位数据重新装入TL0中。   模式2常用于定时控制,作为串行口波特率发生器。图6-4给出了定时器/计数器T0在模式2时的工作结构图(T1与此相同,略)。图

4、6-4定时器/计数器0工作模式2 (8位自动装载模式)图6-5给出了定时器/计数器T0在模式3时的工作结构图。   通常,当T1用作串行口波特率发生器时,T0才定义为模式3,以增加一个8位计数器。图6-5定时器/计数器0工作模式3 (两个8位定时器/计数器)6.2定时器/计数器的初始化1.初始化步骤MCS-51内部定时器/计数器是可编程的,其工作方式和工作过程均可由MCS-51通过程序对它进行设定和控制。因此,MCS-51在定时器/计数器工作前必须先对它进行初始化。初始化步骤为:(1)根据题目要求先给定时器方式寄存器TMOD送一个方式控制

5、字,以设定定时器/计数器的相应工作方式。(2)根据实际需要给定时器/计数器选送定时器初值或计数器初值,以确定需要定时的时间和需要计数的初值。(3)根据需要给中断允许寄存器IE选送中断控制字和给中断优先级寄存器IP选送中断优先级字,以开放相应中断和设定中断优先级。   (4)给定时器控制寄存器TCON送命令字,以启动或禁止定时器/计数器的运行。2.计数器初值的计算定时器/计数器可用软件随时随地启动和关闭,启动时它就自动加1计数,一直计到满,即全为1,若不停止,计数值从全1变为全0,同时将计数溢出位置1并向CPU发出定时器溢出中断申请。对于各

6、种不同的工作模式,最大的定时时间和计数数值不同。这里在使用中就会出现两个问题:   一是要产生比定时器最长的定时时间还要短的时间和计数器最多的计数次数还要少的计数次数;   二是要产生比定时器最长的定时时间还要长的时间和计数器最多的计数次数还要多的计数次数。解决第一个问题只要给定时器/计数器一个非零初值,开定时器/计数器时,定时器/计数器不从0开始,而是从初值开始,这样在定时方式时就可得到比定时器/计数器最长的定时时间还要短的时间和比定时器/计数器最多的计数次数还要少的计数次数。解决第二个问题就要用到循环程序了,循环几次就相当于乘几。例如

7、,要产生1 s的定时,可先用定时器产生50 ms的定时,再循环20次(因为1 s = 1000 ms),也可用其他的组合。有时也可采用中断来实现。由上可见,解决问题的基本出路在于初值的计算,下面就来具体讨论计数器的初值计算和最大值的计算。根据13位定时器/计数器特性,先把低5位0CH送TL0,TL0的高三位置零,高8位F0H送至TH0。可用下列指令实现定时器T0初始化。 MOVTMOD,#00H;T0工作于模式0,定时方式 MOVTL0,#0CH;低5位送TL0寄存器 MOVTH0,#0F0H;高8位送TH0寄存器初始化程序:MOVTMO

8、D,#16H;T1定时模式1,T0计数模式2 MOVTL0,#0FFH;T0时间常数送TL0 MOVTH0,#0FFH;T0时间常数送TH0 MOVTL1,#78H;T1时间常数(低8位)送T

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。