/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *和
//【类型】流水灯的各种使用方法/
//【现象】流水灯以各种方式闪耀*
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *和
#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; //延迟子程序调用
}
/*流水灯从右边