以下是AT89C51单片机的I/O并口输出实验中实现相邻4个LED交替闪亮的程序:

#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/c3U5 著作权归作者所有。请勿转载和采集!

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