找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

按鍵控制彩燈亮燈方式簡易小程序+電路圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
按鍵控制彩燈的仿真電路圖:




單片機(jī)源程序:
  1. /**********************劉金森 1440302103 電子信息工程*********************/
  2. #include<reg51.h>                      //51單片機(jī)頭文件
  3. #include<intrins.h>                       //包含crol(循環(huán)左移)函數(shù)所在的頭文件
  4. #define uint unsigned int      
  5. void delay(int z);                   //聲明子函數(shù)
  6. unsigned char temp;                 //定義一個(gè)變量,用來給P1口賦值
  7. int i,j;
  8. sbit Key0=P0^0;
  9. sbit Key1=P0^1;
  10. sbit Key2=P0^2;                           //定義三個(gè)按鍵
  11. /**************按鍵控制函數(shù)************/
  12. uint key()
  13. {
  14.      uint temp;
  15.          Key0=0;
  16.          Key1=0;
  17.          Key2=0;                             
  18.      if(Key0==1)
  19.              {
  20.                 delay(500);                    //延時(shí)500毫秒,去按鍵時(shí)的抖動(dòng)
  21.                          if(Key0==1)
  22.                         {
  23.             temp=0xfc;                    //1111 1100B 只有兩盞燈亮
  24.                     P1=temp;
  25.                         while(Key0)
  26.                         {
  27.                     delay(500);
  28.                     temp=_crol_(temp,1);         //將temp循環(huán)左移一位后再賦給temp
  29.                 P1=temp;                                     //將移位后的值賦給P1口,從低位到高位逐個(gè)點(diǎn)亮發(fā)光二極管
  30.                         }
  31.                         }
  32.                                         
  33.               }
  34.              else if(Key1==1)
  35.              {
  36.                 delay(500);                  //延時(shí)500毫秒,去按鍵時(shí)的抖動(dòng)
  37.                          if(Key1==1)
  38.                         {
  39.             temp=0x10;                   //0001 0000B 只有一盞燈不亮
  40.                     P1=temp;
  41.                         while(Key1)
  42.                         {
  43.                     delay(500);
  44.                     temp=_cror_(temp,1);        //將temp循環(huán)左移一位后再賦給temp
  45.                 P1=temp;                                     //將移位后的值賦給P1口,從低位到高位逐個(gè)點(diǎn)亮發(fā)光二極管
  46.                         }
  47.                         }
  48.                                         
  49.               }
  50.                    else if(Key2==1)
  51.              {
  52.                 delay(500);                  //延時(shí)500毫秒,去按鍵時(shí)的抖動(dòng)
  53.                          if(Key2==1)
  54.                         {
  55.             temp=0xfd;                  //1111 1101B 只有一盞燈亮
  56.                     P1=temp;
  57.                         while(Key2)
  58.                         {
  59.                     delay(500);
  60.                     temp=_cror_(temp,1);         //將temp循環(huán)左移一位后再賦給temp
  61.                 P1=temp;                                     //將移位后的值賦給P1口,從低位到高位逐個(gè)點(diǎn)亮發(fā)光二極管
  62.                         }
  63.                         }
  64.                                         
  65.               }
  66.                
  67.                
  68. return temp;
  69. }
  70. void delay(int z)           //延時(shí)z毫秒
  71. {
  72.       unsigned int x,y;
  73.           for(x=z;x>0;x--)
  74.                   for(y=110;y>0;y--);
  75. }
  76. /*****************主函數(shù)*************/
  77. void main()
  78. {


  79.    …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

下載:
test1.zip (73.8 KB, 下載次數(shù): 63)

評分

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

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2017-4-2 01:28 | 只看該作者
好資料,初學(xué)者有用,51黑有你更精彩
回復(fù)

使用道具 舉報(bào)

板凳
ID:185546 發(fā)表于 2017-4-2 12:10 | 只看該作者
非常好,給力!
回復(fù)

使用道具 舉報(bào)

地板
ID:185546 發(fā)表于 2017-4-2 12:11 | 只看該作者
贊一個(gè)
回復(fù)

使用道具 舉報(bào)

5#
ID:419580 發(fā)表于 2018-11-2 11:17 | 只看該作者
很好  很實(shí)用  好東西
回復(fù)

使用道具 舉報(bào)

6#
ID:411024 發(fā)表于 2018-11-2 13:44 | 只看該作者
硬件仿真是個(gè)好方向!
回復(fù)

使用道具 舉報(bào)

7#
ID:399179 發(fā)表于 2018-11-2 18:57 來自手機(jī) | 只看該作者
我這菜鳥表示感謝!
回復(fù)

使用道具 舉報(bào)

8#
ID:424426 發(fā)表于 2018-11-11 12:03 | 只看該作者
不錯(cuò)啊
回復(fù)

使用道具 舉報(bào)

9#
ID:457034 發(fā)表于 2018-12-28 09:54 | 只看該作者
不錯(cuò)的文章
回復(fù)

使用道具 舉報(bào)

10#
ID:507770 發(fā)表于 2019-4-9 12:42 | 只看該作者
不錯(cuò)不錯(cuò)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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