教学PPTMCS-51单片机定时计数器原理及应用.ppt_第1页
教学PPTMCS-51单片机定时计数器原理及应用.ppt_第2页
教学PPTMCS-51单片机定时计数器原理及应用.ppt_第3页
教学PPTMCS-51单片机定时计数器原理及应用.ppt_第4页
教学PPTMCS-51单片机定时计数器原理及应用.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,第5章 定时/计数器原理及应用,一、定时/ 计数器的原理,2个16位定时器/计数器 (52系列有3个16位timer) 定时器:对片内机器时钟(周期方波)进行计数 计数器:对tx(x=0,1)引脚输入的脉冲进行计数,与timer工作有关的特殊功能寄存器: tcon 和 tmod,2,51子系列单片机内有两个十六位 加1 定时 / 计数器,th0,计数值高八位,tl0,计数值低八位,th1,计数值高八位,tl1,计数值低八位,tmod,tcon,工作方式,定时 / 计数控制,3,定时器控制寄存器tcon (88h),tf1 tr1 tf0 tr0 ie1 it1 ie0 it0,tcon,tf0/tf1:定时器溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。,tr0/tr1:定时器运行启停控制位: =0:定时器停止运行; =1:定时器启动运行。,tcon:timer控制寄存器,是管理定时器工作的sfr(其中低4位管外部中断),4,gate c / t m1 m0 gate c / t m1 m0,定时器方式寄存器tmod (89h),t1,t0,m1,m0:工作方式定义位 ( 定义4 种方式 ):,c/t :计数器/定时器选择位 = 1 外部事件计数器。对tx引脚的脉冲计数; = 0 片内时钟定时器。对机器周期脉冲计数定时,0 0:13位 timer 0 1:16位 timer常用 1 0:可自动重装的 8位 timer常用 1 1:t0 分为2个8位 timer;t1不工作极少用,5,gate c / t m1 m0 gate c / t m1 m0,t1,t0,gate门控位: timer可由软件与硬件两者控制 gate = 0 普通用法 timer的启/停由软件对trx位写“1”/“0”控制,定时器方式寄存器tmod(续),(89h), gate = 1 门控用法 timer的启/停由软件对trx位写“1”/“0” 和在intx引脚上出现的信号的高/低共同控制,二、定时 / 计数器的四种工作方式,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的等效逻辑结构),c/t = 0 定时; c/t = 1 对外计数。 定时:fosc / 12 = 1 /(12/fosc) = 1 / t,波形等间隔,次数已定,时间确定,即对机器周期进行计数。,左图定时时间为 n*t,n个方波,计数:脉冲不等间隔。,每个下降沿计数一次 确认一次负跳变需两个机器周期,所以,计数频率最高为fosc / 24。,9,能否启动定时 / 计数器工作与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计数。,2、工作方式1 与模式0相似,与模式0的区别:计数位数不同。 计数 寄 存 器:thi(高8位)+ tli(低8位),3、工作方式2 与方式0、1的区别:1)计数位数不同; 2)初值自动重装。,12,4、工作方式3 t0定时/计数,而t1停止计数,但可作波特率发生器。 t0分成两独立定时/计数器tl0和th0。,(a)tl0作8位定时/计数器,(b)th0作8位定时器,tr1,编程前确定参数: (1)定时/计数器 t0、t1选择其一 (2)工 作 模 式 c/t及gate,(3)工 作 方 式 m1、m0,三、定时/计数器的应用,(4)定时计数初值,计数初值:x=mn; m=213=8192(方式0) m=216=65536(方式1) m=28=256(方式2、3) 定时: x=mn =m t/t (t为所要求的定时时间,t为机器周期),15,定时器应用程序举例:,分析:已知fosc = 6mhz 则: (振荡周期)p=1/6mhz (机器周期)t=12p=12/6mhz=2s 粗略地说:tmin 2s 16位定时器最大数值为:216=65536=0ffffh+1 故选择方式 1 工作可以得到: tmax = 655362 = 131072s131.072ms,例1:若晶振频率为6mhz,计算在工作方式1下的最小与最大定时时间:,16,分析:已知fosc = 6mhz 则: 机器周期t=2s 100ms2 s = 50000 16位定时器最大数值为: 216 = 65536 (=0ffffh+1) 故选择方式1工作可以满足要求。 计算初值:6553650000=15536=,例2: 要求对t0产生100ms定时进行初始化,晶振 6mhz。,3cb0h,17,定时器方式 寄存器tmod,由分析得知:t0选择方式1,初值=3cb0h,x x x x 0 0 0 1,初始化:mov tmod,#01h ;选 t0 方式 1 mov th0, #3ch ;赋初值高8位 mov tl0, #0b0h ;赋初值低8位 setb tr0 ;启动 t0定时,18,例3:设单片机晶振频率为6mhz,使用定时器1以方式0产生周期为500s的等宽周期性方波,并由p1.0输出。,分析: 已知fosc = 6mhz 则机器周期t=2s, t=500s/2=250s t/t=125 方式0:13位定时器最大数值为: 213 = 8192 计算初值:8192125=8067=,1f83h,19,= 0001 1111 1000 0011b,,1f83h,tl0,th0,fch,03h,由分析得知:t1选择方式0,初值=fc03h,20,mov tmod, #00h ; t1定时,工作方式0; mov th1, #0fch mov tl1, #03h ; 装入初值; setb tr1 ; 开启定时器; setb p1.0 ; p1.0初态; loop: jbc tf1, loop1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论