流水灯.c

来自「#include <reg51.h> void delay_ms」· C语言 代码 · 共 62 行

C
62
字号
#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 + =
减小字号Ctrl + -
显示快捷键?