1.前言

LED点阵屏显示图形:

https://blog.csdn.net/YLG_lin/article/details/126587462?spm=1001.2014.3001.5501

当我们了解了LED点阵屏显示图形后,就可以尝试用点阵屏来显示动画了,我们可以定义一个数组,把要显示的图形的数据存到数组里,然后逐个移动数据显示就变成了动画了

1.1 实验现象

2.源码

2.1 main.c

#include <REGX52.H>
#include "MatrixLED.h"//动画数据
unsigned char Date[]={0X00,0X00,0X00,0X00,0X00,0x21,0x3f,0x21,     //I0x00,0x18,0x24,0x22,0x11,0x22,0x24,0x18,//爱心0x00,0x3f,0x01,0x01,0x3f, //U0X00,0X00,0X00,0X00,0X00,};void main()
{unsigned char i,Offset=0,Count=0;//偏移量OffsetMatrixLED_Init(); //初始化while(1){for(i=0;i<8;i++)   {MatrixLED_ShowColumn(i,Date[i+Offset]);}Count++;            if(Count>40) //计次延时,不要用Delay,最好用定时器{Count=0;Offset+=1;     if(Offset>18)//当超过数组的范围时偏移量清零{Offset=0;}}}
}

2.2 MatrixLED.c

#include <REGX52.H>
#include "Delay.h"sbit RCK=P3^5;     //RCLK
sbit SCK=P3^6;     //SRCLK
sbit SER=P3^4;     //SER#define MATRIX_LED_PORT        P0//延时函数
void Delay(unsigned int xms)
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}void _74HC595_WriteByte(unsigned char Byte)
{unsigned char i;for(i=0;i<8;i++){SER=Byte&(0x80>>i);SCK=1;//时钟每来一个上升沿,数据就会往下移,//循环8次,把发送来的串行数据全部放到移位寄存器中;SCK=0;//为下次移位做准备}RCK=1;//把移位寄存器的数据搬运到输出缓存器中;RCK=0;
}void MatrixLED_Init()
{             SCK=0;  //单片机上电初始化后,所有I/O口都为高电平,RCK=0;  //所以上电后RCLK和SRCLK要置0;
}//LED点阵屏显示一列数据,高位在上,1为亮。
void MatrixLED_ShowColumn(unsigned char Column,Data)
{_74HC595_WriteByte(Data);MATRIX_LED_PORT=~(0x80>>Column);Delay(1);MATRIX_LED_PORT=0xFF;
}

2.3 MatrixLED.h

#ifndef __MATRIX_LED_H__
#define __MATRIX_LED_H__void MatrixLED_Init();
void MatrixLED_ShowColumn(unsigned char Column,Data);#endif

51单片机——LED点阵屏显示动画相关推荐

  1. 51单片机——LED点阵屏显示图形

    1.前言 1.1 LED点阵屏介绍 LED点阵屏由若干个独立的LED组成,LED以矩阵的形式排列,以灯珠亮灭来显示文字.图片.视频等.LED点阵屏广泛应用于各种公共场合,如汽车报站器.广告屏以及公告牌 ...

  2. 51单片机LED点阵屏逐帧显示和流动显示图像

    上一篇逐帧显示用的是定时和中断控制,碰到了一些麻烦,我觉得也是一种不错的办法,因为Delay的时间更短,而且如果不那么介意亮度的情况甚至可以不用Delay()函数,这里采用将要显示的图像按顺序存储在数 ...

  3. 51单片机LED点阵屏学习笔记

    移位寄存器74HC595 移位寄存器74HC595是一个串行转并行的寄存器,该寄存器主要用来控制LED点阵屏,控制原理和控制数码管的原理类似, 下面详细说明一下74HC595的底层原理: SER的作用 ...

  4. 51单片机LED点阵显示文字

    51单片机LED点阵显示文字 代码如下. #include <REGX51.H> #define u8 unsigned char sbit SER = P3^4; sbit RCLK = ...

  5. 51单片机——LED点阵屏(显示滚动画面)

    目录 一.关于数码管.LED点阵屏显示的注意点 二.功能介绍 三.主要模块的介绍 3.1 74HC595模块和点阵屏显示函数 3.1.1 74HC595介绍 3.1.2 点阵屏显示函数MatrixLE ...

  6. 51单片机驱动OLED显示动画

    在这里插入代码片@TOC OLED I2c总线显示一段动画 单片机型号:89C516 晶振24M 主函数 #include "reg52.h"#include "oled ...

  7. 基于51单片机点阵汉字显示程序设计

    文章目录 基于51单片机点阵汉字显示程序设计 一.实践目的 二.实践依托的实验设备与软件 1.设备 2.软件 二. 系统或装置的设计 1. 硬件原理图设计 2.印制板图绘制 三.程序框架及主要算法流程 ...

  8. 基于51单片机数码管显示

    基于51单片机数码管显示 ## 数码管显示原理 数码管(LED Segment Displays)由多个发光二极管封装在一起组成"8"字型的器件,引线已在内部连接完成,只需引出它们 ...

  9. 8脚51单片机DIY时间显示+闹钟技术分享(一)

    @[8脚51单片机DIY时间显示+闹钟技术分享(一) 最近因为家里闹钟被小朋友摔坏了,所以想着买来买去还是没什么新意,不如自己做一个,这样不是更有意义吗? 那就开始吧,想着自己做就可以用最小资源来实现 ...

最新文章

  1. 关于js禁止浏览器缩放
  2. GitLab-CI与GitLab-Runner
  3. Processing 字体变形
  4. NYOJ 26 孪生素数问题
  5. PHP 数字转化为自定义长度的字符串[前插后入]
  6. android 验证码短信验证码,Android​短信验证码倒计时验证的2种常用方式
  7. boost::asio async_write也不能保证一次发完所有数据 二
  8. javascript原型和原型链
  9. kettle oracle数据从库到库,kettle 使用oracle数据库当做资源库
  10. HCIP-RS-MPLS-LSP建立-静态LSP
  11. 【渝粤题库】陕西师范大学202281 中央银行学II 作业(专升本)
  12. android 人脸识别边框_虹软人脸识别 - Android Camera实时人脸追踪画框适配
  13. Xposed框架原理深入研究
  14. Microsoft Word 教程:如何在 Word 中插入页码、目录?
  15. 【I.MX6ULL】6ull 加载 linux 驱动模块失败
  16. 批量打印远端PDF文件
  17. 传统安防企业资本运作:找准定位、创新为本
  18. ES6---数组的spread扩展运算符
  19. 安装驱动显卡重启计算机,Win7电脑安装显卡驱动后一直重启的解决方法
  20. 【DG】在Linux平台上搭建单实例的dataguard--duplicate

热门文章

  1. nodejs express搭建服务器(爬虫知乎精华帖,个人学习用)六 html
  2. cnn 分层 可视化 网站_如何可视化分层数据以显示整体关系
  3. CSI笔记【5】:Widar2.0: Passive Human Tracking with a Single Wi-Fi Link论文阅读
  4. 盘点和反思在微信的阴影下艰难求生的移动端IM应用
  5. QQ游戏中心能力值抽大奖 抽奖得Q币 iPad QQ公仔等实物
  6. 2021年5月软件设计师考前总结笔记
  7. JAVA:实现binary exponentiation二进制幂运算算法(附完整源码)
  8. 拓扑排序在实际项目中应用
  9. [从头学绘画] 第21节 八段锦
  10. 网红萌宠“JUJU奇幻乐园”闪临龙德广场 五月活动玩转不停