/*----------------------------------------------------------- 名稱:花樣燈Ⅱ 作者:fei yu 日期:2010-5-15 內(nèi)容:花樣燈的兩種實(shí)現(xiàn)方法: Ⅰ:程序循環(huán)執(zhí)行 Ⅱ:查表法 ------------------------------------------------------------*/ #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允許情況可以無(wú)限添加 --------------------------------------------------------------*/ void delay(unsigned int cnt)//簡(jiǎn)易延時(shí) { while(--cnt); } main() { unsigned char i; while(1) { P1=0xFE; //第一個(gè)LED亮 for(i=0;i<8;i++) { delay(10000); P1 <<=1; } P1=0x7F; //第七個(gè)LED燈亮 for(i=0;i<8;i++) { delay(10000); P1 >>=1; } P1=0xFE; //第一個(gè)LED燈亮 for(i=0;i<8;i++) { delay(10000); P1 <<=1; P1 |=0x01; } P1=0x7F; //第七個(gè)LED燈亮 for(i=0;i<8;i++) { delay(10000); P1 >>=1; P1 |=0x80; } /*下面通過(guò)查表方法獲得花樣參數(shù)*/ for(i=0;i<16;i++) //查表可以簡(jiǎn)單的顯示各種花樣 實(shí)用性更強(qiáng) { delay(20000); P1=seg[i]; } } } 注解:查表法通過(guò)循環(huán),將已經(jīng)定義好的樣式顯示出來(lái), 也可定義循環(huán)移動(dòng)閃爍,比較方便直觀。