2016 - 2024

感恩一路有你

定时器怎么调时间 定时器使用方法?

浏览量:4197 时间:2023-06-19 18:05:05 作者:采采

定时器使用方法?

第一步:设置特殊功能寄存器TMOD,配置工作模式。

步骤2:设置计数寄存器TH0和TL0的初始值。

步骤3:设置TCON,并通过将TR0设置为1让计时器开始计数。

步骤4:判断TCON寄存器的TF0位,监控定时器溢出。

在写程序之前,我们应该学习如何用计时器计算时间。我们的晶振是11.0592M,时钟周期是1/11059200,机器周期是12/11059200。如果要计时20毫秒,则为0.02秒..得到0.02秒需要x个机器周期。让 s计算x*12/110592000.02,得到x 18432。16位定时器的溢出值是65536(因为65535加1就是溢出),所以我们可以这样,先给TH0和TL0一个初始值,让它们在18432个机器周期后刚好达到65536,也就是溢出。溢出后通过检测TF0就可以知道,正好是0.02秒。所以初始值y 65536-18432 47104,转换成十六进制,就是0xB800,也就是TH0 0xB8,TL0 0x00。

这样,我们做出了0.02秒的计时。细心的同学会发现,如果直接给初始值一个0x0000的值,直到65536溢出,最大定时器计时值大概是71ms,那么如果想计时更长的时间,应该怎么做呢?从你的小学开始学。过多的逻辑和多重关系可以解决这个问题。

好吧,让我们 让我们用程序来实现这个功能。

# Including

Sbit leads P0^0.

P1^0 address

Sbit address 1

Sbit address 2 P1^2

Sbit address 3 P1^3

sbit ENLED P1^4

void main(){

Unsigned char cnt 0 //定义一个计数变量来记录t 0溢出的次数。

ENLED 0 //使能U3,选择独立LED。

ADDR3 1

ADDR2 1

Address 1 1

ADDR0 0

TMOD 0x01 //将T0设置为模式1。

TH0 0xB8 //将初始值0xB800分配给T0。

TL0 0x00

TR0 1 //开始T0

while (1){

If (TF0 1){ //判断T0是否溢出。

TF0 0 //T0溢出后,清除中断标志。

TH0 0xB8 //,并重新分配初始值。

TL0 0x00

计数//计数值增加1。

if(CNT)50 {//判断T0是否溢出50次。

cnt 0 //达到50次后,计数值清零。

LED ~LED //LED取反:0 - 》1、1 - 》0

}

}

}

}

笔记写在程序里。分析前面几章的内容就不难理解了。这个程序的结果是开发板最右边的灯亮一秒,灭一秒,也就是以0.5Hz的频率闪烁。

小型计时器怎么调时间?

●打开时钟APP,点击右下角【计时器】,进入计时器界面;

●上下滑动时间选项选择计时时间。

设置好定时器后,点击右下角的【铃声】。

选择提醒铃,然后返回定时器界面。

点击底部的[开始]按钮进入定时器。

点击左下角的【刷新】按钮,重置计时。

定时器 程序 时间 计时器

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。