最新LED汉字点阵显示系统设计.docx
《最新LED汉字点阵显示系统设计.docx》由会员分享,可在线阅读,更多相关《最新LED汉字点阵显示系统设计.docx(15页珍藏版)》请在冰点文库上搜索。
最新LED汉字点阵显示系统设计
LED汉字点阵显示系统设计
辽宁工业大学
电子综合设计与制作(论文)
题目:
LED汉字点阵显示系统设计
院(系):
电子与信息工程学院
专业班级:
电子092
学号:
090404031
学生姓名:
罗哲
指导教师:
教师职称:
起止时间:
课程设计(论文)任务及评语
院(系):
电子与信息工程学院教研室:
电子信息教研室
学号
090404031
学生姓名
罗哲
专业班级
电子092
题目
LED汉字点阵显示系统设计
任务和要求
任务和要求:
基本要求:
1、采用8051单片和LED点阵显示模块设计实现组合点阵信息显示。
2、设计驱动电路具备字符显示及点阵显示功能
2、提高要求:
具有显示内容自动更新的功能以完成对任意存储的信息内容进行完整的显示。
指导教师评语及成绩
平时:
论文质量:
答辩:
总成绩:
指导教师签字:
学生签字:
年月日
注:
成绩:
平时20%论文质量60%答辩20%以百分制计算
摘要
本文主要了介绍LED汉字点阵显示系统原理。
以51单片机作为控制部分的核心,分别论述了分区显示和整体逐行扫描显示的可行性及其理论依据。
从分别从硬件构成和软件驱动的方面分析了LED汉字点阵显示系统的原理,并给出了可行的方案。
同时,本文也用一定的篇幅简要介绍了较大规模的LED汉字点着显示系统,即其在实际设计中应注意的问题和解决方法。
本文所介绍的LED汉字点阵显示系统具有思路简答,易于实现的特点,所有设计参数均经过详尽的计算或查阅相关的资料,且已经在protues仿真平台上测试通过。
关键词:
单片机;点阵屏
第1章绪论
LED汉字点阵显示系统的应用前景
目前,基于LED点阵屏的标牌在公共场所,市内外广告,信息发布,大型活动现场等地随处可见。
且有向大面积,多色化,以及廉价的趋势发展。
研究LED汉字点阵显示系统的意义在于可以更好的了解LED汉字点阵显示的原理和工作特点,以便于可以对现有产品进行修改和升级,使其性能更加优良,更符合大型活动和普通日常生活的需要,为人们在信息获取方面提供更多的便利。
LED汉字点阵显示屏具有醒目,低成本,性能稳定,易于安装等诸多优势。
与液晶屏幕相比虽然能好较高,但其容易实现模块化,使用时可以根据实际情况进行组装,增大了使用的方便性与灵活性。
因此,在未来相当长的一段时间内,LED汉字点阵显示屏和传统的液晶显示屏将在信息传播上发挥其各自的特点。
本文研究内容
本文以51单片机作为控制系统的主体,深入分析和介绍了LED汉字点阵显示的作用原理和控制方法。
分别从硬件构成和软件实现两个方面对LED汉字点阵显示系统进行研究。
分别从理论与实际的角度分析了单个LED汉字显示系统与多字及多像素图案显示系统在硬件结构与软件编程方面的区别。
本文设计的LED汉字显示系统可在protues软件平台上进行仿真。
但软件仿真方面,在LED点阵屏显示的完整性上表现不是很好。
如在快速扫描显示的时候,点阵屏会有一行无法显示。
第2章
LED汉字点阵显示硬件设计
字模的提取
计算机显示屏上的汉字实际上是由一组有序排列的像素构成的。
如果有笔画的像素不亮,而其周围的像素都是亮的,就能看到一个黑色笔画的汉字。
能够清楚地显示一个汉字的最小像素数是16*16=256。
这是DOS时代就定下的规矩。
现在的WINDOWS有了矢量字体,大大丰富了汉字的显示,能在屏幕上不失真地显示不同字体的汉字。
在计算机中,由8位比特(bit)组成一个字节(byte),而双字节则构成一个字。
于是可以用两个字节共16位比特来代表一行的信息,16行共32个字,用某位是0还是1来控制点亮还是熄灭对应位置的像素,就能在16*16LED点阵屏上显示汉字。
所以,首先要做的就是如何得到这256个表示汉字笔画的信息。
这里需要用到一个专门用于提取字模的软件。
如图1。
图1字模提取软件
这款软件可以实现将汉字(可以是任意字体)或任意图型转化成任意点阵组成的矩阵或数组。
我们可以以此作为汉字显示的依据。
由于每块LED模块为8*8的点阵屏,由图可见组成完整的汉字显示屏幕需要用到4块这样的显示屏。
字模分区示意
图2所示是一个“辽”字,这里将一个汉字的显示区域划分成四个8*8的子区,即A,B,C,D区。
如图2
显而易见,可以用一个字节来表示一个子区中一行的信息,32个字节就能表示4个子区。
我们只要按照某种顺序,依次将这些信息存入一个容量为32的数组就可以了。
存取的顺序可以有多种,比如A,B,C,D或A,C,B,D等,存取顺序的不同,没有大的区别,只是影响将来的编程思路。
以图为例,按A,B,C,D的顺序可以得到的数据如下:
/*--文字:
辽--*/
/*--宋体12;此字体下对应的点阵为:
宽x高=16x16--*/
0x40,0x00,0x27,0xFC,0x30,0x08,0x20,0x10,0x00,0xA0,0x00,0x40,0xE0,0x40,0x20,0x40,
0x20,0x40,0x20,0x40,0x20,0x40,0x23,0xC0,0x20,0x80,0x58,0x00,0x87,0xFE,0x00,0x00
如果这里只考虑A区的话,那得到的数据就是上面加下划线的部分,即:
0x40,0x27,0x30,0x20,0x00,0x00,0xe0,0x20
这里首先从8*8点阵的最高行开始点亮(0xfe),然后在点亮每行的时候,读入对应行的16进制代码。
此代码可存于一个8个元素组成的数组中。
当使用4块led模块时,共有256个像素。
以8个像素作为一组,则共需要扫描32次以完成一次显示。
LED汉字点阵显示系统总体设计方案
这里暂不考虑实际使用的布线问题,仅从理论的角度分析。
由于是使用51单片机,所以共有4个I/O口可供使用。
使这4个I/O口相互搭配,协调使用,即可实现对汉字的显示。
汉字显示框图
但由于本文设计采用的是共阴极LED点阵屏,所以对列选通的8位信号每次只需要有一个是低电平(有效),其余均是高电平(无效)。
显然这里是可以用74138之类的译码器进行简化电路结构的,简化后P0和P3作为数据口保持不变,而P1和P2作为片选仅需要6个引脚即可。
篇幅所限,此种方案暂不作重点介绍。
控制核心模块设计
CPU的选择
如题,现在市面上最常见的51单片机主要由atmel和STC公司生产。
两者除在程序烧写时有较大差异外,其他多数情况是可以兼容的。
这里选择STC89C52RC这个芯片。
复位和时钟电路设计
图4复位和时钟电路
复位和始终电路如图所示,其中晶振为12M,电容器C1,C2为33pF的陶瓷或独石电容,C3为10μF的电解电容器。
电阻阻值为10k。
LED汉字点阵显示控制核心模块原理图
图5硬件电路图
第3章LED汉字点阵显示系统软件设计
基本软件功能综述
目前市场上的同类产品,除了硬件构成以外,还要包含上位机软件,用于将所需要显示的汉字按照字体,大小,移动方向等要求转换成相应得代码,再通过串口通讯将控制程序传送到控制部分的存储器上。
LED汉字点阵显示系统是将每个汉字分成4个区域,分别显示。
又将每个区域分成8行,依次进行扫描。
每一行由8位二进制数代表的汉字字形编码构成。
所谓程序就是数据+算法。
首先设计一个有效的数据结构,再根据硬件电路的寻址方式,有序地将数据送达正确的点位(算法),最后汉字就显示出来了。
数据准备:
从本文前述关于16*16点阵汉字信息的提取,结合实例中的硬件寻址方式,不难想象,只要将这32个字节顺序存入一个数组,然后每两个字节为一组送往P0端口和P3端口形成列地址,再通过P1和P2给出行地址,对应行的LED将被选中,位于P0和P3中高电平的LED被点亮,其他的不亮,该行的点阵就形成了。
如此动作16次,将32个字节依次送出,一帧(16*16)的图案就先试试出来了。
只要以小于1ms的时间间隔循环做这组动作,一个汉字(或图案)就能稳定地显示在点阵屏上。
复杂软件功能
由于LED点阵屏本身结构简单,所以所谓的复杂显示也只是文字的上下滚动和左右移动等“动态”的显示操作。
这两种操作本质上都是对字模数组或点亮LED的行信息进行有规律的修改,比如将程序3.4中的字模数组整体每秒左移一位,我们就可以看到“辽”在LED点阵屏上从由向左就行滚动。
流程图设计
程序清单
#include
#include//此为自定义函数集,定义了常用延时函数和简化语句等
//intone[8]={0x00,0x20,0x13,0x00,0x00,0x30,0x50,0x10};//辽A
intzimo[32]={0x00,0x00,0x67,0xFC,0x37,0xFC,0x10,0x18,0x00,0x70,0x00,0x60,0xF0,0x60,0xF0,0x60,
0x30,0x60,0x30,0x60,0x31,0xE0,0x30,0xC0,0x78,0x00,0xCF,0xFE,0x47,0xFE,0x00,0x00};
inti=0;
charstatus;//存储A,B,C,D用于指示4个区域的显示状态
voidshowA(void);
voidshowB(void);
voidshowC(void);
voidshowD(void);
voidshowA(void)
{
P0=0;
P1=0;
P2=0XFF;
P3=0;
P1=0X7f;
for(i=0;i<16;i=i+2)
{
P0=zimo[i];
delay_n40us(3);
P1=P1>>1;
P1=P1+0x80;
}
status='B';
}
voidshowB(void)
{
P0=0;
P1=0;
P2=0XFF;
P3=0;
P1=0X7f;
for(i=0;i<16;i=i+2)
{
P3=zimo[i+1];
delay_n40us(3);
P1=P1>>1;
P1=P1+0x80;
}
status='C';
}
voidshowC(void)
{
P0=0;
P1=0XFF;
P2=0;
P3=0;
P2=0X7f;
for(i=16;i<32;i=i+2)
{
P0=zimo[i];
delay_n40us(3);
P2=P2>>1;
P2=P2+0x80;
}
status='D';
}
voidshowD(void)
{
P0=0;
P1=0XFF;
P2=0;
P3=0;
P2=0X7f;
for(i=16;i<32;i=i+2)
{
P3=zimo[i+1];
delay_n40us(3);
P2=P2>>1;
P2=P2+0x80;
}
status='A';
}
voidmain()
{
status='A';
while
(1)
{
if(status=='A')showA();
if(status=='B')showB();
if(status=='C')showC();
if(status=='D')showD();
}
}
仿真结果
对3.4中C语言程序进行编译,并在protues仿真平台上运行测试,结果如图3-5所示。
由于仿真软件与实际尚有出入,所以在C,D上少显示了一行。
图3-5仿真结果图
第4章系统设计与分析
系统扩展方案
单独汉字显示的系统搭建非常简单。
使用四条8排线缆将单片机主控板的4组I/O口与4块16*16点阵屏的对应端口插接即可。
但是,当需要显示多个汉字,即需要多组LED点阵屏来显示的时候,并不是简单的将系统级联起来那么简单。
因为单片机的I/O口不足以满足同时传送很多数据的需要。
这时就要使单片机输出串行信号,再通过串并转化电路将串行型号转化成并行信号。
这里可以使用74HC595(三态8位D触发器)或类似的74HC164.同时,系统的总体结构也应做适当调整,即每一块LED点阵模块配一个73HC138译码器和一片74HC595寄存器。
所有的译码器采用并联连接,所有的寄存器采用级联连接。
这种连接方法实际上比单独的汉字显示系统更节省单片机的输出端口。
只是当串行数据的长度达到一定时,总的串并转换时间也会随之增加。
假定8D触发器存入一位数据的时间是1ms,那么完成全部8位的串并转换就需要8ms,如果这样的系统级联10个(即构成可以同时显示5个最小汉字的系统)就要80ms,这样即使能够稳定地显示出汉字或图案,点阵屏的实际亮度也会大打折扣。
因此,串并转化的速度是系统总体性能如何的关键。
51单片机如果用12M左右的晶振,可以提供最小为40μs的软件延时。
而更新型的微控制器的时钟频率已经大大增加,所以实际上重点不在于CPU的选择,而是串并转化的精度。
基本所有的微控制器都具有串行输出的能力,但是这里对数据分配的要求较多,所以与其用这个功能,倒不如重新编写这部分串并转化的软件,这样也更有针对性。
系统扩展框图
LED汉字显示系统在扩展以后,不在需要逐区地进行扫描显示,因为字数增多有,子区的数目也会随之增加。
取而代之的是由单片机输出串行数据,再有串并转化电路转换成并行电路,再由对应的地址译码器进行片选。
如图7所示。
74HC595
74HC595
74HC595
LED
LED
LED
74HC138
74HC138
74HC138
DATA
8051
CLK
图7系统扩展框图
第5章设计总结
本文所设计的LED汉字点阵显示系统以51单片机为主要的控制元器件,从硬件和软件两个方面依次分析了LED汉字点阵显示系统的功能和实现方法。
并且在protues仿真软件中通过了测试。
在设计过程中,首要的问题是字模的提取,和市场上的很多同类产品一样,这里是通过专门的软件来实现的。
需要解释的是,和通常我们所说的汉字代码不同,不是说把所有汉字的代码存入一个存储器的问题。
LED汉字显示系统显示的汉字是将其按字体,大小,移动方式等进行特定的编码,和汉字代码完全是两个概念。
其次就是软件部分的算法,即实际的显示方式。
本文着重介绍了以A,B,C.,D四个子区为基础的依次显示的方法。
同时也简要介绍了在级联情况下(即实际的解决方法)的编程思路。
参考文献
[1]张毅刚.单片机原理及应用.北京:
高等教育出版社,2004
[2]胡汉才.单片机原理及其接口技术.北京:
清华大学出版社,1996
[3]刘午平等.数字电子技术从入门到精通,国防工业出版社,2006.1
[4]阎石等.数字电子技术基础.高等教育出版社,2005
[5]陈永真等.全国大学生电子设计竞赛硬件电路设计精解.电子工业出版社,2011.5
[6]《中国集成电路大全》编写委员会主编,中国集成电路大全高速CMOS集成电路,北京:
国防工业出版社,1985
[7]席卫平.玩转16×16LED点阵屏.无线电.2012,第一期:
49