美文网首页
Day09.LED 点阵屏幕

Day09.LED 点阵屏幕

作者: xqiiitan | 来源:发表于2025-04-03 18:53 被阅读0次

9.LED 点阵屏幕

ILED点阵屏由若干个独立的LED组成,LED以矩阵的形式排列,
以灯珠亮灭来显示文字、图片、视频等。
LED点阵屏广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等
LED点阵屏分类
按颜色:单色、双色、全彩
按像素:8x8、16x16等(大规模的LED点阵通常由很多个小点阵拼接而成)
LED点阵屏,需要进行逐行/逐列扫描,才能使所有LED同时显示。
过程快速切换,所有的点阵屏幕就都能独立显示。
逐行扫描:先选中第1行,然后列对应的赋值,让第1行某些灯亮;
再选中第2行,然后列对应的赋值,让第2行某些灯亮;
...
点阵屏,形成对应的图形。
点阵屏,IO口拓展,74HC595芯片移位寄存器。 IO口拓展,串行输入并行输出。

#incude <REGX52.H>
sbit RCK = P3^5; // 第5位重命名。
sbit SCK = P3^6;
sbit SER = P3^4;
void _74HC595_WriteByte(unsigned char Byte){
    unsigned char i;
    for(i=0; i<8; i++) {
        SER = Byte &(0x80 >>i); // 8位数据,放到寄存器中
        SCK = 1;
        SCK = 0;
    }
    RCK = 1; // 数据输出。
    RCK = 0;
}

void main() {
    SCK =0;
    RCK =0;
    _74HC595_WriteByte(0xF0);  // 控制led
    while(1) {
    }
}

9.1 点阵屏幕显示图形,

#incude <REGX52.H>
sbit RCK = P3^5; // 第5位重命名。
sbit SCK = P3^6; //SRCLK
sbit SER = P3^4;
#define MATRIX_LED_PORT  P0

// 芯片 74HC595写入一个字节Byte。
void _74HC595_WriteByte(unsigned char Byte){
    unsigned char i;
    for(i=0; i<8; i++) {
        SER = Byte &(0x80 >>i); // 8位数据,放到寄存器中
        SCK = 1;
        SCK = 0;
    }
    RCK = 1; // 数据输出。
    RCK = 0;
}
// led点阵屏显示,一列数据:Column列序号(0最左边列~7最右边列);
// Data选择列显示的数据,高位在上面,1亮 0灭。
void MatrixLED_ShowColumn(unsigned char Column, Data) {
    _74HC595_WriteByte(Data); // 写数据
    
    MATRIX_LED_PORT = ~(0x80 >> Column);
    Delay(1); // 消除重影
    MATRIX_LED_PORT =0xFF;  
}

void main() {
    SCK =0;
    RCK =0;
    while(1) {
        // 0-7列,每列显示不同数据,最终显示笑脸。
        MatrixLED_ShowColumn(0, 0x3C); // 第一列显示1010 1010
        MatrixLED_ShowColumn(1, 0x42);
        MatrixLED_ShowColumn(2, 0xA9);
        MatrixLED_ShowColumn(3, 0x85);
        MatrixLED_ShowColumn(4, 0x85);
        MatrixLED_ShowColumn(5, 0xA9);
        MatrixLED_ShowColumn(6, 0x42);
        MatrixLED_ShowColumn(7, 0x3C);
    }
}

9.2 点阵屏幕显示动画。

// 模块化 MatrixLED.h   .c
MatrixLED_init();
void MatrixLED_ShowColumn(unsigned char Column, Data);


// 模块化 MatrixLED.c
#incude <REGX52.H>
sbit RCK = P3^5; // 第5位重命名。
sbit SCK = P3^6; //SRCLK
sbit SER = P3^4;
#define MATRIX_LED_PORT  P0

// 点阵屏初始化
void MatrixLED_init(){
    SCK =0;
    RCK =0;
}
// 芯片 74HC595写入一个字节Byte。
void _74HC595_WriteByte(unsigned char Byte){
    unsigned char i;
    for(i=0; i<8; i++) {
        SER = Byte &(0x80 >>i); // 8位数据,放到寄存器中
        SCK = 1;
        SCK = 0;
    }
    RCK = 1; // 数据输出。
    RCK = 0;
}
// led点阵屏显示,一列数据:Column列序号(0最左边列~7最右边列);
// Data选择列显示的数据,高位在上面,1亮 0灭。
void MatrixLED_ShowColumn(unsigned char Column, Data) {
    _74HC595_WriteByte(Data); // 写数据
    
    MATRIX_LED_PORT = ~(0x80 >> Column);
    Delay(1); // 消除重影
    MATRIX_LED_PORT =0xFF;  
}
#incude  "MatrixLED.h"
// 存储动画,code不占用内存。
unsigned char code Animation[]{
    0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
    0xFF,0x08,0x08,0x08, 0xFF,0x00,0x0E,0x15,
    0x15,0x15,0x08,0x00, 0x7E,0x01,0x02,0x00,
    0x7E,0x01,0x02,0x00, 0x0E,0x11,0x11,0x0E,
    0x00,0x70,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00
};

void main() {
    unsigned char i, Offset, Count=0;
    MatrixLED_init();
    while(1) {
        for(int i=0; i<8; i++) {
            MatrixLED_ShowColumn(0, Animation[i+Offset]); // 每列显示
            
        }
        Count++;
        if(Count>10){
            Count=0;
            Offset ++;
            if(Offset>40) Offset =0;// 撤回到第0帧。
        }
    }
}

相关文章

  • 自定义LED点阵屏View

    概述 看过演唱会的同学应该都看到过粉丝举着LED点阵屏幕的牌子来支持自己心目中的男神或者女神,感觉这种点阵屏幕的效...

  • arduino 课件016 点阵屏幕

    1 单词认识 单词意思matrix矩阵 2 传感器 内部结构L1C1 3 接线 4 代码 显示我的图案

  • 8X8点阵的显示

    8X8点阵的显示(汉字的实现) 我们常常看到LED大屏幕显示,美轮美奂的字体变换其实很多情况下都是LED点阵...

  • web开发中svg图片的使用

    一、相关概念 1、位图与矢量图概念及对比 位图 :又叫点阵图或像素图,计算机屏幕上的图你是由屏幕上的发光点(即像素...

  • 2020-01-17.第一个arduino程序,控制8x8点阵屏

    Title: 第一个arduino程序,控制8x8点阵屏[2020-01-17] 想用芯片控制屏幕输出点内容,查了...

  • 【悟兴视界】推出磁性机械翻转点阵屏-互动屏

    【悟兴视界】推出磁性机械翻转点阵屏-互动屏 【悟兴视界】推出项目“进口磁力翻转点阵屏机械翻转点阵屏”视觉装置......

  • 点阵激光祛痘需要治疗几次?

    痘坑带来的影响不言而喻,那么,要想改善痘坑,目前治疗效果比较理想的当属点阵激光了。 什么是点阵激光呢? 点阵激光(...

  • 11/30

    今天做了关于摇杆和点阵的实验,发现了点阵的灯的位置可能不对,导致点阵没按我的设想亮起来,今天会找原因

  • 2019-09-27LED点阵

    1.LED点阵简介 1.1、什么是LED点阵 内部结构原理图。点阵的优势就是8+8个IO口独立控制8*8个LED亮...

  • 字体

    点阵字库和矢量字库 最早的字库直接把这些点存储起来,就是点阵字库。点阵字库是固定分辨率的,也就是每种字库都有固定的...

网友评论

      本文标题:Day09.LED 点阵屏幕

      本文链接:https://www.haomeiwen.com/subject/fbyvvjtx.html