51单片机不用定时器延时1ms
时间: 2023-07-02 08:04:44 浏览: 130
51单片机1ms延时程序
51单片机不用定时器延时1ms的方法有多种,其中一个简单的方法是使用nop指令(空操作指令)。nop指令的执行时间为一个机器周期,即12个晶振周期。因此,可以通过多次执行nop指令来实现延时。例如,在使用12MHz晶振的情况下,延时1ms可以使用以下代码:
```
void delay() {
unsigned char i, j;
for (i = 0; i < 110; i++) {
for (j = 0; j < 2; j++) {
_nop_();
}
}
}
```
其中,循环嵌套了110次,每次内部循环执行两次nop指令,总共延时了110*2*12=2640个晶振周期,即1.1ms左右。根据实际需要,可以根据晶振频率和需要延时的时间调整循环次数。
阅读全文