|
51單片機控制的花樣流水燈實驗,有仿真有代碼,分享給51黑電子論壇的朋友們.
單片機LED花樣變化原理圖(proteus工程文件可到本帖附件下載):
單片機源程序:
- //-------------------------------------------------------------------------------------------------------------------------------
- // 程序名: JSC5-2.c
- // 程序功能:P1輸出,LED進行花樣變化
- //------------------------------------------------------------------------------------------------------------------------------
- #include <reg51.h> // 頭文件
- //----------------------------------------------------------
- // 聲明無符號字符數組TABLE
- //----------------------------------------------------------
- unsigned char code TABLE[ ]={
- 0xff,0xe7,0xc3,0x81,0x00, // 從中間向兩側點亮控制碼
- 0xff,0x7e,0x3c,0x18,0x00, // 從兩側向中間點亮控制碼
- 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, // 左移控制碼
- 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe, // 右移控制碼
- 0x00,0xff,0x00,0xff, // 閃爍控制碼
- 0x01 // 結束碼
- };
- //------------------------------------------- 延時函數---------------------------------------------
-
- DELAY( ) // 延時函數
- {
- unsigned int s; // 聲明s為無符號整型變量
- for(s=0;s<30000;s++); // for循環延時語句
- }
- //--------------------------------------------- 主函數 --------------------------------------------
- main( ) // 主函數
- {
- unsigned char i; // 聲明無符號字符型變量i
- while(1) // 無限循環
- {
- if ( TABLE[i]!=0x01 ) // 取碼不等于0x01時,執行if{ }內的語句
- {
- P1=TABLE[i]; // 輸出
- i++; // 遞加(加1)
- DELAY( ); // 調用延時函數DELAY( )
- }
-
- else // 取碼等于0x01時,執行"i=0"語句
- {
- i=0; // 重新開始循環
- }
- } // while(1)循環體結束
- } // 主函數結束
- //-----------------------------------------------------------------------------------------------------------------
復制代碼
該系列源碼包含有很多非常經典,代碼風格十分規范,而且注釋詳細的單片機例程,還帶仿真,對于MCU學習特別是初學者是很有幫助的,全部源碼下載(共25個項目):http://www.zg4o1577.cn/bbs/dpj-79328-1.html
本例程下載(含proteus仿真工程文件與源碼):
5-2單片機控制LED進行花樣變化實驗.rar
(52.4 KB, 下載次數: 9)
2017-3-29 21:44 上傳
點擊文件名下載附件
|
|