刚开始接触51单片机学习的同学都会先完成流水灯的小程序设计。

流水灯就是一组灯,然后在控制系统的控制下按照设定的顺序和时间来发亮和熄灭,这样就能形成一定的视觉效果,很多街上的店面和招牌上面就安了流水灯,看上去更美观。

1.  实验目的

a. 理解左移 RL、右移 RR 指令的功能。
b. 延时程序 DELAY 的具体执行过程、延时量控制等。
c. 掌握通过设置程序的跳转来实现程序循环的方法。
d.   能自左向右——自右向左——自左向右反复循环来控制一只发光管如反弹状

移动。
e.   能通过一组 I/O 口组合实现 8只 LED 的流水灯效果。
2.  电路原理图
利用preteus仿真。

它能从上到下,再从下到上交替点亮。需要程序的读者自取。

#include<reg51.h>#define uchar unsigned char
#define uint unsigned intvoid delay(uint n)     // 延时函数,大约延时 n ms
{uchar i,j;for (i = 0 ; i < n ; i ++){for (j = 0 ; j < 123 ; j ++);}
}void main()
{uint i ;P3 = 0x00; //0000 0000     初始化P1端口,使之输出低电平while (1){for ( i = 0 ; i < 8 ; i ++ ){P3 = ( 0x01 << i ) ;delay(255) ;}for ( i = 0 ; i < 8 ; i ++ ){P3 = ( 0x80 >> i ) ;delay(255) ;}}
}

51单片机(流水灯)相关推荐

  1. 51单片机流水灯制作

    文章目录 51单片机流水灯制作 初试与复试 初试 复试 制作 分工 制作之硬件 制作之软件 总结 51单片机流水灯制作 我不得不承认自己的毅力实在是太差了,原先准备一星期写一篇博客的目标一致没有实现, ...

  2. 51单片机流水灯现象1

    **` 51单片机流水灯程序 `** 初学者小白,分享上课时写的小程序和普中科技程序,感兴趣的可以瞧瞧. 程序如有相同冒犯了. /*********************************** ...

  3. 如何用多种代码实现51单片机流水灯

    用51单片机实现流水灯的方法有多种:普通电灯法,位移法,数组法.其次模拟电路的电流图也与点一盏LED相似.具体如下: 一   首先是最简单的代码: #include <reg52.h>   ...

  4. 51单片机-------流水灯(实验报告)

    实验二:LED流水灯 一.实验目的 掌握51单片机开发板的使用步骤: 掌握51单片机开发板所需软件的安装过程: 以LED流水灯实验为例子,掌握软件KEIL4的使用方法. 二.实验设备 实验仪器设备: ...

  5. 51单片机——流水灯

    51单片机--单向流水灯 编写程序8个LED灯从最高位依次点亮,每次只亮一盏灯,依此循环. 电路原理图 源代码 #include "reg51.h" #define u8 unsi ...

  6. 设计一:51单片机流水灯控制

    目录 一.设计内容 二.硬件电路分析 三.仿真原理图 四.程序设计 五.仿真结果 六.思考题 作者有话说 一.设计内容 本次设计使用4个按键,当KEY1按下时,P0口所接的发光二极管(D1~D8)以1 ...

  7. 51单片机流水灯的三种实现方法

    首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平即可. ...

  8. 51单片机流水灯控制(5种方法)

    实现流程: 1. 新建一个工程(新项目)2. 查看原理图确定需求(流水灯)对应LED引脚在单片机上的哪个引脚3. 编写程序(通过查看原理图可以看到我们需要控制整个P2口以控制8个LED灯)4. 编译程 ...

  9. 51单片机流水灯用c语言,51单片机之流水灯(C语言和汇编两个版本)

    c语言 #include typedef unsigned char uint8; sbit ADDR0=P1^0; sbit ADDR1=P1^1; sbit ADDR2=P1^2; sbit EN ...

  10. 51单片机流水灯:控制LED亮暗顺序

    我这个是笨方法,就是根据需要LED位置,将二进制转化为16进制去控制其亮. 比如让LED灯按照从右往左数1,3,5,7,8,6,4,2的顺序依次亮,就根据二进制转16进制的表 表示出来即可,代码如下: ...

最新文章

  1. 客快物流大数据项目(十七):自定义镜像mycentos
  2. 【Network Security!】Ubuntu18.04切换到root权限和sudo
  3. 使用mod_proxy_balancer实现负载均衡
  4. 防止网站内容被人小偷和采集的ASP代码
  5. 如何搭建Docker私有仓库
  6. oracle result_cache_max_size,oracle database 11g新特性之设置result cache-Oracle
  7. Go语言学习资料整理
  8. 网络框架 Retrofit(三)
  9. 超越MobileNet v3!华为诺亚、北大提出GhostNet​,使用线性变换生成特征图
  10. 50. 第一个只出现一次的字符
  11. VCL已死,RAD已死(插播)
  12. 软件版本 —— Alpha、Beta、RC、Stable版本的区别
  13. leetcode题库283-- 移动零
  14. JAVA day20、21 双列集合Map<K,V>:HashMap,LinkedHashMap,TreeMap,Hashtable, ConcurrentHashMap;JDK1.9新特性
  15. python编程常用英语单词_Python编程中的英语单词整数
  16. layDate——初步使用
  17. 手把手教你关闭iphone系统自动下载(新增IOS11描述性文件地址)
  18. 头像制作软件有哪些?2022微信头像制作软件推荐
  19. 一个完整的项目管理流程包括什么?
  20. 使用Windows ADK 创建以U盘引导启动的Windows PE

热门文章

  1. C#序列化和反序列化到底是什么意思
  2. 【网络原理】详解访问域名 www.baidu.com 中的DNS解析过程
  3. 从上海租房之旅得到的感悟
  4. css3实现旋转的立方体
  5. 基于HTML的旋转立方体的实现
  6. vue函数@click.prevent使用纪要
  7. 那些年收藏的技术文章(二)-云笔记篇
  8. 自媒体行业的发展和前景
  9. cad文字递增快捷键_cad文字修改快捷键是什么,Auto CAD文字修改快捷键是什么?
  10. win10 ISO文件下载