51单片机C程序实验LED灯:[4]花样流水灯

前篇的升级版。
目标:实现花样流水灯。
由于花样流水灯的变换很多,所需变量太多,所以一般没有使用移动语句,而是利用数组编译好每个时刻各个灯的赋值,然后读取数据输出到端口显示。

proteus电路图

  • 01

    画法依旧不说,给出元件清单,其实都差不多,与上篇一致51单片机 电容 瓷片电容 晶振 红色二极管 电阻

  • 02

    电路图如图

程序清单

  • 01

    说明:流水灯的闪亮方法肯定不是唯一的,按照各种形式都可以写出所需的程序,这里只用了一个简单的例子。

  • 02

    【程序】 #include<reg51.h> #define uchar unsigned char #define uint unsigned int uchar code Pattern_P0[]= { 0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f, 0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff, 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe, 0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff }; uchar code Pattern_P2[]= { 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff, 0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f, 0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00, 0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff }; //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { uchar i; while(1) { //从数组中读取数据送至P0 和P2 口显示 for(i=0;i<136;i++) { P0=Pattern_P0[i]; P2=Pattern_P2[i]; DelayMS(100); } } }

  • 03

    放一下上面的程序的图,如果不方便看文字版的话

    完成结果仿真图

    • 01

    (0)

    相关推荐

    • 51单片机C程序实验LED灯:[2]左到右的流水灯

      依旧是基础的LED灯部分的实验 说明:实现一排灯从左到右依次一个一个点亮熄灭,实现流水灯 proteus电路图 01 元件清单:(分别是) 51单片机 电容 瓷片电容(也可用普通电容) 晶振 红色二极 ...

    • 51单片机C程序实验LED灯:[3]来回点亮

      一个简单的LED灯例子. 两种编译方法. 目标:实现8个LED灯来回点亮 proteus电路图 01 画proteus电路图,给出元件清单: 51单片机 电容 瓷片电容(也可用普通电容) 晶振 红色二 ...

    • 51单片机C程序实验LED灯:[5]模拟交通灯

      名称:LED 模拟交通灯 目的:东西向绿灯亮若干秒,黄灯闪3次后红灯亮, 红灯亮后,南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁3次后变红灯,东西向变绿灯,如此重复. 分析一共有12个灯,每个与每个又 ...

    • 51单片机C程序实验LED灯:[1]单个灯闪烁

      说明:单片机控制LED灯间隔时间闪烁 所用程序很简单,实际情况可作相应变化,也有多种方式实现. proteus电路图 01 所需元件清单:(分别是) 51单片机 电容 瓷片电容(也可用普通电容) 晶振 ...

    • 51单片机C程序实验LED灯:单个灯闪烁

      我们在学习单片机的时候,最开始接触的就是用单片机点亮LED灯.今天,小编就来说说,如何用51单片机做单个LED灯闪烁的实验. 操作方法 01 首先,打开电脑中的proteus软件,其界面如图所示. 0 ...

    • 利用51单片机控制来使LED灯闪烁

      通过51单片机控制时钟,从而控制时间,来完成闪烁 操作方法 01 /****************************************/ /*程序名称:点亮一个P1.0口的发光管*/ / ...

    • 利用51单片机控制花样流水灯

      利用51单片机控制时钟,从而控制流水灯,不同状态 操作方法 01 #include<reg51.h> #include<intrins.h> #define uchar uns ...

    • C51单片机流水灯c语言程序详解

      C51单片机是我们学习单片机必学的一款单片机,流水灯也是单片机入门程序,下面给大家展示一下流水灯的程序编写方法适合初学者, 流水灯就是一组灯,然后在控制系统的控制下按照设定的顺序和时间来发亮和熄灭,这 ...

    • 流水灯plc程序

      流水灯plc程序 操作方法 01 创建一个STEP7-Micro/Win的项目 02 通过界面上方的工具栏进行编程 03 网络1是关于是关于1号灯的控制程序 04 网络2是关于是关于2号灯的控制程序 ...