/*----------------------------------------------------------- 名稱:花樣燈Ⅱ 作者:fei yu 日期:2010-5-15 內容:花樣燈的兩種實現方法: Ⅰ:程序循環執行 Ⅱ:查表法 ------------------------------------------------------------*/ #include<reg52.h> #define uchar unsigned char uchar code seg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe, 0xff,0xff,0x00, 0,0x55,0x55,0xaa,0xaa}; /*--------------------------------------------------------------- 花樣表格,其中rom允許情況可以無限添加 --------------------------------------------------------------*/ void delay(unsigned int cnt)//簡易延時 { while(--cnt); } main() { unsigned char i; while(1) { P1=0xFE; //第一個LED亮 for(i=0;i<8;i++) { delay(10000); P1 <<=1; } P1=0x7F; //第七個LED燈亮 for(i=0;i<8;i++) { delay(10000); P1 >>=1; } P1=0xFE; //第一個LED燈亮 for(i=0;i<8;i++) { delay(10000); P1 <<=1; P1 |=0x01; } P1=0x7F; //第七個LED燈亮 for(i=0;i<8;i++) { delay(10000); P1 >>=1; P1 |=0x80; } /*下面通過查表方法獲得花樣參數*/ for(i=0;i<16;i++) //查表可以簡單的顯示各種花樣 實用性更強 { delay(20000); P1=seg[i]; } } } 注解:查表法通過循環,將已經定義好的樣式顯示出來, 也可定義循環移動閃爍,比較方便直觀。