标题:
用单片机定时器0编写一个可以调用的延时函数怎么写?
[打印本页]
作者:
hjx5548
时间:
2020-11-6 12:52
标题:
用单片机定时器0编写一个可以调用的延时函数怎么写?
用定时器0编写一个可以调用的延时函数怎么写?比如1s的延时函数,要用的时候输入参数延时10s。
作者:
权威人物
时间:
2020-11-6 16:34
定义一个全局变量,在定时器计数,比如定时器10ms计数一次,那么1S的话则计数100次,那么延时函数while(1){判断计数变量是否大于等于100,是的话break跳出死循环;}
作者:
robinsonlin
时间:
2020-11-6 18:36
unsigned long SysTick;
void Timer0Init(void) //1毫秒@18.432MHz
{
AUXR |= 0x80; //定时器时钟1T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0x00; //设置定时初值
TH0 = 0xB8; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
}
timer0() interrupt 1
{
SysTick++;
}
void Delay(unsigned long var)
{
unsigned long i;
i = SysTick;
while(SysTick-i < var)
{
;
}
}
作者:
xqleft
时间:
2020-11-7 13:55
你都知道用定时器了还为什么要用延时?
作者:
hjx5548
时间:
2020-11-7 21:35
robinsonlin 发表于 2020-11-6 18:36
unsigned long SysTick;
void Timer0Init(void) //1毫秒@18.432MHz
谢谢楼主
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1