51单片机第五章 .ppt

上传人(卖家):hyngb9260 文档编号:5946825 上传时间:2023-05-17 格式:PPT 页数:25 大小:328KB
下载 相关 举报
51单片机第五章 .ppt_第1页
第1页 / 共25页
51单片机第五章 .ppt_第2页
第2页 / 共25页
51单片机第五章 .ppt_第3页
第3页 / 共25页
51单片机第五章 .ppt_第4页
第4页 / 共25页
51单片机第五章 .ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、5-1 5-1 定时定时/计数器计数器 5-2 5-2 定时定时/计数器的应用计数器的应用第第章章定定时时计计数数器器Single Chip Microcomputer 本章内容本章内容5-1 5-1 定时定时/计数器计数器一、定时一、定时/计数器的结构计数器的结构51子系列单片机内有两个十六位增一子系列单片机内有两个十六位增一 定时定时/计数器计数器TH0计数值高八位计数值高八位TL0计数值低八位计数值低八位TH1计数值高八位计数值高八位TL1计数值低八位计数值低八位TMODTCON工作方式工作方式定时定时/计数控制计数控制控控 制制 控控制制1、工作方式控制寄存器、工作方式控制寄存器 TM

2、OD TMOD M0 M1C /GATE M0 M1C /GATETTT1T0GATE 门控位。门控位。GATE=0 启动不受启动不受/INT0或或/INT1的控制;的控制;GATE=1 启动受启动受/INT0 或或/INT1 的控制。的控制。C/T 外部计数器外部计数器/定时器方式选择位定时器方式选择位 C/T=0 定时方式;定时方式;C/T=1 计数方式计数方式。M1M0 工作模式选择位(编程可决定四种工作模式)工作模式选择位(编程可决定四种工作模式)。2、定时、定时/计数器控制寄存器计数器控制寄存器TCON TCONTF1 TR1 TF0 TR0 IE1IT1IE0IT0 能否启动定时能

3、否启动定时/计数器工作与计数器工作与GATE有关,分两种情况:有关,分两种情况:GATE=0 时,若时,若TRi=1,开启开启Ti计数工作;计数工作;(i=0或或1)若若TRi=0,停止停止Ti计数。计数。GATE=1 时,若时,若TRi=1 且且/INTi=1时开启时开启Ti计数;计数;若若TRi=1 且且/INTi=0时不能开启时不能开启Ti计数。计数。若若TRi=0,停止停止Ti计数。计数。TR0 定时定时/计数器计数器0运行控制位。运行控制位。软件置位,软件复位。软件置位,软件复位。TR1 定时定时/计数器计数器1运行控制位。(运行控制位。(用法与用法与TR0类似)类似)二、定时二、定

4、时/计数器的四种工作模式计数器的四种工作模式 M1 M0 模式模式 说明说明 0 0 0 13位定时位定时/计数器计数器 高八位高八位TH(7 0)+低五位低五位TL(4 0)0 1 1 16位定时位定时/计数器计数器 TH(7 0)+TL(7 0)1 0 2 8位计数初值自动重装位计数初值自动重装 TL(7 0)TH(7 0)1 1 3 T0运行,而运行,而T1停止工作,停止工作,8位定时位定时/计数。计数。1、模式、模式0计数寄存器计数寄存器TLi 低低5位位+THi8位位 (T1、T0的等效逻辑结构)的等效逻辑结构)TLi(5位)THi(8位)TFi中断控制BAC/T=0振荡器1/12&

5、1TiTRiGATEINTiC/T=104 07C/T=0 定时;定时;C/T=1 对外计数。对外计数。定时:定时:fosc/12=1/(12/fosc)=1/T 波形等间隔,次数已定,时间确定波形等间隔,次数已定,时间确定即对机器周期进行计数。即对机器周期进行计数。左图定时时间为左图定时时间为 N*TN个方波个方波 T/2计数:脉冲不等间隔。计数:脉冲不等间隔。每个下降沿计数一次每个下降沿计数一次 确认一次负跳变需两个机器周期,确认一次负跳变需两个机器周期,所以,计数频率最高为所以,计数频率最高为fosc/24。2、模式、模式1与模式与模式0相似。相似。与模式与模式0的区别:计数位数不同。的

6、区别:计数位数不同。计数计数 寄寄 存存 器:器:THi(高高8位)位)+TLi(低低8位)位)TFi中断TLi(8位)THi(8位)07 07控制BAC/T=0振荡器1/12&1TiTRiGATEINTiC/T=13、模式、模式2与模式与模式0、1的区别:的区别:1)计数位数不同;)计数位数不同;2)初值自动重装。)初值自动重装。TFi中断TLi(8位)THi(8位)控制BAC/T=0振荡器1/12&1TiTRiGATEINTiC/T=14、模式、模式3T0定时定时/计数,而计数,而T1停止计数,但可作波特率发生器。停止计数,但可作波特率发生器。T0分成两独立定时分成两独立定时/计数计数器器

7、TL0和和TH0。TL0使用使用C/T、GATE、TR0、/INT0、TF0定时定时/计数,计数,TH0使用使用TR1、TF1 因此,只能用于定时因此,只能用于定时 TF0中断控制BAC/T=0振荡器1/12&1T0TR0GATEINT0C/T=1TL0(8位)振荡器1/12TH0TF1中断(a)TL0作8位定时/计数器(b)TH0作8位定时器TR1模式模式3时,时,T1可定时为模式可定时为模式0、1、2的定时的定时/计数,但不可中断,所计数,但不可中断,所以一般只作串口波特率发生器用。以一般只作串口波特率发生器用。振荡器1/12TL1(5位)TH1(8位)串行口C/T=0C/T=1T1(P3

8、.5)振荡器1/12TL1(8位)TH1(8位)串行口C/T=0C/T=1T1(P3.5)TLi(8位)THi(8位)振荡器1/12C/T=0C/T=1T1(P3.5)串行口(a)T0模式模式3时时T1模式模式0(b)T0模式模式3时时T1模式模式1(c)T0模式模式3时时T1模式模式2编程前确定参数:编程前确定参数:(1)定时)定时/计数器计数器 T0、T1选择其一,选择其一,(2)工)工 作作 方方 式式 C/T及及GATE,(3)计计 数数 初初 值值 加加1计数、计数、16位。位。计数:计数:X=MN;M=213=8192(模式模式0)M=216=65536(模式模式1)M=28=25

9、6(模式模式2、模式模式3)定时:定时:X=MN=M t/T(t为所要求的为所要求的 定时时间,定时时间,T为机器周期)为机器周期)(4)工)工 作作 模模 式式 M1、M0 N0010 10 4 6MX四、定时四、定时/计数器的应用计数器的应用编制初始化程序:编制初始化程序:1)写)写TMOD;2)确定确定IE、IP;3)写计数初值;写计数初值;4)启动计数()启动计数(TRi)例例1、设计一个能在、设计一个能在P1.0口上产生口上产生T=1ms的周期信号发生的周期信号发生器器(fosc=12Mhz),试编程,试编程。解:选解:选T0;C/T=0,GATE=0 N=t/T=t/12(1/fo

10、sc)=500 所以,所以,X=M 500,模式模式0、模式、模式1均可,取模式均可,取模式0,M=213=8192 X=8192500=7692=1E0CH=0001 1110 000 0 1100B,1E0CH01100TL011110000TH0F0H0CH先将低五位放入先将低五位放入TL0中,再将剩余的数从右中,再将剩余的数从右向左数出八位放入向左数出八位放入TH0中。中。LJMP MAIN ORG 000BH LJMP INSE1 ORG 1000H MAIN:MOV SP,#60H MOV TL0,#0CH MOV TH0,#0F0H MOV TMOD,#00H SETB TR0

11、SETB ET0 SETB EA SJMP ORG 0000H INSE1:MOV TL0,#0CH MOV TH0,#0F0H CPL P1.0 RETI 小结:小结:1、MCS-51单片机内有几个定时计数器?单片机内有几个定时计数器?如何计数?如何计数?2、T0、T1有几种工作方式?有几种工作方式?3、编程应用前要事先确定的参数有几个?、编程应用前要事先确定的参数有几个?5-2 定时定时/计数器的应用计数器的应用 TF1 TR1TF0 TR0 IE1 IT1 IE0 IT0 M0 M1C/GATE M0 M1 C/GATETTTMODTCON复习复习:例例2、设、设fosc=6MHz,利用

12、单片机内定时利用单片机内定时/计数器及计数器及P1.0口线输出口线输出1000个脉冲,脉冲周期为个脉冲,脉冲周期为2ms,试编程。试编程。8031 P1.0 T12ms T=121/fosc=2us 选取选取T0定时;定时;T1计数。计数。设设T0采用中断方式产生周期为采用中断方式产生周期为2ms方波,方波,T1对该方波计数,当输对该方波计数,当输出至第出至第1000个脉冲时,使个脉冲时,使TF1置置1。在主程序中用查询方法,检在主程序中用查询方法,检测到测到TF1变变1时,关掉时,关掉T0,停止输出方波。停止输出方波。T0、T1参数的确定:参数的确定:T0模式模式0、定时:脉宽为脉冲周期的一

13、半、定时:脉宽为脉冲周期的一半所以,所以,X=2131ms/2us=0001 1110 0000 1100BTH0=0F0H ;TL0=0CH T1模式模式1、计数:、计数:N=1000 则则 X=655361000=64536=0FC18H (若选模式若选模式0也可以,此时也可以,此时X=7192=1C18H)程序:程序:ORG 0000H LJMP MAIN ORG 000BH LJMP TOS ORG 1000H MAIN:MOV TMOD,#50H;T0定时,模式定时,模式0;T1计数,模式计数,模式1 MOV TL0,#0CH MOV TH0,#0F0H MOV TL1,#18H M

14、OV TH1,#0FCH SETB TR1 SETB TR0 SETB ET0 SETB EA WAIT:JNB TF1,WAIT;查询查询1000个脉冲计够没有到个脉冲计够没有到?CLR EA CLR ET0 ANL TCON,#0FH;停停T0、T1 SJMP TOS:MOV TL0,#0CH MOV TH0,#0F0H CPL P10 RETI END 例例3、脉冲参数测量、脉冲参数测量GATE功能的使用。功能的使用。脉冲高电平(计数)长度值存于脉冲高电平(计数)长度值存于21H、20H中,中,脉冲低电平长度存于脉冲低电平长度存于23H、22H中。中。电路连接如下图所示。电路连接如下图所

15、示。解:解:复习复习GATE的用法:的用法:GATE=0时,时,TRi=1,即可启动即可启动Ti定时定时/计数计数 GATE=1时,时,TRi=1,且且 =1,才启动定时才启动定时/计数。计数。INTi80310INT1INTP3.2P3.31被测信号被测信号21a3T0计数计数T1计数计数 ORG 0000H LJMP MAIN ORG 2000HMAIN:MOV TMOD,#99H ;T0、T1均工作在定时,均工作在定时,;模式;模式1,GATE=1 MOV A,#00H ;T0、T1赋计数初值赋计数初值00H,;定时最长时间为定时最长时间为0000 65536 MOV TL0,A MOV

16、 TH0,A MOV TL1,A MOV TH1,A TEST0:JB P3.2,TEST0 ;检测是否到检测是否到a点点 SETB TR0 ;到到a点,点,TR0=1,做好取计时值准备。做好取计时值准备。TEST1:JNB P3.2,TEST1;检测是否到检测是否到1点点 SETB TR1 ;到到1点点T0计时;计时;TR1=1,做好做好T1计时准备。计时准备。TEST2:JB P3.2,TEST2 ;检测是否到检测是否到2点点 CLR TR0 ;到到2点,停止点,停止T0计时,计时,T1开始计时。开始计时。MOV 20H,TH0 ;保存保存T0计时结果计时结果 MOV 21H,TL0TEST3:JB P3.3,TEST3 ;检测是否到检测是否到3点点 CLR TR1 ;到到3点,停止点,停止T1计数计数 MOV 22H,TH1 ;保存保存T1计数结果计数结果 MOV 23H,TL1 LCALL DISP SJMP 小结:小结:1、定时、定时/计数的四种方式是怎样的?计数的四种方式是怎样的?2、如何计算计数初值?如何编程送入计数初值?、如何计算计数初值?如何编程送入计数初值?3、GATE的用法是怎样的?的用法是怎样的?

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

当前位置:首页 > 办公、行业 > 项目策划与方案类
版权提示 | 免责声明

1,本文(51单片机第五章 .ppt)为本站会员(hyngb9260)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|