首页 > 编程知识 正文

单片机花样流水灯程序,51单片机led花样流水灯

时间:2023-05-05 04:44:23 阅读:109480 作者:1245

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *和

//【类型】流水灯的各种使用方法/

//【现象】流水灯以各种方式闪耀*

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *和

#include //52单片机的头文件一般不要更改。 包含特殊功能寄存器的指定

正义

#将defineucharunsignedchar//unsigned char定义为uchar,以简化写入。 提高编程速度

通过将# defineuintunsignedint//unsigned char定义为uint,简化了负写。 提高编程速度

uchar code table[]={0xfe,0xfd,0xfb,0xf 7,0x ef,0xdf,0xbf,0x7f};//定义8个灯的操作状态。

/*延迟子程序*

语音延迟(uint time ) )。

{

while(--time; 如果time的值不为0,则执行空语句。 time为0时,跳出while语

句子。

}

/*主程序*

void main () )

{

uchar i; //定义无符号字符变量。

创建一个死循环,使while(1)//程序始终在while下的大括号中工作。

{

/*流水灯从左向右快速流动*

for(I=0; i8; //for语句判定栏,i8成立时,执行大括号内的程序

{

P2=table[i]; //P2端口的值,8个灯的状态

延迟(10000; //延迟子程序调用

}

/*流水灯从右向左快速流动*

for(I=7; i0; 用I----//for语句判断条,i0成立时,执行大括号内的程序

{

P2=table[i]; //P2端口的值,8个灯的状态

延迟(10000; //延迟子程序调用

}

/*流水灯间隔闪耀*

for(I=10; i0; I----)

{

P2=0x55;

延迟(10000; //延迟子程序调用

P2=0xaa;

延迟(10000; //延迟子程序调用

}

/*流水灯从左向右闪烁*

for(I=0; i8; //for语句判定条

{

P2=table[i]; //P2端口的值,8个灯的状态

延迟(10000; //延迟子程序调用

P2=0xff;

延迟(10000; //延迟子程序调用

P2=table[i]; //P2端口的值,8个灯的状态

延迟(10000; //延迟子程序调用

}

/*流水灯从右边

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。