单片机的定时器计数器.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 定时器 计数器
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单片机的定时器/计数器,主讲 朱兆优,本章学习要点:,(1),定时器,/,计数器内部结构、工作原理;,(2),定时器,/,计数器的,控制寄存器,设置和工作方式选择;,(3),定时器,/,计数器,初值,计算、,初始化,和中断的应用。,单片机有,2,个可编程的定时器/计数器,T1、T0,2,种,工作模式,:,(1)计数器工作模式,(2)定时器工作模式,4种,工作方式,(,方式0-方式3),6.1 定时器/计数器的结构,TMOD,:,选择定时器/计数器,T0、T1,的工作模式和工作方式。,TCON,:,控制,T0、T1,的启动和停止计数,同时包含了,T0、T1,的状态。,单片机,复位,时,两个寄存器的所有位都被,清0,。,6.1.1 工作方式控制寄存器,TMOD,8位分为两组,,高4位控制,T1,,,低4位控制,T0,。,(1)GATE,门控位,0,:,以,TR0,/,TR1,来启动定时器/计数器运行。,1:,用外中断引脚(,INT0,*,或,INT1,*,)上的高电平和,TRX,来启动定时器/计数器运行。,(,2)M1、M0,工作方式选择位,M1 M0,工 作 方 式,0 0,方式0,,13位定时器/计数器。,0 1,方式1,,16位定时器/计数器。,1 0,方式2,,8位常数自动重新装载,1 1,方式3,,仅适用于,T0,T0,分成两个8 位计数器,,T1,停止计数。,(3),C/T,*,计数器模式和定时器模式选择位,0:,定时器,模式。,1:,计数器,模式。,6.1.2 定时器/计数器控制寄存器,TCON,低4位,与外部中断有关,已介绍。,高4位,的功能如下:,(1)TF1、TF0,计数溢出标志位,(2)TR1、TR0,计数运行控制,位,1:,启动定时器/计数器工作,0:,停止定时器/计数器工作,6.2 定时器/计数器的4种工作方式,6.2.1 方式0,(,M1-M0,为00,),定时器/计数器的框图:,GATE,位:一般,GATE=0,,定时器/计数器的,运行由,TR0/TR1,决定。,做外部信号脉宽测量时,,GATE=1,,置,TR1=1,则,定时器/计数器,运行由,INT1,决定,控制端,=1,启动计数,控制端,=0,停止计数,方式,0,为13位的计数器,,C/T,*,位决定工作模式:,0:,开关打在上面,为,定时器,工作模式;,1:,开关打在下面,为,计数器,工作模式,计数脉冲为,P3.4、P3.5,引脚上的外部输入脉冲,当引脚上发生,负跳变,时,,计数器加1,。,6.2.2 方式1,M1-M0,=,01,,,16位,的计数器。,6.2.3 方式2,计数满后自动装入计数初值,。,M1、M0=,10,等效框图如下:,TL1,作为计数器,,,TH1,作常数备份。当,TL1,计数溢出时,,自动将,TH1,中的值送至,TLX,,,使,TLX,从初值开始重新计数。,6.2.4 方式3,增加一个,附加,的8位定时器/计数器,从而具有,3个定时器/计数器。,只适用于定时器/计数器,T0。T1,不能工作在方式3,,T1,方式3,时相当于,TR1=0,,停止计数(此时,T1,可用来作串行口波特率产生器)。,1工作方式3下的,T0,T0,分为,2,个独立的8位计数器:,TL0,和,TH0,。TL0,使用,T0,的状态,控制位,C/T,*,、GATE、TR0,TH0,被固定为一个8位定时器(不能作外部计数模式),并使用,T1,的控制位,TR1,和,TF1,,,同时,占用,T1,的中断请求源,TF1,。,各引脚与,T0,的逻辑关系如图所示:,2,T0,工作在方式3下,T1,的各种工作方式,当,T1,用作串行口的波特率发生器时,,T0,才工作在方式3。,T0,处于方式3时,,T1,可定为方式0、方式1和方式2,,用来作为串行口的波特率发生器,或不需要中断的场合。,6.3 定时器/计数编程,6.3.1,定时器,/,计数器的初始化,1,初始化的步骤,(1),确定工作方式,(,即对,TMOD,赋值,),(2),预置定时器,/,计数器的初值,,(3),定时器,/,计数器的中断 设置,(4),启动定时器,/,计数器。,2,定时器,/,计数器初值的计算,计数器模式,下:,初值,=,最大计数值,-,计数值,定时器模式,下:,初值,=,最大计数值,-,定时时间,/Tcy,方式,0,:,最大计数值,=213=8192,,最长定时,8192Tcy,。,方式,1,:,最大计数值,=216=65536,最长定时,65536Tcy,方式,2,:最大计数值,256,,最长定时,256Tcy,方式,3,:,定时器,0,分成两个,8,位计数器,其最大计数值均为,256,,最长定时时间均为,256Tcy,。,6.3.2,定时器,/,计数器的编程示例,例,6-1,假设系统晶振频率,f,osc=6 MHz,,使用定时器,/,计数器,1,作定时,在,P1.1,上输出周期为,1 ms,方波。,采用工作方式,0,计算初值:,机器周期,Tcy=12/,f,osc=12/(610 6)Hz=2 ms,初值最大计数值定时时间,/Tcy,213,500/2,=7942 D=,1,1111,0000,0110,B,所以,(TH1)=11111000B=F8H,,,(TL1)=00000110B=06H,。,参考程序如下:,ORG2000H,MOVTMOD,#00H,MOVTL1,#06H;,定时器,/,计数器,1,赋初值,MOVTH1,#0F8H,SETBTR1;,启动定时器,/,计数器,1,LP1,:,JBCTF1,LP2;,查询定时时间到否?,AJMPLP1;,定时时间未到,继续查询,LP2,:,MOVTL1,#06H;,定时时间到,重新赋初值,MOVTH1,#0F8H,CPLP1.1;P1.1,的状态取反,AJMPLP1;,循环,(2),采用工作方式,1,TMOD,可设置为,10H,。,计算初值:,机器周期,Tcy=12/,f,osc=12/(610 6)Hz=2 ms,初值,=,最大计数值,-,定时时间,/Tcy=216-500/2,=65286D=FF06H,(TH1)=FFH,,,(TL1)=06H,参考程序,如下,:,ORG0000H,AJMPMAIN,ORG001BH;,定时器,/,计数器,1,中断入口,IT0P,:,MOVTL1,#06H;,重新赋初值,MOVTH1,#0FFH,CPLP1.1;P1.1,的状态取反,RETI,ORG0100H,MAIN,:,MOVTMOD,#10H;,定时器,/,计数器,1,工作方式,1,MOVTL1,#06H;,定时器,/,计数器,1,赋初值,MOVTH1,#0FFH,SETBTR1;,启动定时器,/,计数器,1,MOVIE,#88H;,允许定时器,/,计数器,1,中断,SJMP$;,等中断,6.4,定时器,/,计数器的应用实例,6.4.1,门控位,GATE,的应用,利用门控位,GATE,可对,(x,为,0,或,1),引脚上正脉冲的宽度进行测量。,例,6-2,利用定时器,/,计数器测量,波形的正脉冲宽度如图,6-7,所示。,参考程序如下:,ORG0100H,MAIN,:,MOVTMOD,#90H;,设置,T1,为门控方式,1,MOVTL0,#00H,MOVTH0,#00H,JBP3.3,$;,等待,P3.3=0,SETBTR1;,启动,T1,JNBP3.3,$;,等待,P3.3=1,JBP3.3,$;,等待,P3.3=0,CLRTR1;,停止,T1,计数,MOV30H,TL1;,保存,T1,的计数值,MOV31H,TH1,6.4.,2,实时时钟的设计,1实时时钟实现的基本思想,如何获得1秒的定时,,可把,定时时间定为100,ms,,,采用中断方式进行溢出次数的累计,计满10次,即得到秒计时。,片内,RAM,中规定,3个单元,作,为秒、分、时单元,,具体安排如下:,42,H:“,秒”单元;41,H:“,分”单元;40,H:“,时”单元,从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。,2程序设计,(1)主程序的设计,流程如图所示。,(2)中断服务程序的设计,中断服务程序的主要功能是实现秒、分、时的计时处理。参考程序略。,6.4.,3,运行中读定时器/计数器,在读取运行中的定时器/计数器时,,需注意:若恰好出现,TLX,溢出向,THX,进位的情况,则读得的(,TLX),值就完全不对。,同样,先读(,THX),再读(,TLX),也可能出错。,方法:先读(,THX),,后读(,TLX),,再读(,THX)。,若两次读得(,THX),相同,则读的内容正确。,若前后两次读的(,THX),有变化,则再重复上述过程,这次重复读得的内容就应是正确的。下面是有关的程序,读得的(,TH0),和(,TL0),放置在,R1,和,R0,内。,RDTIME:MOV A,TH0;,读(,TH0),MOV R0,TL0;,读(,TL0),CJNE,A,TH0,RDTIME,;,比较2次读得的(,TH0),;不相等则重复读,MOV R1,A;(TH0),送入,R1,中,RET,6.4.4,用定时器,/,计数器作外部中断,定时器,/,计数器工作在,计数器模式,时,,T0(,或,T1),引脚上发生,负跳变,,定时器,/,计数器,0(,或,1),加,1,,当定时器,/,计数器,0(,或,1),出现,计数溢出,时,溢出中断标志,TF0(,或,TF1),置,1,,向,CPU,申请中断。,展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


单片机的定时器计数器.ppt
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14671446.html