您的位置 首页 汽车

单片机常用功能模块的运用 Part4. 定时器

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

51 单片机编程常常要求对时刻进行某种操作,比方数码管的动态扫描显现、延时等等……关于守时或延时,一般有三种办法完成:

①、软件守时:如常用的延时程序 Delay(),在守时过程中,CPU 循环测验延时变量是否满意条件,此刻 CPU 运用率低下;

②、硬件守时:如外部芯片555 时基电路,经过外部阻容,到达必定的延时功用,改动阻容巨细能够改动延时长度,这种守时器取决于硬件,设定好今后不能经过软件更改;

③、守时器:运用单片机内部守时器,完成对时刻的操作。

1、守时器功用:

(1)、守时:发生一个规范的时刻距离:如 20 ms,100 ms 等,单片机运用这种方法能够发生一个契合某一要求的脉冲方波;

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

2、四种作业形式:

形式 0:13 位计数器形式

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

形式 1:16 位守时/计数模

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

形式 2:8 位主动重装初值形式

TL 做计数器,TH 做初值寄存器,作业前 TL1,TH1 别离预置相同的初值,TL1 计数时,发生溢出的一起,将 TH1 中的初值主动重装 TL1,TL1 持续计数。

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

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

弥补:四种形式比较:

3、守时器参数:

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

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

(3)、TMOD:形式操控寄存器,归于 SFR 特别功用寄存器,地址:89H,决议守时/计数器的四种作业形式,8 位

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 位

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)

注:详细核算实例,拜见前面“四种形式比较”中的第二张图……

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/268119.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部