#include sbit P1_0 = P1^0; void Delay(); // 下面引用时一定要和这里的大小写一致否则会有警告或错误 void Main() { while (1) // 开始一直循环 { P1_0 = 0; Delay(); // 没有参数也要加 () 否则会有Warning P1_0 = 1; Delay(); } } void Delay() // 12M晶振1s延时 { unsigned char h, i, j, k; for (h = 5; h 》 0; h--) for (i = 4; i 》 0; i--) for (j = 116; j 》 0; j--) for (k = 214; k 》 0; k--); // 最后个要有 ; 号 } //=======以下非代码==========// 原理,利用h,i,j,k循环指令消耗掉一定时间来达到延时,为什么利用循环延时的做法,在12M晶振延时1秒中需要h,i,j,k四个变量,且各变量的值是上面代码中那样呢?这要从单片机的周期说起,单片机有指令周期,机器
2022-05-10 23:46:11 183KB 51单片机 1s延时 程序设计 文章
1