單片機并口簡單應用(流水燈) 如圖1所示,流水燈硬件電路由發(fā)光二極管、單片機并口(P0)、限流電阻等組成。發(fā)光二極管連接成共陽極結(jié)構(gòu)。發(fā)光二極管點亮的條件是:陽極接高電平、各陰極接低電平。因此,二極管公共端陽極就接成高電平,然后再按一定規(guī)則從P0口輸出數(shù)據(jù),發(fā)光二極管就會點亮。 
圖1 流水燈電路圖
2、程序流程圖如下。 1、開發(fā)板接線圖 
編寫程序
編寫程序
實 驗 名: 流水燈實驗
實驗說明 : 延時實現(xiàn)LED流水燈效果P0口八個燈作跑馬燈。
//--包含你要使用的頭文件
- #include <reg52.h> //此文件中定義了52的一些特殊功能寄存器
- #include <intrins.h>
-
- //--聲明全局函數(shù)--//
- void Delay10ms(unsigned int c); //延時10ms
-
- /******************************************************************************
- * 函 數(shù) 名 : main
- * 函數(shù)功能 : 主函數(shù)
- * 輸 入 : 無
- * 輸 出 : 無
- ******************************************************************************/
-
- void main()
- {
- unsigned char LED;
- LED = 0xfe; //0xfe = 1111 1110
- while (1)
- {
- P0 = LED;
- Delay10ms(50);
- LED = LED << 1; //循環(huán)右移1位,點亮下一個LED "<<"為左移位
- if (P0 == 0x00) //當它全滅的時候,重新賦值
- {
- LED = 0xfe; // 0xfe = 1111 1110
- }
-
- }
- }
- /******************************************************************************
- * 函 數(shù) 名 : Delay10ms
- * 函數(shù)功能 : 延時函數(shù),延時10ms
- * 輸 入 : 無
- * 輸 出 : 無
- ******************************************************************************/
-
- void Delay10ms(unsigned int c) //誤差 0us
- {
- unsigned char a, b;
- //--c已經(jīng)在傳遞過來的時候已經(jīng)賦值了,所以在for語句第一句就不用賦值了--//
- for (;c>0;c--)
- {
- for (b=38;b>0;b--)
- {
- for (a=130;a>0;a--);
- }
-
- }
- }
復制代碼
完整的Word格式文檔51黑下載地址:
1單片機并口簡單應用(流水燈).docx
(434.04 KB, 下載次數(shù): 8)
2018-5-28 19:20 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|