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 循环实现,具体的延时时间可以根据需要进行调整。
AT89C51 单片机实验:I/O 并口输出 LED 交替闪烁

原文地址: https://www.cveoy.top/t/topic/nCg2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录