流水燈,初學之系列。
單片機源程序如下:
- /*--------------------------------------------------
- 文件名稱:led.c
- 功能:利用LED實現跑馬燈效果
- 說明:8個led燈自上而下循環,通過按鍵改變方向、速度。
- ---------------------------------------------------*/
- #include<reg52.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- unsigned char L[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- sbit key1=P1^0;
- sbit key2=P1^1;
- sbit key3=P1^2;
- uint dir=0,n=2500;
- void delay(uint z)//延時函數
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=100;y>0;y--);
- }
-
- void speedminus()//減速函數
- {
- if(n==5000) n=5000;//最慢4s
- else n=n+625;
- }
-
- void speedplus(){//加速函數
- if(n==625) n=625;//最快0.5s
- else n=n-625;
- }
-
- void main()//主函數
- {
- uint i=0;
-
- while(1){
- for(;i<8;){
- P0=L[i];
- delay(n);
- if(key1==0) dir=1-dir;//反向循環
- if(key2==0) speedminus();//按一次按鍵,延時時間變長
- if(key3==0) speedplus();//按一次按鍵,延時時間變短
- if(dir==0)
- {
- i++;
- if(i==8)//實現循環效果
- i=0;
- break;
- }
- else
- {
- i--;
- if(i>8)
- i=7;
- break;
- }
- }
- }
- }
復制代碼
所有資料51hei提供下載:
新建 Microsoft Word 文檔.docx
(13.13 KB, 下載次數: 19)
2018-3-29 10:17 上傳
點擊文件名下載附件
流水燈 下載積分: 黑幣 -5
|