定时计数器课件

上传人:我*** 文档编号:141605120 上传时间:2020-08-10 格式:PPT 页数:53 大小:672.50KB
返回 下载 相关 举报
定时计数器课件_第1页
第1页 / 共53页
定时计数器课件_第2页
第2页 / 共53页
定时计数器课件_第3页
第3页 / 共53页
定时计数器课件_第4页
第4页 / 共53页
定时计数器课件_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《定时计数器课件》由会员分享,可在线阅读,更多相关《定时计数器课件(53页珍藏版)》请在金锄头文库上搜索。

1、定时/计数器的结构和工作原理,一、定时/计数器的结构 定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。,单片机的结构,P3.0 串行输入 P3.1 串行输出 P3.2 外部中断0 P3.3外部中断1 P3.4 定时器0 P3.5 定时器1 P3.6、P3.7 片外RAM的读写控制,P3口第二功能表,定时/计数器,T1、T0具有定时和计数两种模式,1、计数模式,计数模式是对外来脉冲进行计数,当外部 输入的脉冲发生负跳变时,计数器加1。,定时/计数器

2、,T1、T0具有定时和计数两种模式,2、定时模式,定时功能也是通过计数器的计数来实现的, 计数脉冲来自单片机的内部,即对每个机器周期 产生一个计数脉冲,每经过一个机器周期,计数 器加1。 输入脉冲周期是晶振周期的12倍,频率为1/12.,定时/计数器结构,T0和T1 16进制加1计数器,定时/计数器T1由特殊功能寄存器TH1、TL1构成;定时/计数器T0由特殊功能寄存器TH0、TL0构成。 加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来; 一个是T0或T1引脚输入的外部脉冲源。,定时/计数器工作原理,定时/计数器工作原理,每来一个脉冲计数器加1,当加到计数

3、器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1(溢出标志)置1,向CPU发出中断请求(定时/计数器中断允许时)。,定时/计数器工作原理,如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。 可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值,定时/计数器的控制,80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。 (SFR)TMOD用于选择定时器/计数器的工作模式和工作方式; TCON用于控制定时器/计数器的启动和停止及状态; 复位时,TMOD和TCON的所有位被清零。,一、工作方式寄存器TMOD 工作方

4、式寄存器TMOD用于设置定时/计数器的工作方式,低四位控制T0,高四位控制T1。其格式如下:,定时/计数器的控制,TMOD,字节 地址 89H,D7 D6 D5 D4 D3 D2 D1 D0,T1,T0,GATE:门控位。 GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作; GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动多了一条件。,TMOD,M1,M0:工作方式选择位 。,TMOD,C/ :定时方式/计数方式选择位。 = 1:选择计数器工作方式,对T0/T1引脚输入的外部事件的负脉冲

5、计数; = 0 :选择定时器工作方式,对机器周期脉冲计数定时。 如下页图所示。,TMOD,控制寄存器TCON,TCON控制寄存器各位定义如下:,TCON,字节 地址 88H,D7 D6 D5 D4 D3 D2 D1 D0,TR0(TR1):T0(T1)运行控制位。 当TR0(TR1)=1时启动T0(T1); TR0(TR1)=0时关闭T0(T1)。 该位由软件进行设置。,TF0(TF1): 计数溢出标志位 T0(T1)定时器/计数器溢出中断标志位。当T0(T1)计数溢出时,由硬件置位,并在允许中断的情况下,向CPU发出中断请求信号,CPU响应中断转向中断服务程序时,由硬件自动将该位清零。,TC

6、ON,定时/计数器的工作方式,方式0为13位计数 M1M0=00(TMOD.5、TMOD.4=00) 由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。,方式0,方式 0,方式0,电子开关打在上面位置,T0为定时器模式,电子开关打在上面位置,T0为计数器模式 计数器计数脉冲为P3.4、P3.5上的外部输入 脉冲,门控位GATE具有特殊的作用。 当GATE=0时,经反相后使或门输出为1,此时仅由TR0控制与门的开启,与门输出1时,控制开关接通,计数开始; 当GATE=1时,由外中断引脚信号控制或门的

7、输出,此时控制与门的开启由外中断引脚信号和TR0共同控制。当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。,方式0,定时器模式时有:Nt/ Tcy 计数初值计算的公式为: 定时器的初值还可以采用计数个数直接取补法获得。 计数模式时,计数脉冲是T0引脚上的外部脉冲。,方式1,方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器 。,计数个数与计数初值的关系为:,方式1,方式2,方式2为自动重装初值的8位计数方式。,工作方式2特别适合于用作较精确的脉冲信号发生器。,计数个数与计数初

8、值的关系为:,方式2,方式3,方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数。 工作方式3将T0分成为两个独立的8位计数器TL0和TH0 。,方式3,三、 定时/计数器应用举例,1、查询方式设计,1、对TMOD赋值,以确定T0和T1的工作方式。 2、计算初值,并将其写入TH0、TL0或TH1、TL1。 3、使TR0或TR1置位,启动定时/计数器定时或计数。 4、查询溢出标志位TF0,TF1,实现相应的控制,汇编程序,JBC bit,rel: 直接寻址位为1则转移到rel对应的语句执行; 否则执行下一句指令,汇编程序,ORG 0000H ;程序首地址 AJMP

9、MAIN ;跳到主程序 MAIN:MOV R4,#10 ;显示十个数 MOV P2,#0F0H ;数码管段选 MOV A,#0 ;变址寄存器内容清零 MOV DPTR,#0200H ;数据表首地址0200H送数据指针,汇编程序,LOOP:MOV R3,#14H ;1秒定时 MOVC A,A+DPTR ;取数据送A MOV P0,A ;显示数据送P0口 CLR A ;变址寄存器内容清零 INC DPTR ;指向下个数据 MOV TMOD,#01H ;定时器0工作于方式1 SETB TR0 ;启动定时器0,汇编程序,LOOP1:MOV TH0,#3CH ;定时器赋初值 MOV TL0,#0B0H

10、LOOP2: JBC TF0,LOOP3 ;查询TF0溢出标志50MS是否到, AJMP LOOP2 ; LOOP3:DJNZ R3,LOOP1 ;检测1秒钟 时间是否到,没有则赋初值T0 DJNZ R4,LOOP;09循环 AJMP MAIN,汇编程序,ORG 0200H; 建表 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END,初始化程序应完成如下工作: 1、对TMOD赋值,以确定T0和T1的工作方式。 2、计算初值,并将其写入TH0、TL0或TH1、TL1。 3、中断方式时,则对IE赋值,开放中断。 4、 设置IP中断优先级寄存器多个中断使用时

11、,设置级别。 5、使TR0或TR1置位,启动定时/计数器定时或计数。,三、 定时/计数器应用举例,2、中断方式,定 时 器 中 断 执 行 过 程,将中断暂时禁止,数据放入堆栈,防止数据丢失,定时器重新赋初值,执行中断要求的操作功能。,将保护的数据出栈,恢复数据,将中断允许,执行RETI指令,返回原被中止程序,编程:已知单片机的振荡频率为6MHz,使用定时器T0定时0.1s,控制发光二极管全亮全灭闪烁。,分析计算: 由于振荡频率=6MHz,所以机器周期=2us 定时初值=65536 0.1s/2us = 15536 = 3CB0H TH0=3CH TL0=B0H 定时器T0中断入口地址:000

12、BH,程序流程图:,源程序:,ORG 0000H AJMP START ORG 000BH LJMP T00 ORG 0100H START: MOV TMOD , #01H MOV TH0 , #3CH MOV TL0 , #0B0H MOV IE , #82H MOV A , #00H SETB TR0 LOOP: MOV P0 , A SJMP LOOP,T00: CLR EA MOV TH0 ,#3CH MOV TL0 , #0B0H CPL A SETB EA RETI END,2、方式1计数,T0,TH0 8位寄存器,TL0 8位寄存器,计数初值=65536 计数次数,计数次数 =

13、 P3.4引脚输入下降沿脉冲个数,编程:使用定时器T0,每计数5次控制发光二极管全亮全灭切换。 分析: 计数初值= 65536 5 = 65531= FFFBH TH0=FFH TL0=FBH,程序流程图:,源程序:,ORG 0000H AJMP START ORG 000BH LJMP T00 ORG 0100H START: MOV TMOD , #05H MOV TH0 , #0FFH MOV TL0 , #0FBH MOV IE , #82H MOV A , #00H SETB TR0 LOOP: MOV P0 , A SJMP LOOP,T00: CLR EA MOV TH0 ,#0

14、FFH MOV TL0 , #0FBH CPL A SETB EA RETI END,五、T0的方式2定时计数功能 8位自动重装初值方式,1、方式2定时,T0,TH0 8位寄存器,TL0 8位寄存器,定时初值 = 256 定时时间/机器周期,机器周期 =,设置TH0=TL0=定时初值,TL0参与定时,完成一次定时后,内部电路自动将TH0的值装入TL0,开始下一次定时。,编程:已知单片机的振荡频率为6MHz,使用定时器T0模式2定时0.1s,控制发光二极管全亮全灭闪烁。,分析: 定时初值 = 256 定时时间/机器周期 机器周期= 2us 最大定时时间= 512us 选择T0一次定时500us,

15、定时200次实现0.1s。 定时初值=256 500us/2us = 6=06H TH0=TL0=06H,程序流程图:,源程序:,ORG 0000H AJMP START ORG 000BH LJMP T00 ORG 0100H START: MOV TMOD , #02H MOV TH0 , #06H MOV TL0 , #06H MOV IE , #82H MOV A , #00H MOV R2 , #200 SETB TR0 LOOP: MOV P0 , A SJMP LOOP,T00: CLR EA DJNZ R2 , EXIT MOV R2 , #200 CPL A EXIT: SETB EA RETI END,例1,系统时钟频率为12MHZ,要在P1.0输出一个周期为2ms的方波, 方波的周期由定时器T0来确定,采用工作方式0.,TMOD,字节 地址 89H,D7 D6 D5 D4 D3 D2 D1 D0,T1,T0,0 0 0 0 0 0 0 0,1、确定TMOD 选T0,则T1的全为

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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