單片機源程序如下:
- /**************************************************************************************
- * LED流水燈實驗 *
- 實現現象:下載程序后LED呈現流水燈效果進行左移右移滾動
- 注意事項:無
- ***************************************************************************************/
- #include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
- #include<intrins.h> //因為要用到左右移函數,所以加入這個頭文件
- typedef unsigned int u16; //對數據類型進行聲明定義
- typedef unsigned char u8;
- #define led P2 //將P2口定義為led 后面就可以使用led代替P2口
- /*******************************************************************************
- * 函 數 名 : delay
- * 函數功能 : 延時函數,i=1時,大約延時10us
- *******************************************************************************/
- void delay(u16 i)
- {
- while(i--);
- }
- /*******************************************************************************
- * 函 數 名 : main
- * 函數功能 : 主函數
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void main()
- {
- u8 i;
- led=0xfe;
- delay(50000); //大約延時450ms
- while(1)
- {
- /* for(i=0;i<8;i++)
- {
- P2=~(0x01<<i); //將1右移i位,然后將結果取反賦值到P2口
- 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
(24.56 KB, 下載次數: 3)
2019-1-8 00:48 上傳
點擊文件名下載附件
|