云计算百科
云计算领域专业知识百科平台

江协51单片机学习日志(9LED点阵屏)

一、学习内容:

1.LED点阵屏介绍

双色点阵实际可以显示三种颜色,因为红绿同时亮合成黄色

三色点阵有红绿蓝(光的三原色),可以显示各种各样的颜色

按像素一般是8的倍数,使内存不浪费

———————————————————————————————————————————

2.显示原理

PPT上为共阳极接法

———————————————————————————————————————————

3.74HC595

OE_:给低电平有效,接GND

SRCLR_:串行清零端,给低电平有效,接Vcc,使其不清零数据

SER(串行数据口):输入数据

SERCLK(上升沿移位):使数据一个个移位

RCLK(上升沿锁存):开大门一次性全部转移

全流程:先将最高位(QH)  数据写进串行数据口,控制时钟给SERCLK一个上升沿,数据被写入,同时将SERCLK清零,回到低电平。从最高位到最低位循环往复,直到8位数据全部写进,再控制时钟给RCLK一个上升沿,将左边的8位数据全部转移到输出缓存(右边),同时将RCLK清零

IO口扩展:当右边的输出缓存全被填满,还想继续向SER里输入数据,可以在QH’处接别的移位寄存器的SER,一直接一直接

代码如何实现74HC595功能

让数据与上(1000 0000>>i),只对特定一位保留,其余全部清零

每次输入完那一位,SCK=1,给一个上升沿(1)将数据移位,再把SCK清零回到低电平。待八次循环结束,给一个上升沿将数据全部转移,再把RCK清零回到低电平

———————————————————————————————————————————

4.sfr sbit

sfr:声明继承这个地址

sbit:声明地址中的某一位

———————————————————————————————————————————

5.动画逻辑

流动字幕:先做一个长长的完整的静态图形,再间隔几帧,整个显示屏范围向右移动一列,达到流动效果

逐帧动画:需要抽帧效果,先做出每一帧所需的静态图形,再让整个显示屏范围向右移动一个显示屏范围,有画面跳跃的感觉

———————————————————————————————————————————

二、实操注意点

1.sbit改用宏定义

本来想用sbit来声明P34-P36,但这三个引脚没有包含在标准位寻址的地址区间内,低4位不是0或8,硬件电路上不支持单独对它们进行位操作,所以改用define宏定义

#define后面不加分号

2.接线帽要接到OE与GND中间灯才亮,因为OE_低电平有效

3.底层函数不用声明在.h文件里

像void _74HC595_WriteByte(unsigned char Byte)函数,这已经是一个完整的功能,在主函数中不需要调用

4.8位赋给1位的逻辑?

SER=Byte&(0x80>>i),很明显,左边一位,右边八位,如果此时右边不全为0,SER将被赋予1,如果右边全为0,SER=0。这可以用来一位位的赋值。

5.函数不能以数字开头,得加下划线

———————————————————————————————————————————

三、代码展示

9-1 LED点阵屏显示图形

——————————————————-这是分界线——————————————————————

9-2 LED点阵屏显示动画

9-2 LED点阵屏显示动画

———————————————————————————————————————————

Delay之前日志有

留个疑问:为什么令P25=0可以消蜂鸣器声音,BEEP有接在P25上吗

2026.9.11完课

2026.9.12整理完毕

赞(0)
未经允许不得转载:网硕互联帮助中心 » 江协51单片机学习日志(9LED点阵屏)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!