1.單霹靂燈,使用次數控制燈號。
/*單向霹靂燈*/ #include<reg51.h> void delay(int ); main() { int i; P1=0xfe; while(1) { for(i=0;i<7;i++) { delay(100); P1=(P1<<1)|0x01; } for(i=0;i<7;i++) { delay(100); P1=(P1>>1)|0x80; } } } void delay(int x) { int i,j; for(i=0;i<x;i++) for(j=0;j<600;j++); }
2.單霹靂燈,使用判斷控制燈號。
/*單向霹靂燈*/ #include<reg51.h> void delay(int ); main() { int i; P1=0xfe; while(1) { while(P1!=0x7f) { delay(100); P1=(P1<<1)|0x01; } while(P1!=0xfe) { delay(100); P1=(P1>>1)|0x80; } } } void delay(int x) { int i,j; for(i=0;i<x;i++) for(j=0;j<600;j++); }
3.雙向霹靂燈,使用陣列。
/*雙向霹靂燈*/ #include<reg51.h> void delay(int ); main() { char code led[]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd}; int i; P1=0x7e; while(1) { for(i=0;i<6;i++) { P1=led[i]; delay(100); } } } void delay(int x) { int i,j; for(i=0;i<x;i++) for(j=0;j<600;j++); }
文章標籤
全站熱搜