《矩阵led显示屏》由会员分享,可在线阅读,更多相关《矩阵led显示屏(8页珍藏版)》请在金锄头文库上搜索。
1、矩阵 LED 显示屏摘要矩阵 LED 显示屏是一种通过对规则排列的发光二极管的亮灭进行选择性控制,点亮的发光二极管组成一定的字符来进行显示的。而通过单片机控制矩阵LED 显示屏的显示能够智能调整所需字符,选择更多样的移动方式(如左右移动,上下移动,发散式变换等) 。同时,可更改的显示字符,和可更新的字库,让矩阵 LED 显示屏具有高效重复利用的特点。引言曾经,霓虹灯几乎是每个城市最耀眼的光源,每到夜晚,总能看到五光十色的霓虹灯组成的各种标语。但众所周知的是,霓虹灯只能进行固定的一些显示,而且可回收性差,与当前的可持续发展战略想矛盾。同时,我们需要更低能耗,更加智能的显示方式来满足日益增强的发展
2、需要。矩阵 LED 显示屏应运而生,它的智能特性、可重复利用特性和操作的简易性让它能够满足各种各样的需求。而它的控制芯片8051 单片机更是低成本,功能强大的一款芯片,完全可以满足个人开发,商业采购的需求。正文1. 系统组成本系统由单片机模块、电源模块、晶振模块、矩阵 LED 模块组成。系统框图如下:矩阵键盘操作模块单片机矩阵 LED 模块电源模块晶振模块液晶操作显示模块1.1 矩阵 LED 模块矩阵 LED 模块主要是整个作品的主要功能部分。它能够根据单片机的程序点亮设定位置的发光二极管组成一定的字符来进行显示。同时可以根据程序设定,产生一定的视觉效果(如闪烁和移位) 。框图如下:具体的原理
3、图如下(以开发板的点阵为例):1.2 矩阵键盘操作模块及液晶显示模块可以预设多种字符串作为事件 n,通过矩阵键盘进行选择,同时可以设定视觉效果。整个设定过程是通过液晶显示屏进行人机交流的,这样可以在不修改程序的情况下灵活的进行矩阵 LED 模块显示的调整。矩阵 LED模块 单片机输入电源模块矩阵键盘原理图如下液晶显示模块(以开发板的 1602 液晶为例):矩阵键盘 单片机矩阵 LED模块液晶显示模块1.3 晶振模块8051 单片机内有一个高增益发相反放大器,在其外部引脚 XTAL1 和 XTAL2上接入一个定时元件,即可构成一个时钟电路,为单片机工作提供时钟信号。本系统采用石英晶体和电容组成的
4、并联谐振电路作为定时元件。电路图如下:1.4 电源模块由于市电 220V 远远高于单片机工作的 5V,所以为了得到更可靠的电源,系统中采用变压器进行变压、通过整流桥进行整流,用稳压芯片 7815 和 7805 做成两级稳压进行逐层稳压。7805 部分的电路图如下:VS+为 7815 输出。2.算法设计2.1 算法介绍程序采用了 C 语言进行编程,主要算法思想是使用循环结构和条件分支结构,系统初始化完成后,开始进行键盘扫描,当检测到按键按下时则进入相应的子程序进行显示的调整:1) 字符内容的更改。2) 视觉效果的选择。2.2 流程图系统流程图如下:否是是否按下?是否更改字符?键盘扫描开始系统初始
5、化(默认字符与视觉效果)是是否更改视觉效果?否是否更改矩阵 LED 显示更改矩阵 LED 显示2.3 部分程序代码2.3.1 矩阵键盘扫描(需要另外对各按键进行定义)unsigned char KeyScan(void) /键盘扫描函数,使用行列逐级扫描法unsigned char Val;KeyPort=0xf0;if(KeyPort!=0xf0)/表示有按键按下DelayMs(10); /去抖if(KeyPort!=0xf0) /表示有按键按下KeyPort=0xfe; /检测第一行if(KeyPort!=0xfe)Val=KeyPortVal+=0x0e;while(KeyPort!=0
6、xfe);DelayMs(10); /去抖while(KeyPort!=0xfe);return Val;KeyPort=0xfd; /检测第二行if(KeyPort!=0xfd)Val=KeyPortVal+=0x0d;while(KeyPort!=0xfd);DelayMs(10); /去抖while(KeyPort!=0xfd);return Val;KeyPort=0xfb; /检测第三行if(KeyPort!=0xfb)Val=KeyPortVal+=0x0b;while(KeyPort!=0xfb);DelayMs(10); /去抖while(KeyPort!=0xfb);retu
7、rn Val;KeyPort=0xf7; /检测第四行if(KeyPort!=0xf7)Val=KeyPortVal+=0x07;while(KeyPort!=0xf7);DelayMs(10); /去抖while(KeyPort!=0xf7);return Val;return 0xff;2.3.2 矩阵 LED 显示unsigned char code HEYAO_DuanMa=0x10,0x28,0x44,0x82,0x92,0x6C,0x0,0x0;unsigned char code HEYAO_WeiMa=0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7
8、F;void main (void)unsigned char i=0;while(1)DataPort=0X0; LATCH1=1; LATCH1=0;DataPort=HEYAO_WeiMai; /取列码LATCH2=1; /列锁存LATCH2=0;DataPort=HEYAO_DuanMai; /取显示数据,行码LATCH1=1; /行锁存LATCH1=0; i+;if(8=i) i=0; 3.作品样图:以学习板上的实现效果为例:总结与感想本系统通过对单片机的程序设计,实现对矩阵 LED 显示屏的智能控制。可更改的显示字符,和可更新的字库,让矩阵 LED 显示屏具有高效重复利用的特点;多种视觉效果让 LED 显示屏的显示效果丰富多样。最终能够实现显示想要的内容和效果。在这个过程中,我应用了在电子设计比赛的作品简易数控直流电源中自学的矩阵键盘与 1602 液晶,使这个作品能够实时控制单片机的程序,实现人机对话。将这个作品在学习板上实现后,我感觉它具有很大的商业前景还有更多值得挖掘的潜在价值。所以我会把这个应用研究继续下去,这不仅是对我参加全国电子设计大赛的一种能力提高,也是很好的一个经历。参考资料51 单片机 C 语言教程-郭天祥- 电子工业出版社MSC-51 单片机原理、系统设计与应用 - 万福君等 -清华大学出版社