找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3479|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

單鍵控制LED燈循環(huán)樣式程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:149988 發(fā)表于 2016-12-17 22:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用一只按鍵控制8只LED燈循環(huán)樣式改變程序,循環(huán)樣式可以通過aa,bb,cc,dd進(jìn)行設(shè)定,該程序?qū)Τ鯇W(xué)者很有參考意義。

下載:
單鍵控制循環(huán)燈移動樣式.zip (33.63 KB, 下載次數(shù): 19)

部分代碼預(yù)覽:
  1. #include<reg51.h>             //51系列單片機(jī)頭文件
  2. #include<intrins.h>           //51系列單片機(jī)頭文件
  3. #define uint unsigned int     //宏定義
  4. #define uchar unsigned char   //宏定義
  5. sbit k1=P1^0;
  6. uchar aa,bb,cc,dd,y=0;                     //定義一個變量,用來給P1口賦值
  7. void delayms(uint xms)        //延時子函數(shù)
  8. {
  9.   uint i,j;
  10.   for(i=xms;i>0;i--)      //i=xms即延時約xms毫秒
  11.   for(j=110;j>0;j--);      
  12. }
  13. void key()
  14. {
  15.   uchar x;
  16.   if(k1==0)
  17.   {
  18.     delayms(50);
  19.     if(k1==0)
  20.     {
  21.       while(!k1);
  22.       x++;
  23.       if(x==4)
  24.       x=1;
  25.       if(y==4)
  26.       x=1;
  27.       switch(x)
  28.       {
  29.         case 1: y=1; break;
  30.         case 2: y=2; break;
  31.         case 3: y=3; break;
  32.         default: break;  
  33.       }
  34.     }
  35.   }
  36. }
  37. void display()
  38. {   
  39.     if(y==0)
  40.     {      
  41.       P2=aa;           
  42.       delayms(500);                  
  43.       aa=~aa;           
  44.     }
  45.     if(y==1)
  46.     {      
  47.       P2=bb;            
  48.       delayms(500);                     
  49.       bb=_crol_(bb,1);         
  50.     }
  51.     if(y==2)
  52.     {
  53.       P2=cc;            
  54.       delayms(500);                     
  55.       cc=_cror_(cc,1);
  56.     }      
  57.     if(y==3)
  58.     {
  59.       P2=dd;           
  60.       delayms(500);                     
  61.       dd=~dd;     
  62.     }
  63.   }
  64. void main()            
  65. {
  66.   aa=0xff;            
  67.   bb=0x01;
  68.   cc=0xfe;
  69.   dd=0xff;  
  70.   while(1)            
  71.   {  
  72.     key();
  73.     display();
  74.   }
  75. }

復(fù)制代碼


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:112693 發(fā)表于 2016-12-17 23:42 | 只看該作者
沙發(fā),好東西,學(xué)習(xí)一下
回復(fù)

使用道具 舉報

板凳
ID:155648 發(fā)表于 2016-12-18 17:28 | 只看該作者
很好效果很不錯 好東西 正在揣摩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表