/*51單片機控制的花樣LED燈閃爍程序,在表格中預先存入LED燈的各種閃爍組合,然后利用查表讀出表格中的數據,并輸出到P2口,這種方法經常用于霓虹燈的控制。本程序原始出處:51Hei單片機http://www.zg4o1577.cn ,源代碼如下,如有問題請指正 */
#include < AT89X51.H>
void main(void)
{const unsigned char design[32]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,
0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,
0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x0,
0xE7,0xDB,0xBD,0x7E,0xFF}; //定義花樣數據
unsigned int a; //定義循環用的變量
unsigned char b; //因內存有限,在C51編程中要注意變量類型的使用
do{ //do while型循環
for (b=0; b<32; b++)
{for(a=0; a<30000; a++); //延時一段時間
P2 = design; //讀已經定義的花樣數據并寫花樣數據到P2口
}
} while(1);
}
void main() //主函數
{ unsigned char OutData=0xfe; //定義輸出數據與初值
for(;;) //無限循環
{
P2=OutData; //將OutData輸出到P2口,使P2口中的一個LED燈亮
OutData=_crol_(OutData,1); //使 OutData循環左移,使亮的LED燈左移一位
mDelay(100); //調用延時函數,延時100 毫秒
}}