功能:K1是总开关,当K1首次按下时,流水灯由下往上流动;当K2按下时停止流动,且全部灯灭,当K3按下时使灯由上往下流动,K4则使灯由下往上流动。

LED灯循环速度可以调整延时函数的整型调用参数值来改变。

void delay (unsigned char time){unsigned int j = 12000;for(; time > 0; time--)                       // 延时函数for(; j > 0; j--);
}

实现流水灯向 ↓移动

 for(i = 0; i <= 3; i++){P2 = led[i];delay(300);}

实现流水灯向↑移动

 for(i = 3;i >= 0; i--){P2 = led[i];delay(300);}

主程序

#include "reg51.h"
unsigned char led[]={0xfe,0xfd,0xfb,0xf7};
void delay (unsigned char time){unsigned int j=12000;for(;time>0;time--)                        // 延时函数for(;j>0;j--);
}
void main(){bit dir=0,run=0;char i;while(1){switch(P0&0x0f){            // 读取键值case 0x0e:run=1;break;        // k1动作,设 run = 1 case 0x0d:run=0,dir=0;break;         // k2 动作,设run = dir = 0case 0x0b:dir=1;break;                  // k3 动作, 设 dir = 1case 0x07:dir=0;break;                 // k4动作,设dir = 0}if(run)                                  // 若run = dir = 1,自上而下流动if(dir)for(i=0;i<=3;i++){P2=led[i];delay(300);}else                               // 若 run = 1, dir = 0,自下而上流动for(i=3;i>=0;i--){P2=led[i];delay(300);}else P2=0xff;                // 若 run = 0, 灯全灭}}

程序电路图

程序电路图链接:https://share.weiyun.com/D6lgdrkD

ISIS 7 Professional仿真——键控流水灯相关推荐

  1. 【51单片机】键控流水灯

    设置k3作为启动键,只有先按下k3才能开始控制流水灯,按下k3后LED闪烁提示开始成功. 在按下k3后,其余键即可控制流水灯.其中k1执行从右到左,k2执行从左到右. 按下k4,执行外部中断,立马中止 ...

  2. proteus8 Professional和keil4联调流水灯程序

    一.软件准备 (软件安装教程请自行百度安装教程,本文不做叙述) 1. 下载安装keil4 2. 下载安装Proteus8 Professional 3. 下载安装vdmagdi.exe 链接:http ...

  3. proteus7.7+Keil2仿真80C51控制流水灯

    在今年夏天发布的关于8051的诸多博文中, 我都是用STC89C52RC实验箱来验证8051控制程序的正确性的. 这样做的好处是可以直接和真正的8051单片机打交道, 且能熟练掌握将.hex文件烧写到 ...

  4. 基于proteus软件仿真AT89C52的流水灯

    proteus软件仿真设置界面如下: 代码如下: #include <reg51.h>void Delay1ms(unsigned int count) {unsigned int i,j ...

  5. 51单片机入学第四课——使用在线仿真(以流水灯程序为模板)

    文章目录 Debug(软件仿真)和在线仿真的区别 KEIL中的Debug(软件仿真) 在线仿真 仿真器介绍 在线仿真器的安装 在线仿真软件环境的配置 在STC-CIP中添加配置文件 KEIL的配置 开 ...

  6. c语言利用中断系统控制流水灯,基于流水灯的“微控制器应用”课程项目教学设计...

    彭远芳,张静,黄晓峰 摘 要:"微控制器應用"课程是高职应用电子技术专业核心课程,对培养学生的分析问题.解决问题能力,以及创新能力都具有十分重要的作用.但由于课程逻辑性强,与其他课 ...

  7. 80c51流水灯汇编语言,单片机AT89C51可控流水灯课程设计报告(汇编语言).docx

    单片机AT89C51可控流水灯课程设计报告(汇编语言).docx 目录目录1第一章 课题的意义及应用2第二章 系统的总体设计32.1 设计方法32.2 数码管显示方案32.3 键盘输入方案4第三章 硬 ...

  8. 基于verilog流水灯设计

    使用verilog语言实现流水灯设计并进行仿真波形验证如下: 下面是在vivado下仿真截图: 流水灯顶层模块包括分频器和状态机组成 顶层模块如下: module ledwater( input cl ...

  9. msp430g2553流水灯

    点亮LED 理解代码需要知道msp430的寄存器和几个基本的逻辑运算. 寄存器说明: ① 方向寄存器(Direction Register, PxDIR) :方向寄存器的每一位控制着对应引脚的数据传输 ...

最新文章

  1. 先写API文档还是先写代码?你需要这款神器Apifox!
  2. JZOJ 5426. 【NOIP2017提高A组集训10.25】摘Galo
  3. ffplay.c学习-5-视频输出和尺⼨变换
  4. java mouselistener,Java MouseListener接口
  5. 浏览器端判断当前设备的运行环境
  6. IntelliJ IDEA Community社区版集成Tomcat or Jetty教程
  7. ASP.NET核心之路微服务第03部分:Identity
  8. error: Program received signal SIGSEGV, Segmentation fault. (Codeblocks, C++)(2)
  9. 称重传感器知识:型号,认证,性能与选择
  10. 并发-2-Thread和Runnable的API
  11. firefox 模拟手机
  12. 第十届全国大学生智能汽车竞赛获奖名单
  13. Android 分贝测试仪功能,华为移动终端开发
  14. CentOS7 Docker 端口映射
  15. python 论坛自动发帖功能
  16. 笔记-5:mysql数据更新
  17. Android如何实现APP自动更新
  18. Java 使用JavaMail通过Gmail发送电子邮件
  19. 论文笔记2:Deep Attention Recurrent Q-Network
  20. 什么情况下我可以认为我就是我最大的骄傲

热门文章

  1. 简单的客户端,服务端通信
  2. Builder设计模式
  3. 总体参数的估计(概念)
  4. 2003DC 升级到2008R2 DC实验
  5. WPF 第一个创建的窗体会作为Application.Current.MainWindow
  6. php168站内统计,PHP168整站系统0DAY
  7. TQ210裸机编程(4)——按键(中断法)
  8. 软件架构视图—4+1模式
  9. MySQL的4中隔离级别
  10. NBIOT 移远BC28模块+stm32开发板例程、教程(打通TCP、COAP协议)