89C51 单片机 P0 口点灯程序 - 闪烁效果实现
#include<reg51.h>
void delay(unsigned int); //延时函数
void main() { P0 = 0x00; //初始化P0口为低电平
while(1) //循环执行
{
P0 = 0xFF; //点亮所有LED灯
delay(500); //延时500毫秒
P0 = 0x00; //熄灭所有LED灯
delay(500); //延时500毫秒
}
}
void delay(unsigned int ms) { unsigned int i, j;
for(i=0; i<ms; i++)
{
for(j=0; j<114; j++);
}
}
该程序通过对 P0 口的控制,实现 LED 灯的点亮和熄灭。在主函数中,先将 P0 口初始化为低电平,然后进入一个无限循环中。循环中先将 P0 口输出全高电平,点亮所有 LED 灯,然后延时 500 毫秒。接着将 P0 口输出全低电平,熄灭所有 LED 灯,再延时 500 毫秒。这样循环执行,就可以实现 LED 灯的闪烁效果。
延时函数使用了一个双重循环实现,每次循环大约会延时 1 毫秒。通过多次循环,就可以实现较长的延时。
原文地址: https://www.cveoy.top/t/topic/nk8V 著作权归作者所有。请勿转载和采集!