STC8H8K64U怎么用定时器做延时呢 | 已解决
本帖最后由 未元星系 于 2024-5-26 12:42 编辑请教大佬,STC8H8K64U怎么用定时器做延时
本帖最后由 晓飛飛 于 2024-5-22 21:10 编辑
原理是这样的,做个延时函数,函数内启动定时器,配置好延迟时间,然后做个循环查询定时器溢出中断即可,
下面是随便写了一个示例,参考一下
void delay_ms (unsigned int ms) //毫秒级延时@11.0592MHz
{
AUXR |= 0x80; //定时器时钟1T模式
TMOD &= 0xF0; //设置定时器模式
TL0 = 0xCD; //设置定时初始值
TH0 = 0xD4; //设置定时初始值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
while(ms--)
{
while(!TF0) //判断溢出标记
{
_nop_();
}
TF0= 0;
}
TR0= 0;
}
晓飛飛 发表于 2024-5-22 21:04
原理是这样的,做个延时函数,函数内启动定时器,配置好延迟时间,然后做个循环查询定时器溢出中断即可,
...
感谢大佬,非常有帮助 STC-ISP 自带工具 问题已解决,谢谢各位大佬指点
页:
[1]