⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 流水灯.c

📁 #include <reg51.h> void delay_ms(unsigned short ms) { unsigned short i unsigned char j
💻 C
字号:
#include <reg51.h> 
void delay_ms(unsigned short ms) 
{ 
unsigned short i; 
unsigned char j; 
    for(i=0;i<ms;i++) 
    { 
        for(j=0;j<200;j++); 
        for(j=0;j<102;j++); 
    } 
} 
void main(void) 
{ 
unsigned char led_contrl;                  //指示灯控制字节 
unsigned char i,j;                        //循环变量 
unsigned char contrl1,contrl2;            //指示灯移位变量 
    while(1) 
    { 
        for(j=0;j<3;j++)                  //模式一:按次序闪烁灯 
        { 
            P2=0xff;                      //熄灭所有指示灯 
            led_contrl=0x01;              //初始化指示灯控制字节 
            delay_ms(300);                //延时300MS 
            for(i=0;i<8;i++) 
            { 
                P2=~led_contrl;            //点亮控制字节相应指示灯 
                delay_ms(250); 
                if(led_contrl<0x80) led_contrl<<=1;  //控制字节移位操作 
                else led_contrl=0x01; 
            } 
        } 
        for(j=0;j<3;j++)                  //模式二:依次点亮所有指示灯 
        { 
            P2=0xff;                      //熄灭所有指示灯 
            led_contrl=0xff;              //初始化指示灯控制字节 
            contrl1=0xfe;                  //初始化移位变量1 
            delay_ms(300); 
            for(i=0;i<8;i++) 
            { 
                P2=led_contrl&contrl1;    //点亮控制字节相应的指示灯 
                delay_ms(250); 
                contrl1<<=1;              //移位变量左移1位 
            } 
        } 
        for(j=0;j<3;j++)                  //模式三:交叉闪烁指示灯 
        { 
            P2=0xff;                      //熄灭所有指示灯 
            contrl1=0x02;                  //初始化移位变量1 
            contrl2=0x80;                  //初始化移位变量2 
            delay_ms(300); 
            for(i=0;i<8;i++) 
            { 
                led_contrl=contrl1|contrl2; 
                P2=~led_contrl;            //点亮控制字节相应指示灯 
                delay_ms(250); 
                contrl1<<=1;              //移位变量1左移1位 
                contrl2>>=1;              //移位变量2右移1位 
            } 
        } 
    } 
} 
本文来自: 电子工程师之家[url]http://www.eehome.cn[/url] 记得常回家看看!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -