登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[学习心得] 单片机定时器的学习

[复制链接]
发表于 2017-2-10 09:11:00 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 单片机
学习安排: 运用定时器编程
开始时间: 2017-02-10
结束时间: 2017-02-10
1,TMOD定时器模式寄存器M1/M0工作模式有四种,分别是0.1.2.3.由M1和M0的状态控制,工作模式0和3基本不用,
工作模式1:TH0和TL0组成一个16位的定时器,编译时TMOD等于0x01来实现,工作模式2:8位自动重装模式,定时器溢出后TH0自动重装到TL0中,TF0只管着TL0的溢出,(穿插,当TL0溢出时,TF0会自动加一)假如TH0=0x66,TL0=0x00,TR0=1(此处为打开定时器)当计数记到255时(八位寄存器溢出值)溢出,TF0等于1,溢出的TL0并不等于0x00而是等于0x66(八位自动重装系统),之后以0x66为初始值继续计数,再次溢出时,溢出的TL0等于0x66
2,定时器"存储寄存器"的值经过一个机器周期自动加一,也就是说机械周期是定时器的计时周期
    TCON,定时器控制寄存器的位描述
TF0.定时器0溢出标志,一旦定时器0发生溢出时硬件置1,清零有两种方式,软件清零,或者进入定时器中断时硬件清零。
TR0.定时器0运行控制位,软件置位/清零来进行启动/停止定时器。
TMOD中C/T位为定时器或计数器选择位,该位被清零时用作定时器功能(内部系统时钟),被置1时用作计数器功能。
3,分析模式1


  OSC时钟源也就是咱使用的11.0592MHZ的晶振,d是分频值(我们使用的单片机一个机器周期等于12个时钟周期,故d=12),TN脚指计数器功能,开关打到上面使用定时器,打到下面是计数器,以定时器为例,此时C/T位等于0,(C/T位:定时器或计数器选择位,该位被清零时用作定时器功能,被置1时用作计数器功能)控制,定时器存储寄存器的值经过一个机械周期自动加1的功能由"控制"下面的电路部分来实现,由上向下分析,让与门打开,则TR0必输出1,或门必须输出1,即或门之前必须有一个输入1,假如INT0引脚为1,则GATE位不管是零还是1,定时器便可打开,如果GATE位为1,INT0引脚必须为1,才能打开定时器,如果INT0为0,无论GATE位为0或1,定时器均可打开,(与非门功能有关),因为是工作模式1,故后面的部分便可明了。
4,  使用定时器的方法:
1,设置特殊功能寄存器TMOD,配置好工作模式。如TMOD=0x01;打开工作模式1
2,设置计时寄存器TH0和TL0的初值。
如定时0.02秒,TL0=0x00;
TH0= 0xB8;算法略,
3,设置TCON,通过TR0置1来让定时器开始计数。TR0=1;
4,判断TCON寄存器的TF0位,监测定时器溢出情况。if(TF0==0)  ……

...
 楼主| 发表于 2017-2-10 09:13:22 | 显示全部楼层
平时做的笔记,可能有重复,错误,或漏到的地方,望请大家指出纠正,谢谢
...
 楼主| 发表于 2017-2-10 09:17:35 | 显示全部楼层
看了三天定时器部分整理的!感觉这部分理解不容易,也是重点,我个人比较笨,有不足的地方,望请各路高手指点一二
...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表