#include<reg52.h> //51单片机头文件

#define LED P1 //定义LED灯接口为P1口

void delay(unsigned int x) //定义延时函数 { unsigned int i,j; for(i=0;i<x;i++) //外层循环 for(j=0;j<100;j++); //内层循环 }

void main() //主函数 { unsigned char flag=0; //定义标志位为0 unsigned char i;

while(1) //进入循环
{
    if(flag ==0) //如果标志位为0
    {
        for(i=0;i<8;i++) //LED灯从第0个灯亮到第7个灯,循环8次
        {
            LED=~(1<<i); //通过位运算将P1口对应的LED灯点亮
            delay(500); //延时500ms
        }
    }
    else //如果标志位不为0
    {
        for(i=7;i>=0;i--) //LED灯从第7个灯亮到第0个灯,循环8次
        {
            LED=~(1<<i); //通过位运算将P1口对应的LED灯点亮
            delay(500); //延时500ms
        }
    }
}

}

void key_interrupt() interrupt 1 //当INT0发生中断时,进入中断函数 { static unsigned char flag =0; //定义静态变量flag并初始化为0 flag=!flag; //将flag取反


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

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