首页 > 其他

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

定时器使用方法?

第一步:设置特殊功能寄存器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,得到x18432。16位定时器的溢出值是65536(因为65535加1就是溢出),所以我们可以这样,先给th0和tl0一个初始值,让它们在18432个机器周期后刚好达到65536,也就是溢出。溢出后通过检测tf0就可以知道,正好是0.02秒。所以初始值y65536-1843247104,转换成十六进制,就是0xb800,也就是th00xb8,tl00x00。

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

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

#including

sbitleadsp0^0.

p1^0address

sbitaddress1

sbitaddress2p1^2

sbitaddress3p1^3

sbitenledp1^4

voidmain(){

unsignedcharcnt0//定义一个计数变量来记录t0溢出的次数。

enled0//使能u3,选择独立led。

addr31

addr21

address11

addr00

tmod0x01//将t0设置为模式1。

th00xb8//将初始值0xb800分配给t0。

tl00x00

tr01//开始t0

while(1){

if(tf01){//判断t0是否溢出。

tf00//t0溢出后,清除中断标志。

th00xb8//,并重新分配初始值。

tl00x00

计数//计数值增加1。

if(cnt)50{//判断t0是否溢出50次。

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

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

}

}

}

}

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

小型计时器怎么调时间?

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

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

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

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

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

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

定时器程序时间计时器

原文标题:定时器怎么调时间 定时器使用方法?,如若转载,请注明出处:https://www.lrccn.com/tag/20781.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「歌词网」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。