logo资料库

流水灯源程序.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
C51流水灯多样显示程序
C51 流水灯多样显示程序 流水, 多样, 程序 功能说明: 1、单个 LED 流水灯从左到右 2、单个 LED 流水灯从右到左 3、从左边一个个点亮 8 个 LED 4、从右边一个个点亮 8 个 LED 5、所有的 LED 开关 8 次 6、左右闪烁 8 次 7、8 个流水灯两边向中间依次点亮 8 次 8、8 个流水灯中间向两边依次点亮 8 次 测试环境:在 ME300B 开发板上测试通过 *************************************************************/ #include //51 系列单片机定义文件 #define uchar unsigned char //定义无符号字符 #define uint unsigned int //定义无符号整数 void delay(uint); void main(void); //声明延时函数 //声明主函数 /*********************************************************** 主程序 /***********************************************************/ void main(void) { uint i; uchar temp; while(1) { /*********************************************************** 8 个流水灯逐个闪动 /***********************************************************/ temp=0x01; for(i=0;i<8;i++) { P0=~temp;
delay(100); temp<<=1; } /*********************************************************** 8 个流水灯反向逐个闪动 /***********************************************************/ temp=0x80; for(i=0;i<8;i++) { } P0=~temp; delay(100); temp>>=1; /*********************************************************** 8 个流水灯依次全部点亮 /***********************************************************/ temp=0xFE; for(i=0;i<8;i++) { } P0=temp; delay(100); temp<<=1; /*********************************************************** 8 个流水灯依次全部熄灭 /***********************************************************/ temp=0xFE; for(i=0;i<8;i++) { } P0=~temp; delay(100); temp<<=1; /*********************************************************** 8 个流水灯依次反向全部点亮 /***********************************************************/
temp=0x7F; for(i=0;i<8;i++) { } P0=temp; delay(100); temp>>=1; /*********************************************************** 8 个流水灯依次反向全部熄灭 /***********************************************************/ temp=0x7F; for(i=0;i<8;i++) { } P0=~temp; delay(100); temp>>=1; /*********************************************************** 8 个流水灯全部点亮关闭 8 次 /***********************************************************/ temp=0xfF; for(i=0;i<8;i++) { } P0=temp; delay(100); P0=~temp; delay(100); /*********************************************************** 8 个流水灯左右晃动 8 次 /***********************************************************/ temp=0xAA; for(i=0;i<8;i++) { P0=temp; delay(100);
P0=~temp; delay(100); } /*********************************************************** 8 个流水灯两边向中间点亮 8 次 /***********************************************************/ P0=0XFF; delay(200); for(i=0;i<8;i++) { } P0=0x7e; delay(100); P0=0xbd; delay(100); P0=0xdb; delay(100); P0=0xe7; delay(100); /*********************************************************** 8 个流水灯中间向两边点亮 8 次 /***********************************************************/ P0=0XFF; delay(200); for(i=0;i<8;i++) { } P0=0xe7; delay(100); P0=0xdb; delay(100); P0=0xbd; delay(100); P0=0x7e; delay(100); }
} /*********************************************************** 延时程序 /***********************************************************/ void delay(uint t) //定义延时函数 { register uint bt; for(;t;t--) for(bt=0;bt<255;bt++); }
分享到:
收藏