AT89C51 单片机实验:I/O 并口输出 LED 交替闪烁
AT89C51 单片机实验:I/O 并口输出 LED 交替闪烁
本实验使用 AT89C51 单片机实现 I/O 并口输出 LED 交替闪烁,程序将相邻 4 个 LED 分为两组,每组交替闪亮,并使用延时函数实现 0.5 秒的间隔。
程序代码
#include <reg51.h> // AT89C51 特定的头文件
sbit LED1 = P1^0; // 定义 LED 引脚
sbit LED2 = P1^1;
sbit LED3 = P1^2;
sbit LED4 = P1^3;
void delay(unsigned int time) // 延时函数
{
unsigned int i, j;
for(i = time; i > 0; i--)
for(j = 125; j > 0; j--);
}
void main()
{
while(1) // 循环执行
{
LED1 = 1; // 第一组 LED 亮
LED2 = 1;
LED3 = 0; // 第二组 LED 灭
LED4 = 0;
delay(500); // 延时 0.5 秒
LED1 = 0; // 第一组 LED 灭
LED2 = 0;
LED3 = 1; // 第二组 LED 亮
LED4 = 1;
delay(500); // 延时 0.5 秒
}
}
程序说明
- 程序中使用了一个循环实现 LED 的交替闪烁,每次循环都先让第一组 LED 亮,第二组 LED 灭,然后延时 0.5 秒,再让第一组 LED 灭,第二组 LED 亮,再延时 0.5 秒,周而复始循环执行。
- 延时函数
delay使用了一个嵌套的 for 循环实现,具体的延时时间可以根据需要进行调整。
原文地址: https://www.cveoy.top/t/topic/nCg2 著作权归作者所有。请勿转载和采集!