定时器计数器.docx

上传人:牧羊曲112 文档编号:3433816 上传时间:2023-03-13 格式:DOCX 页数:7 大小:39.82KB
返回 下载 相关 举报
定时器计数器.docx_第1页
第1页 / 共7页
定时器计数器.docx_第2页
第2页 / 共7页
定时器计数器.docx_第3页
第3页 / 共7页
定时器计数器.docx_第4页
第4页 / 共7页
定时器计数器.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《定时器计数器.docx》由会员分享,可在线阅读,更多相关《定时器计数器.docx(7页珍藏版)》请在三一办公上搜索。

1、定时器计数器定时器/计数器 MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0和定时器T1,它们既可用作定时器定时,又可用作计数器记录外部脉冲个数,其工作方式、定时时间、启动、停止等均用指令设定。 定时器/计数器的结构 1定时器/计数器的工作原理 定时器计数器T0和T1的工作方式通过八位寄存器TMOD设定,T0和T1 的启动、停止由八位寄存器TCON控制。工作前需先装入初值,利用传送指令将初值装入加1计数器TH0和TL0或TH1和TL1,高位数装入TH0或TH1,低位数装入TL0或TL1。当发出启动命令后,加1计数器开始加1计数,加到满值后,再加1就会产生溢出,系统将初值寄

2、存器清0。如果需要继续计数或定时,则需要重新赋计数初值。 2定时器的方式寄存器TMOD 特殊功能寄存器TMOD为定时器的方式控制寄存器。TMOD是用来设定定时器的工作方式,其格式如下: 各位功能如下: GATE控制定时器的两种启动方式 当GATE=0时,只要TR0或TR1置1,定时器启动。 当GATE=1时,除TR0或TR1置1外,还必须等待外部脉冲输入端 或 高电平到,定时器才能启动。若外部输入低电平则定时器关闭,这样可实现由外部控制定时器的启动、停止,故该位被称为门控位。定时器1类同。 定时/计数方式选择位 当该位为0时,T0或T1为定时方式;当该位为1时,T0或T1为计数方式。 方式选择

3、位M1、M0 M1、M0两位可组合成4种状态,控制4种工作方式。每种方式的功能如表51。 表5-1 M1、M0控制的工作方式 M1 M0 工作方式 说 明 0 0 0 1 1 0 1 1 0 1 2 3 13位计数器 16位计数器 可再装入8位计数器 T0分为两个8位计数器,T1停止计数 3控制及标志寄存器TCON 特殊功能寄存器TCON控制定时器的启动、停止、溢出、中断等。有些位是控制设置,有些是标志位,各位都有对应地址。其格式如下: TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 各位功能如下: TF

4、l:定时器1溢出标志,T1溢出时由硬件置1,并申请中断,CPU响应中断后,又由硬件清0。TF1也可由软件清0。 TF0:定时器0溢出标志,功能与TFl相同。 TRl:定时器1运行控制位,可由软件置1或清0来启动或停止T1。 TR0:定时器0运行控制位,功能与TRl相同。 IE1:外部中断l请求标志。 IE0:外部中断0请求标志。 IT1;外部中断1触发方式选择位。 IT0:外部中断0触发方式选择位。 TCON中各位均是1有效,如利用程序把TR1或TR0置1则启动定时器,否则定时器处于关闭状态。当T1或T0溢出时,由硬件把TF1或TF0置1,作为溢出标志。TCON中的低4位IE1、IE0、IT1

5、、IT0用于中断工作方式,这方面内容在讲述中断的章节中再详细讨论。当整机复位后,TCON中的各位均为0。 工作方式 MCS-51片内的定时器/计数器可以通过对TMOD寄存器中的控制位 的设置来选择定时或计数方式,通过对M1、M0的设置来选择四种工作方式,下面以T0为例说明。 1. 方式0 当M1、M0设置为00时,定时器选定为方式0工作。T0在工作方式0的逻辑结构如图5-1所示。在这种工作方式下,16位的计数器(TH0和TL0)只用了13位,构成13位定时器计数器。TL0的高3位未用,当TL0的低5位计满时,向TH0进位。而TH0溢出后对中断标志位TF0置1,并申请中断,同时把计数器清零。 图

6、5-1 T0在工作方式0的逻辑结构 当GATE0时,INT0被封锁,且仅由TR0便可控制T0的开启和关闭,即只要TCON中的TR0为1,TL0及TH0组成的13位计数器就可以开始计数。 当GATE1时,T0的开启与关闭取决于 和TR0相与的结果,即只有当 1 和TR01时,T0才开始工作。这可以用来测量在 端出现的脉冲宽度。 2方式1 方式1和方式0的工作方式相同,唯一的差别时TH0和TL0组成一个16位计数器。如图5-2。 3方式2 T0在工作方式2的逻辑结构图如图5-3所示。定时器计数器构成一个能自动重复置初值的8位计数器。在工作方式0、1,每次计满溢出后,计数值变为0,故还得重新装入初值

7、。而工作方式2可在计数器计满溢出时自动装入初值,实际是把16位的计数器拆成两个8位,TL0用作8位计数器,TH0用来保存初值。每当TL0计满溢出时,可自动将TH0的值装入TL0中。方式2还用作串行口波特率发生器。 4方式3 方式3对定时器T0和T1是不相同的。若T1设置为方式3,则停止工作。所以方式3只适用于T0。 方式3使MCS-51具有三个定时器/计数器。当T0设置为方式3时,将使TL0和TH0成为两个相互独立的8位计数器,如图5-4。 其中,TL0使用原T0的各控制位、引脚和中断源; 、GATE、TR0、 和TF0;而TH0则只能作为定时器使用,但它占用T1的TR1和TFl,即T1的中断

8、标志和运行控制位。 通常,当T1用作串行口波特率发生器时,T0才设置为工作方式3,此时,T1虽仍可定义为工作方式0、工作方式1和工作方式2,但只能用在不需中断控制的场合。 定时器初始化 使用定时器时,必须先利用指令对其进行正确设置,这种设置过程称为初始化。 1初始化主要内容 选择工作方式 通过对方式寄存器TMOD进行设置,选择工作方式。 例如,欲设置T0为定时方式1,TMOD状态应置为: GATE M1 M0 GATE M1 M0 TMOD 0 0 0 0 0 0 0 1 其状态字为01H。 利用指令“MOV TMOD,#01H”,则可把TMOD设置成T0方式1状态。 同样,若设置T1为计数方

9、式1,只需 1,M01,则用指令MOV TMOD,50H可达此目的。注意:TMOD不能位寻址。 给定时器赋初值 赋初值即把初始常数装入TH0、TL0或TH1、TL1。 例 T0初值3CB0H,T1初值00FFH。 利用字节传送指令装入初值: MOV TH0,#3CH MOV TL0,#0B0H MOV TH1,#00H MOV TL1,#0FFH 根据需要设置中断控制字 对中断允许寄存器IE和优先级寄存器IP设置,详细在中断一节介绍。 启动定时器 例 SETB TR0 ;启动T0 SETB TR1 ;启动T1 设定时器T1为方式1,初值3CB0H,若未用中断,初始化程序如下: MOV TMOD

10、, #10H MOV TH1, #3CH MOV TL1, #0B0H SETB TR1 2定时器初值设定方法 定时时间和定时器工作方式、初值及时钟周期均有关系,欲设定准确时间,必须会计算定时器初值。 即使同样的时间,工作方式不同,初值则不同;时钟频率不同即使工作方式相同,初值也不同。一般设定初值分几步考虑。 根据时间长短,选择工作方式 因为工作方式不同,溢出一次计数最大值不同。设用M表示最大计数值,则各种方式计数最大值如下: 方式0 M2138192 方式1 M21665536 方式2 M28256 方式3 M28256 原则上,定时时间长选用16位或13位计数器,即方式0或方式1。若时间短

11、选8位计数器即方式2和方式3,如果需要自动装入初值,只能选择方式2。 定时初值计算 设初值为X,最大计数值为M。初值X与机器周期TM、定时时间T的关系如下: TMT 其中,TM12个时钟周期12/ fosc,XMT/TM 由以上可以看出,计数次数为,初值越大,达到满值所需计数次数越小,若时钟频率一定,定时越短。而且时钟频率越大,时钟周期越短,机器周期越小,计数器加1一次时间越短。 因为 TM12/fosc 所以 当fosc6MHZ时, TM2s 当fosc12MHZ时, TM1s 例:设采用定时器T1,方式1,定时50ms,计算定时初值。已知晶振频率fosc12MHZ 解:fosc12MHZ

12、TM1s 定时方式1时 M21665536 所以 XMT/TM 6553650000/1 155363CB0H 这样只要把定时器T1装入初值3CB0H,定时器计满溢出一次的时间就是50ms。若需要继续定时,应再装入初值。溢出信号使TCON寄存器中的溢出标志位TF1置1,称硬件置位。 应用程序设计 例 编写用定时器延时50ms的子程序。 MOV TMOD, #01H ;T0为方式1,送方式字 MOV TH0, #3CH ;送初值高字节 MOV TL0, #0B0H ;送初值低字节 SETB TR0 ;启动T0 LP: JBC TF0 LP1 ;判断溢出标志TF0是否等于1,是就转LP1 SJMP LP ;继续查询50ms到否 LP1: MOV TH0, #3CH ;重新赋初值 MOV TL0, #0B0H SJMP LP LP,继续查询下一次 ;返回

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号