帮我写一个51单片机十二金针Delay一秒的函数
时间: 2024-02-15 22:04:39 浏览: 95
以下是一个使用51单片机定时器和中断实现的延迟1秒的函数:
```
void delay_1s(){
unsigned char i,j,k;
for(i=0;i<10;i++){
for(j=0;j<200;j++){
for(k=0;k<50;k++){
TH0=0xFF; //定时器初值,1ms
TL0=0x9E; //定时器初值,1ms
TF0=0; //清除TF0标志位
TR0=1; //定时器0开始计时
while(!TF0); //等待TF0标志位计满
TR0=0; //关闭定时器0
TF0=0; //清除TF0标志位
}
}
}
}
```
以上代码使用了定时器0和中断,通过循环控制中断的次数实现延迟。在每次中断中,定时器初值设为1ms,共计满1000次中断即为1秒。请注意,以上代码仅供参考,具体的实现可能需要根据实际需求进行调整。
阅读全文