注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

始めの一歩

不是世界变得无聊了,而是你变成了无聊的人……

 
 
 

日志

 
 

【51】单片机常用功能模块的使用 Part4. 定时器  

2012-03-17 11:55:45|  分类: Fateの51单片机の |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

51 单片机编程经常要求对时间进行某种操作,比如数码管的动态扫描显示、延时等等……对于定时或延时,一般有三种方法实现:

①、软件定时:如常用的延时程序 Delay(),在定时过程中,CPU 循环测试延时变量是否满足条件,此时 CPU 利用率低下;

②、硬件定时:如外部芯片555 时基电路,通过外部阻容,达到一定的延时功能,改变阻容大小可以改变延时长度,这种定时器取决于硬件,设定好以后不能通过软件更改;

③、定时器:利用单片机内部定时器,实现对时间的操作。

 

1、定时器功能:

(1)、定时:产生一个标准的时间间隔:如 20 ms,100 ms 等,单片机使用这种方式可以产生一个符合某一要求的脉冲方波;

(2)、计数:对外部的事件(脉冲)进行统计,很明显外部事件的发生是随机的,单片机不可能预知外部事件何时发生,但可以进行统计,当达到所要求的数值时,单片机进行相应的操作。

 

2、四种工作模式:

模式 0:13 位计数器模式

【51】技巧 2 -- 单片机常用功能模块的使用 Part4. 定时器 - 灼眼のFate - 螺旋の终末

在某一个初值的基础上加 1 计数,当计数器计满为全“1”,再来一个计数脉冲时,就产生一个“溢出中断信号”TF1=1。
注:由于低 8 位计数器中的高三位没有参与工作,故填装初值时应“避开”此三位。

 

模式 1:16 位定时/计数模式

【51】技巧 2 -- 单片机常用功能模块的使用 Part4. 定时器 - 灼眼のFate - 螺旋の终末

类同于模式 0,由于两个计数器为完整的 8 位,故将计算好的 16 位初值可直接填装到 TH、TL 中。

 

模式 2:8 位自动重装初值模式

【51】技巧 2 -- 单片机常用功能模块的使用 Part4. 定时器 - 灼眼のFate - 螺旋の终末

TL 做计数器,TH 做初值寄存器,工作前 TL1,TH1 分别预置相同的初值,TL1 计数时,产生溢出的同时,将 TH1 中的初值自动重装 TL1,TL1 继续计数。

 

模式 3:组合扩展模式(仅适用于 T0)

【51】技巧 2 -- 单片机常用功能模块的使用 Part4. 定时器 - 灼眼のFate - 螺旋の终末

将 T0 和 T1 重新进行“拆分、组合”,将 T0 变为由 TH0,TL0 组成的两个独立的 8 位定时/计数器。

 

补充:四种模式比较:

【51】技巧 2 -- 单片机常用功能模块的使用 Part4. 定时器 - 灼眼のFate - 螺旋の终末

 

3、定时器参数:

(1)、定时器的个数:网上见到的 51 单片机教程都说定时器有 2 个:定时器 0 和定时器 1,实际上有的单片机有 3 个定时器,如博主买的开发板上的单片机:STC89C54RD+,因此,编程时注意看好有几个定时器……

 

(2)、TL,TH:初值寄存器,分别是低 8 位,高 8 位,后边加上一个数字 0 或 1,代表定时器 0 或定时器 1

 

(3)、TMOD:模式控制寄存器,属于 SFR 特殊功能寄存器,地址:89H,决定定时/计数器的四种工作模式,8 位

【51】技巧 2 -- 单片机常用功能模块的使用 Part4. 定时器 - 灼眼のFate - 螺旋の终末

GATE 选通门:GATE=0 时,只要 TR=1,计数器就开始工作

       GATE=1 时,只有 INT=TR=1 时,计数器工作(用来测量 INT 脚高电平脉冲的宽度)

C/T:计数器输入脉冲选择开关,决定着计数器的“定时”或“计数”的两种工作方式

   C/T=0:定时方式:计数器接收内部时钟信号 fosc

   C/T=1:计数方式:计数器接收引脚上的外部信号

M1、M0 模式选择:确定 4 种工作模式

 

(4)、TCON:控制寄存器,属于 SFR 特殊功能寄存器,地址:88H,8 位

【51】技巧 2 -- 单片机常用功能模块的使用 Part4. 定时器 - 灼眼のFate - 螺旋の终末

TF:定时器溢出标志,计数器溢出时硬件自动置位,即 TF=1,进入中断后再由硬件自动清除(TF=0)

TR:计数器的控制位

   TR=1:计数器开始工作

   TR=0:计数器停止计数

IE:外部中断 INT 的请求标志

    当单片机检测到 INT 引脚上有下降沿时,IE=1 申请中断,进入中断服务程序时,硬件自动清除 IE 标志

IT:外中断触发类型控制

    IT=1 时,外中断信号的下降沿触发 IE 标志

    IT=0 时,外中断信号的低电平触发 IE 标志

 

(5)、作为“定时器”使用时,“定时”与“初值”的关系如下:

   T = ( M - TC ) × t

其中:T:定时时间

   M:计数器的模

   TC:计数初值

   t:计数器计数脉冲的周期(t = fosc / 12)

注:具体计算实例,参见前面“四种模式比较”中的第二张图……

 

4、定时器的编程使用:

试着加入数码管,独立按键,编写电子时钟程序:

http://gaebolg.blog.163.com/blog/static/198269068201222011429515/

  评论这张
 
阅读(200)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018