求52单片机流水灯程序

求52单片机流水灯程序,第1张

//单片机流水灯程序,是学习单片机的最简单的程序。

//流水灯

#include <REG51.h> //51头文件

#define DY_PORT P1 //设置LED连接的I/O组

#define DY_SPEED  100 //设置每一个明亮级的停留时间(竖洞值域:0~65535)

void delay (unsigned int a){ // 1ms延时程序

unsigned int i

while( --a != 0){

for(i = 0i <600i++)

}    

}

void main(void){

unsigned int i

unsigned int temp

while(1){

temp=0x01

for(i=0i<8i++){ //8个流水灯逐个闪动

DY_PORT=~temp

delay(DY_SPEED)  //调用延时函数稿蠢

temp<<=1

}

temp=0x80

for(i=0i<8i++){ //8个流水灯反向逐个闪动

DY_PORT=~temp

delay(DY_SPEED)  //调用延时函数

temp>>=1

}

temp=0xFE

for(i=0i<8i++){ //8个流水灯依次全部点亮

DY_PORT=temp

delay(DY_SPEED)  //调用延时函数

temp<<=1

}

temp=0x7F

for(i=0i<8i++){ //8个流水灯依次反向键纤陪全部点亮

DY_PORT=temp

delay(DY_SPEED)  //调用延时函数

temp>>=1

}

}

}

程序代码如下:

#include<reg51.h>

sbit K1=P1^0

sbit K2=P1^1

void delay(int a)

{

int i

while(a--)for(i=0i<120i++)

}

main()

{

unsigned char keyval=0,led=0xfe

while(1)

    {

    if(K1==0)

        {

        delay(10)

        if(K1==0)

            {

            keyval==1

            while(K1==0)

            }

        }

    if(K2==0)

        {

        delay(10)

        if(K2==0)

            {

            辩睁keyval==2

            while(K2==0)

            }

        }

    携团岁if(keyval==1)P0=0xfe

 或弊   if(keyval==2)

        {

        P0=led

        led=_crol_(led,1)

        delay(200)

        }

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8258523.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存