51單片機LED流水燈教程
0.png (38.96 KB, 下載次數: 44)
下載附件
2017-9-9 17:09 上傳
單片機源程序如下:
- /**************************************************************************************
- * LED流水燈實驗 *
- 實現現象:下載程序后LED呈現流水燈效果進行左移右移滾動
- 注意事項:無
- ***************************************************************************************/
- #include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
- #include<intrins.h> //因為要用到左右移函數,所以加入這個頭文件
- typedef unsigned int u16; //對數據類型進行聲明定義
- typedef unsigned char u8;
- #define led P0 //將P0口定義為led 后面就可以使用led代替P0口
- /*******************************************************************************
- * 函 數 名 : delay
- * 函數功能 : 延時函數,i=1時,大約延時10us
- *******************************************************************************/
- void delay(u16 i)
- {
- while(i--);
- }
- /*******************************************************************************
- * 函 數 名 : main
- * 函數功能 : 主函數
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void main()
- {
- u8 i;
- led=0x01;
- delay(50000); //大約延時450ms
- while(1)
- {
- /* for(i=0;i<8;i++)
- {
- P0=(0x01<<i); //將1右移i位,然后將結果賦值到P0口
- delay(50000); //大約延時450ms
- }
- */
-
- for(i=0;i<7;i++) //將led左移一位
- {
- led=_crol_(led,1);
- delay(50000); //大約延時450ms
- }
- for(i=0;i<7;i++) //將led右移一位
- {
- led=_cror_(led,1);
- delay(50000); //大約延時450ms
- }
- }
- }
復制代碼
所有資料51hei提供下載:
實驗3:LED流水燈.rar
(845.16 KB, 下載次數: 24)
2017-9-9 10:37 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|