1、 0位闪烁 show()流程图:单只低位向高位移动show1()流程图:单只高位向低位移动show2()流程图:单只来回移动show3()流程图:程序清单:#include#define uchar unsigned char#define uint unsigned int/*/* 延时Xms子函数*void delay (uint x) uint i,j; for(i=x;i0;i-) for(j=121;j j-) ;/*show0()单只闪烁* void show0() P2=0xfe; /送一个亮的控制信号字 delay(100); /延时 P2=0xff; /送一个灭的控制信号字
2、/延时 /*show1(); /单只左移*void show0() uchar i , y ; /定义变量 i、 y 的类型,也就是能表达的最大数 y=0x01 ; /设初始信号控制字 for(i=0;i8;i+) /重复执行8遍中的语句 P2=y; /送一个控制信号字 y=y/*show3()单只来回跑* void show3() /设左移初始信号控制字 /左移完 y=0x40 ; /设右移初始信号控制字6; /右移完 /* 主函数 main *void main( ) uchar y; /说明y可以最大表示11111111B(255) while(1) y=P0; switch (y) case 0xfe: show0(); /单只闪烁 break; case 0xfd: show1(); /单只左移 case 0xfb: show2(); /单只右移 case 0xf7: show3(); /单只来回跑 default: