找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3977|回复: 2
收起左侧

基于Proteus8仿真和keil4的单片机键控流水灯

[复制链接]
ID:404480 发表于 2018-9-30 19:00 | 显示全部楼层 |阅读模式
K1是总开关,当K1首次按下时,流水灯由下往上流动;当K2按下时停止流动且全部灯灭;当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.      }}
复制代码

所有资料51hei提供下载:
键控流水灯.zip (62.15 KB, 下载次数: 38)
0.png

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:405662 发表于 2018-10-5 19:39 | 显示全部楼层
不错的例程
回复

使用道具 举报

ID:661086 发表于 2019-12-10 22:46 | 显示全部楼层
灯亮不起来呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表