找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4212|回復(fù): 2
收起左側(cè)

基于Proteus8仿真和keil4的單片機鍵控流水燈

[復(fù)制鏈接]
ID:404480 發(fā)表于 2018-9-30 19:00 | 顯示全部樓層 |閱讀模式
K1是總開關(guān),當(dāng)K1首次按下時,流水燈由下往上流動;當(dāng)K2按下時停止流動且全部燈滅;當(dāng)K3按下時使燈由上往下流動,K4則使燈由下往上運動。

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

單片機源程序如下:
  1. # include <reg51.h>

  2. unsigned char led[]= {0xfe,0xfd,0xfb,0xf7};
  3. void delay(unsigned char time)
  4. {
  5.      unsigned int j=15000;
  6.          for(;time> 0;time--)
  7.             for(;j> 0;j--);

  8. }
  9. void main()
  10. {
  11.     bit dir=0,run=0;
  12.      char i;
  13.     while(1)
  14.         {
  15.      switch (P0&0x0f)
  16.      {
  17.       case 0x0e:run=1;break;
  18.       case 0x0d:run=0,dir= 1;break;
  19.       case 0x0b:dir=1;break;
  20.       case 0x07:dir=0;break;
  21.      }
  22.     if (run)
  23.       if (dir)
  24.           for (i=0;i<=3;i++)
  25.                   {
  26.              P2=led[i];
  27.              delay(200);
  28.            }
  29.          else
  30.             for(i=3;i>=0;i--)
  31.                         {
  32.              P2=led[i];
  33.              delay(200);
  34.             }
  35.              else P2= 0xff;
  36.      }}
復(fù)制代碼

所有資料51hei提供下載:
鍵控流水燈.zip (62.15 KB, 下載次數(shù): 38)


0.png

評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:405662 發(fā)表于 2018-10-5 19:39 | 顯示全部樓層
不錯的例程
回復(fù)

使用道具 舉報

ID:661086 發(fā)表于 2019-12-10 22:46 | 顯示全部樓層
燈亮不起來呀
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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