久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3322|回復: 0
打印 上一主題 下一主題
收起左側

單片機流水燈 含Proteus仿真原理圖及代碼

[復制鏈接]
跳轉到指定樓層
樓主
之前學單片機做的一個,以下是可實現的功能:
1. K1 為“啟動鍵”,首次按壓 K1 可產生“自下向上” 的
流水燈運動;
2. K2 為“停止鍵”,按壓 K2 可終止流水燈的運動;
3. K3 和 K4 為“方向鍵”,分別產生 “自上向下”和 “自
下向上” 運動。
4. K5 為“閃爍鍵”,按壓 K5 可以使 4 個燈同時閃爍。

有很多不足,請多多指教。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg51.h>
  2. char led1[]={0xfe,0xfd,0xfb,0xf7};              //LED亮燈控制字
  3. char led2[]={0xf0,0xff};                        //LED閃爍控制字

  4. bit dir=0,run=0,tao=0;                          //全局變量

  5. unsigned char ms=0,i=0,j=3,k=0;                //全局變量

  6. unsigned char set;                             //全局變量

  7. timer() interrupt 1                            //T0方式延時延時函數
  8. {
  9.         TH0=0x3c;
  10.         TL0=0xb0;                                    //該初值為延時50ms,運行10次后再進行變量加一或減一即可實現延時500ms
  11.         ms++;
  12.          if(ms==10)
  13.          {
  14.                 ms=0;
  15.                 switch(set)
  16.                  {
  17.                          case 1:i++;break;
  18.                          case 2:j--;break;
  19.                          case 3:k++;break;
  20.      }
  21.    }
  22. }

  23. key() interrupt 0                             //鍵控中斷函數
  24. {
  25.         switch(P0&0x0f)                             //修改標志位狀態
  26.         {
  27.                 case 0x0e:run=1;break;
  28.                 case 0x0d:run=0,dir=0;break;
  29.                 case 0x0b:dir=1;tao=0;break;
  30.                 case 0x07:dir=0;tao=0;break;
  31.                 case 0x0f:tao=1;break;
  32.   }
  33. }

  34. void main()
  35. {
  36.         TMOD = 0x01;                             //初始化T0,工作方式為工作方式1
  37.         TH0 = 0x3C;
  38.         TL0 = 0xB0;
  39.         ET0 = 1;
  40.         TR0 = 1;                                 
  41.        
  42.         IT0=1;EX0=1;                             //初始化外部中斷INT0
  43.        
  44.         EA=1;                                    //開總中斷
  45.         PX0=0;PT0=1;                             //設置中斷優先級
  46.         while(1)
  47.         {
  48.                 if(run==1)
  49.                 {
  50.                         if(tao==1)                            //若run=1,tao=1,閃爍                     
  51.                         {
  52.                                 set=3;
  53.                                 if(k==2)
  54.                                 {
  55.                                         k=0;
  56.         }
  57.                                 P2=led2[k];
  58.                         }
  59.                         else
  60.                         {
  61.                                 if(dir==1)                          //若run=dir=1,自上向下流動
  62.                                 {
  63.                                         set=1;
  64.                                         if(i==4)
  65.                                         {
  66.                                                 i=0;
  67.           }
  68.                                                 P2=led1[i];
  69.         }
  70.                                 else                                //若run=1;dir=0,自下向上流動
  71.                           {
  72.                                   set=2;
  73.                                   if(j==-1)
  74.                                   {
  75.                                           j=3;
  76.           }
  77.                                   P2=led1[j];
  78.         }
  79.                   }
  80.     }
  81.                 else
  82.                 {
  83.                         P2=0xff;                       //燈全滅
  84.     }
  85.         }
  86. }
復制代碼

Keil代碼與Proteus仿真下載:
流水燈.zip (60.29 KB, 下載次數: 22)

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品蜜桃一区二区三区 | 国产精品久久久久久久久久久久久久 | 一级做a毛片 | 中文字幕在线观看 | 国产精品黄色 | 亚洲一区二区综合 | 欧美日韩在线观看视频网站 | 男人久久天堂 | 国产一区二区在线观看视频 | 亚洲国产小视频 | 久久人人爽人人爽 | 免费成人高清在线视频 | 一级欧美一级日韩片 | 波多野结衣一区二区 | 中文字幕一区二区三区精彩视频 | 欧美自拍一区 | 久久精品欧美电影 | 毛片软件| 欧美高清视频在线观看 | 成人福利在线视频 | 精久久久 | 日韩中文字幕在线观看视频 | 青草青草久热精品视频在线观看 | 欧美精品一二区 | 欧美爱爱视频 | 中文字幕一区二区三区在线观看 | 99热最新网址 | 亚洲欧美一区二区三区在线 | 国产成人99av超碰超爽 | 欧美激情久久久 | 亚洲成人一二三 | 亚洲精品成人av久久 | 精品国产一区二区三区免费 | 七七婷婷婷婷精品国产 | 欧美国产日韩精品 | 国产精品视频网站 | 欧美成人免费电影 | 欧美一二三四成人免费视频 | 日本成人中文字幕 | 九色porny自拍视频 | 一区二区三区免费观看 |