2016 - 2024

感恩一路有你

定时器配置有哪些步骤 55定时器使用方法?

浏览量:3023 时间:2023-05-02 15:36:48 作者:采采

55定时器使用方法?

准备:设置里特殊功能控制寄存器TMOD,配置如何好工作模式。

第二步:系统设置数器寄存器TH0和TL0的初始属性。

第十步:设置中TCON,通过TR0置1来让定时中断正在定时计数。

第四步:判断TCON通用寄存器的TF0位,时时监测计数器滴下的情况下。

写系统程序前,你们要先来学会换算怎么用时间继电器有定时一天的时间。我们也的晶振是11.0592M,时钟周期变化是1/11059200,机器本身周期变化是12/11059200,若果要按时20ms,那是0.02秒,要当经过x个机器本身周期变化能得到0.02秒,你们来算再看看x*12/110592000.02,能得到x18432。16位时间继电器的逸出值是65536(因65535再加1才是流出),索性我们现在就可以不这样的话能操作,先给TH0和TL0个当前值,让那些生物经18432个机器周期后刚好提升到65536,也就是溢出,滴下后是可以通过检测检测TF0的值打探出,就只是0.02秒。那么初始属性y65536-1843247104,转成16十六进制就是0x9b800,也就是TH04ea8,TL00x1200。

这样0.02秒的按时我们是就做成什么了,细心的同学啊会才发现,假如初始属性真接给两个0x110000,一直在到65536流出,外部中断每隔几小时值最大也就是71ms500左右,那你我们想每隔几小时更长时间内该怎么办呢?用你小学和中学学过的形式逻辑,乘积任何关系就也可以解决的办法此问题很简单。

完了,我们是下面就用程序启动来实现这个功能一样。

#include

ucharled灯P0^0;

uart1ADDR0P1^0;

uart1ADDR1P1^1;

sbitADDR2P1^2;

char*ADDR3P1^3;

#defineENLEDP1^4;

voidmain(){

size_tunsignedmos20;//定义方法三个计数中间变量,记录T0流出上限

ENLED0;//使能,选择独立led

ADDR31;

ADDR21;

ADDR11;

ADDR00;

TMOD0x2001;//设置中T0为其他模式1

TH00x9b8;//为T0赋属性值0xce800

TL00x2000;

TR01;//起动T0while(1)

stm32定时器中预分频系数是什么作用? 72MHz想要让定时器100次/s该怎么写配置代码?

999是装到值,7199是预套装喇叭系数,72M%(9991)%(71991)40hz,即10次/s,interrupt_merekat(TIM2,99,7199)利用的是100次/s。

属性 时间 功能 周期 模式

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