今天,我想跟大家分享一下如何用点阵屏显示爱心。一起看看吧!

目录

一、原理图分析

一)8*8点阵屏

二)74HC595

三)如何取模

四)8*8点阵屏怎么装在开发板

二、代码分析

三、效果图


一、原理图分析

一)8*8点阵屏

点阵行线、列线的引脚数字与点阵PIN1-16对应。

共阳极的判断是第一个引脚(点阵后面标1的引脚)为阳极则为共阳,反之则为共阴。

如果想让左上角的LED亮。

ROW=10000000=0x80

COL=01111111=0x7f

二)74HC595

74HC595芯片是一种串入并出的芯片,在电子显示屏制作当中有广泛的应用。 74HC595是一款具有8位移位寄存器和一个存储器,三态输出功能的驱动芯片。

14脚是串行数据输入端,级联的话接上一级的9脚。

13脚高电平时禁止输出,高阻态,一般接地。

12脚上升沿并行输出。

11脚上升沿数据从14脚串行输入,移位寄存器数据移位。

10脚低电平清空移位寄存器,一般接VCC。

9脚级联输出端,与下一级595的14脚相连。

数据如何移位:从数据最低位开始,在第一级595从上而下,当第一级满8个数据,挤到第二级595从上而下,以此类推。

三)如何取模

下一个这个点阵取模辅助软件

先这样设置一下。

然后进行画图取模就好啦。

四)8*8点阵屏怎么装在开发板

二、代码分析

刚才取模的代码我们可以放到一个二维数组里。

如何实现上升沿。先给它一个低电平,再给它一个高电平。

CLK=0;
CLK=1;
//
LE=0;
LE=1;

我们先创建一个函数实现传递一个数据的每一位。

它的最低位如何获取,可以与0x01按位与,如果最低位是1按位与的结果是1,如果最低位是0按位与的结果是0,获取完再向右移一位,获取下一位。

列线对应的第二级,行线对应的第一级,列线比行线先传递。我们之前取得模取得是列线的值,行线的值是0x80、0x40、0x20...可以通过循环右移获取下一位。

为了避免两个字模重叠,可以设置一个值让它显示一段时间。最后进行循环。

#include <reg52.h>
#include<intrins.h>
sbit DI=P3^4;
sbit LE=P3^6;
sbit CLK=P3^5;
#define uchar unsigned char
uchar board[][8]={0xFF,0xFF,0xFF,0xE3,0xE3,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF7,0xE3,0xC1,0xC9,0xFF,0xFF,0xFF,0xF7,0xE3,0xC1,0x80,0x80,0xC9,0xFF};void scan(uchar dat){int i=0;CLK=0;LE=0;for(i=0;i<8;i++){if(dat&0x01==1)DI=1;else DI=0;CLK=1;CLK=0;dat=dat>>1;}}
void main(){int i=0;int j=0;int z=0;uchar row;for(i=0;i<3;i++){for(z=1000;z>0;z--){row=0x80;for(j=0;j<8;j++){scan(board[i][j]);scan(row);LE=1;LE=0;row=_cror_(row,1);}}}}

三、效果图

以上就是我今天分享的内容,你学会了蛮!如果觉得这篇博客还不错的话可以点个赞再走哟~

【STC89C52】点阵屏显示爱心相关推荐

  1. 51单片机——LED点阵屏显示动画

    1.前言 LED点阵屏显示图形: https://blog.csdn.net/YLG_lin/article/details/126587462?spm=1001.2014.3001.5501 当我们 ...

  2. 使用74LS245驱动8×8LED点阵屏显示数字

    使用8×8LED点阵屏显示数字.   点阵取模使用软件PCtoLCD2002取模软件,使用74LS245驱动点阵. 取模方式:阴码.列行式.顺位.C51格式. 取模软件的设置: 电路原理图: 代码: ...

  3. 【Arduino实验11 LED点阵屏显示】

    目录 一.实验目的 二.实验设备与环境 三.实验重点 四.实验难点 五.实验内容 5.1实验任务 5.2实验原理 5.3实验内容 5.4实验结果 5.5思考题 一.实验目的 1熟悉8*8点阵屏的原理与 ...

  4. 按键控制8*8led点阵C语言程序,单片机按键控制8X8LED点阵屏显示图形 程序的几个问题...

    /*        名称:按键控制8X8LED点阵屏显示图形 说明:每次按下K1时,会使8X8LED点阵屏循环显示不同图形. 本例同时使用外部中断和定时中断. */ #include #include ...

  5. stm32驱动点阵屏显示图片

    这次分享一个stm32驱动点阵屏显示图片 只要能显示字符就能显示图片. 用到的函数有 取模软件配置 取模软件和我一样的配置就行,记得选择图形模式 因为我需要动态显示,所以定义了一个数组指针,里面的成员 ...

  6. Raspberry Pi Pico使用MicroPython(7)---用Max7219驱动点阵屏显示图案

    网上的大神已经完成了MAX7219驱动点阵屏的程序, 参考网址 https://github.com/stechiez/raspberrypi-pico/tree/main/pico_max7219 ...

  7. 51定时中断系统控制LED点阵屏显示逐帧动画

    写在前面 最近回头看之前写的文章感到一种很浓的公式感,我确实是提前写好了模板每次都套用,整篇看下来感觉就像是在交老师布置的实验报告,看起来很成熟但实际上背离了自己的初衷,接下来我会尽可能的复现自己在做 ...

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

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

  9. java编程图片显示爱心_java swing画图片爱心

    第一次用swing做一个可视化程序,写第一篇随笔,有写的不好的地方请多多见谅.上个星期三在网上看到一个画爱心的软件,就想着自己用java也实现一个程序,画爱心用到的数学函数知识在网上百度的,不是本人原 ...

最新文章

  1. 如何第一时间了解研究领域最新动态?
  2. Python技术栈与Spark交叉数据分析双向整合技术实战--大数据ML样本集案例实战
  3. mysql注入式攻击_SQL的注入式攻击方式和避免方法
  4. 开课吧:数据分析的价值体现在哪些方面?
  5. node主要应用场景是在大前端
  6. java web filter 入口_springboot 通过@WebFilter(urlPatterns )配置Filter过滤路径
  7. 数据库sql中commit的重要性
  8. NXP K60使用IAR烧录教程
  9. 计算机组成原理试题库10,计算机组成原理试题10
  10. Java面试学习资源
  11. ANT安装(亲测可用)
  12. 编写递归算法,计算二叉树叶子结点的数目。
  13. 计算机网络管理员试题实操,网络管理员试题(实操).doc
  14. SoftIce基础入门
  15. idea Ctrl+Alt+T 快捷键失效、无法弹出surround with、与qq热键冲突-解决办法
  16. ICT的圣杯(一):人形电脑天使心
  17. 霍营派出所办理居住证
  18. Spark程序性能优化之persist()
  19. 【调剂】上海理工大学软件工程接收调剂研究生
  20. Markdown文本编辑

热门文章

  1. 【杂篇】书单(技术、文学、历史、经济、方法论等等)
  2. 一个做耽美漫画的内容网站源码解析过程,讲解他的框架和功能实现
  3. 云计算机是不是虚拟机,云计算和虚拟机(VMWare)有什么区别?
  4. |与|| ,与 分别表示什么意思?
  5. 亚马逊企业文化交流分享
  6. C语言 malloc() + 结构体指针定义结构体变量
  7. 【源码】QC_LDPC编码仿真
  8. Log4j 漏洞修复和临时补救方法
  9. EW(EarthWorm) 反向 socks5 代理
  10. NTC MF58 10k J3950K ±5% 玻封热敏电阻数据CSV