|
用一只按鍵控制8只LED燈循環(huán)樣式改變程序,循環(huán)樣式可以通過aa,bb,cc,dd進(jìn)行設(shè)定,該程序?qū)Τ鯇W(xué)者很有參考意義。
下載:
單鍵控制循環(huán)燈移動樣式.zip
(33.63 KB, 下載次數(shù): 19)
2016-12-17 22:44 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
部分代碼預(yù)覽:
- #include<reg51.h> //51系列單片機(jī)頭文件
- #include<intrins.h> //51系列單片機(jī)頭文件
- #define uint unsigned int //宏定義
- #define uchar unsigned char //宏定義
- sbit k1=P1^0;
- uchar aa,bb,cc,dd,y=0; //定義一個變量,用來給P1口賦值
- void delayms(uint xms) //延時子函數(shù)
- {
- uint i,j;
- for(i=xms;i>0;i--) //i=xms即延時約xms毫秒
- for(j=110;j>0;j--);
- }
- void key()
- {
- uchar x;
- if(k1==0)
- {
- delayms(50);
- if(k1==0)
- {
- while(!k1);
- x++;
- if(x==4)
- x=1;
- if(y==4)
- x=1;
- switch(x)
- {
- case 1: y=1; break;
- case 2: y=2; break;
- case 3: y=3; break;
- default: break;
- }
- }
- }
- }
- void display()
- {
- if(y==0)
- {
- P2=aa;
- delayms(500);
- aa=~aa;
- }
- if(y==1)
- {
- P2=bb;
- delayms(500);
- bb=_crol_(bb,1);
- }
- if(y==2)
- {
- P2=cc;
- delayms(500);
- cc=_cror_(cc,1);
- }
- if(y==3)
- {
- P2=dd;
- delayms(500);
- dd=~dd;
- }
- }
- void main()
- {
- aa=0xff;
- bb=0x01;
- cc=0xfe;
- dd=0xff;
- while(1)
- {
- key();
- display();
- }
- }
-
復(fù)制代碼
|
評分
-
查看全部評分
|