51单片机.定时器

4种工作模式:13位定时/计数模式,16位定时/计数模式,8位自动重装模式,两个8位计数器模式,通过TMOD寄存器中的M0和M1位来控制,一般使用16位

16位计数模式

下面的GATE用来是否让INT0和1控制定时器,用于测量脉宽,一般设为0,此时或门输出1,TR0就可以控制定时器工作与否,如果置1,或门的输出就由INT0控制,此时,只有当INT0与TR0同时置1才能让定时器工作。

上面的12T和6T由烧录软件控制,12T表示晶振震荡12次计数加1,6T表示6次加1.

当C/T=0时,多路开关连接到系统时钟的分频输出,T0对时钟周期计数,T0工作在定时方 式.当C/T=1时,多路开关连接到外部脉冲输入P3.4/T0,即T0工作在计数方式.

比如:我们要用定时器0计时1ms,一般我们设置在12T,12M÷12=1M,1÷1M=1x10^-6s,它是加一次需要的时间,1ms就需要加一千次,16位的计数器计数峰值在2^16=65536-1=65535,我们把计数初值设置在64535,再把64535的高八位放在TH0,低八位放在TL0即可,

定时器的模式寄存器TMOD

很清晰明了,高四位控制定时器1,低四位控制定时器1。GATE门控位:不希望由INT0控制定时器就置0。C/T清零是定时模式,置1是计数模式。

定时器控制寄存器

与定时器有关的只有高四位,

TF是标志位,计数溢出就由硬件置1,cpu响应中断时清零,也可以由软件清零

TR时运行状态控制:置1定时器开始工作,清零停止

一般定时器的软件编写步骤

  1. 在烧写软件确定定时时长

  1. 上面其实已经将TMOD寄存器设置好了,它先将低四位清零,再将最低位置1,因为它不可位寻址。TCON寄存器也设置好了,我们只需要将定时器的中断优先级设置好,再将中断总开关打开即可。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值