线阵LED图文显示装置分析方案.docx
《线阵LED图文显示装置分析方案.docx》由会员分享,可在线阅读,更多相关《线阵LED图文显示装置分析方案.docx(10页珍藏版)》请在冰豆网上搜索。
线阵LED图文显示装置分析方案
线阵LED图文显示装置报告
电子设计竞赛
南京信息工程大学电子设计大赛作品论文
11通信1班
王增瑞,尹杰,肖彬
2018/4/6
线阵LED图文显示装置报告
摘要
LED旋转显示器时基于视觉暂留原理,开发的一种旋转式LED显示屏。
本设计基于STC89C52RC单片机,通过直流电机带动旋转,在具有一定转速地载体上安装16个LED发光器件,各LED发光管等间距排位一条直线,随着旋转速度的加快,不断扫描出预设的文字,图案等。
针对传统LED显示屏视角单一、体积较大、需要的发光二极管数目较多等特点,利用电机带动LED显示阵列高速旋转实现环形显示,达到360全视角,在相同显示信息量上降低产品体积,减少对发光二极管的使用,设计一个可以经常方便变换内容、能够携带方便、信息容量大、价格低廉、结构简单的信息播放系统,即旋转LED显示屏。
实际制作的LED旋转显示屏技术参数的测试结果,以及实际的运行效果表明,本文设计和制作的旋转显示屏基本符合设计的基本要求,具有一定的创新性与实际应用价值。
设计关键词:
STC89C52RC单片机,视觉暂留,直流电机,旋转。
一、任务要求
1.基本要求
(1)制作一个由16只LED构成的线状点阵及其控制电路,安装于可旋转的平台上,在平台的中心设置一个按键,用于功能的切换,电机带动平台以合适速度旋转。
(2)开机时装置完成显示自检,能对点阵中16只LED逐个点亮,每只LED显示时间约为1秒,此时平台不旋转。
(3)以离按键最远的一个LED编号为16,离按键最近的一个LED编号为1,能通过按键切换,实现16个同心圆图形中的偶数序号同心圆顺序显示<由大到小)和奇数序号同心圆逆序<由小到大)显示。
每个同心圆图形均显示时间为0.5秒左右。
2.发挥部分
(1)通过按键切换,显示一个指针式秒表,该秒表以标志杆为起始标志,秒针随时间动态旋转,旋转一周的时长为60±1秒。
(2)其它。
二、总体方案设计
1.系统分析
本设计要求进行旋转LED显示屏的研究和设计。
系统以STC89C52RC系列单片机作为核心控制器件,通过控制电机保持一定的速度稳定旋转,带动单排LED旋转,形成扫描显示屏;单片机根据LED旋转的速度,控制LED发光或熄灭,在视觉上形成平面图形点阵的显示效果。
2.方案论证
①系统供电方案选择
我们采用固定电池供电。
即在电路板是直接附带一组干电池,为系统供电。
采用电池供电,使用时,将电池固定在电路板上适当的位置,既解决旋转时因重力引起的重心不稳,同时也省去制作的时间。
②驱动电机模块
方案一:
采用步进电机。
步进电机能够准确的定向,但是图像或者文字的分辨率受到步进电机的步进角度的限制。
并且步进电机以及控制电路成本较高,并且需要单片机控制,占用CPU的资源。
方案二:
采用普通的直流电机。
此方案,使用方便,成本较低,通过简单的改装,可以给系统供电。
综合各方面考虑,为了节省成本,简单系统电路,以及更方便的为系统供电,使系统能够长期工作,我们采用了直流电机。
3.方案设计
本文的设计是以STC89C52RC为核心,利用LED显示阵列搭建的点阵式旋转LED屏系统。
该系统主要由电机,控制电路,LED显示阵列三部分组成。
电机的作用就是带动电路部分进行旋转,这个部分的关键就在于电机的转速要均匀,这样才能保证图像在水平方向不会被局部伸展或者压缩。
为了使LED转速保持稳定,我们采用使用匀速的直流电机。
LED整列是旋转屏的显示主体,为LED显示控制电路的作用是将存储在芯片内图像或符号,在旋转位置感应信号的同步下,根据旋转的位置按列扫描显示在LED阵列上。
这部分是整个系统的核心。
4.系统总体方框图
单片机
STC89C52R
直流电机
系统框图
三、电路与程序设计
1系统硬件设计
1.1重心调节
重心调节是最困难的一个技术环节。
旋转的重心直接关系到系统的稳定的运行,以及安全性问题。
旋转的重心如果不在转轴上的话,在高速的旋转中,会产生剧烈的抖动,在巨大的离心力下,会使整个系统分解,产生安全隐患。
所以,重心调节是必须解决的问题。
下面介绍重心调节的方法。
首先是电路板的外观设置。
根据物理质心计算方法,可知道,均匀的圆盘的重心就在圆盘的中心。
但是,由于电子器件的封装,重量都是不同的,圆盘电路板的重心是不均匀分布的,比较难调节,故不采用这种方法。
根据杠杆原理,当支点两端的物体的质量与力距乘积相等时,杠杆就处于平衡。
因此我采用了长条方型的电路板结构。
2.1硬件设计
总设计原理图
2.软件设计
系统用C语言编程,程序主要由下列几部分组成
1主程序:
voidmain(>
{
LEDwater(>。
while(1>
{
ucharSystem_Mode。
if(key1==0>
System_Mode=1。
if(key2==0>
System_Mode=2。
switch(System_Mode>
{
case1:
flash(>。
break。
case2:
default:
break。
}
}
}
2流水灯:
LEDwater(>//流水灯
{
uinti,j。
P1=0xff。
P3=0xff。
while(1>
{
for(i=0。
i<8。
i++>
{
P1=table1[i]。
delay_50ms(20>。
}
P1=0xff。
for(j=0。
j<8。
j++>
{
P3=table1[j]。
delay_50ms(20>。
}
P3=0xff。
P1=0x00。
P3=0x00。
delay_50ms(20>。
P1=0xff。
P3=0xff。
break。
}
}
同心圆:
flash(>//功能1:
奇数偶数闪烁
{
uchari,j。
while(1>
{
for(i=0。
i<8。
i++>//偶数闪
{
P1=table1[i]。
delay_50ms(10>。
i++。
if(key1==0>
LEDwater(>。
}
P1=0xff。
for(j=0。
j<8。
j++>
{
P3=table1[j]。
delay_50ms(10>。
j++。
if(key1==0>
LEDwater(>。
}
P3=0xff。
for(i=0。
i<8。
i++>//奇数闪
{
P3=table2[i]。
delay_50ms(10>。
i++。
if(key1==0>
LEDwater(>。
}
P3=0xff。
for(j=0。
j<8。
j++>
{
P1=table2[j]。
delay_50ms(10>。
j++。
if(key1==0>
LEDwater(>。
}
P1=0xff。
for(i=0。
i<8。
i++>//奇数偶数一起闪
{
P1=table1[i]。
P3=table2[i]。
delay_50ms(10>。
i++。
if(key1==0>
LEDwater(>。
}
P1=0xff。
P3=0xff。
for(j=0。
j<8。
j++>
{
P3=table1[j]。
P1=table2[j]。
delay_50ms(10>。
j++。
if(key1==0>
LEDwater(>。
}
P3=0xff。
P1=0xff。
break。
}
}
五、系统测试
1.测试方案
分别对硬件,软件以及整个系统进行测试。
硬件以对元件焊接测试,整板测试,上电功能测试为主;软件主要对写好的程序进行仿真运行;做好软硬件的测试后,整机调试时非常重要的,要进行不断的调试,让软件和硬件完美的结合,这样才能达到预期的效果。
2.调试环境
硬件:
(万用表、pc机、直流电源>
软件:
3.测试结果
设计显示出了预想的结果,基本达到了要求。
4.测试结果分析
从测试数据分析可知,系统电路设计基本满足功能要求,能顺利实现基础部分的要求。
由于电机驱动的结构设计还不是很理想,所以运行时,会导致成品的晃动,但还是完成了预期的效果。
六、总结与展望
本论文以单排LED显示字幕、图案为研究对象,通过对单片机,16个单排LED灯,电机的结合运用,在此基础上提出了硬件和软件设计方案,总结前面几章的论述,本文得出部分硬件、软件理论原理和具体的控制方案,具体结论如下:
1、通过利用高速旋转电机带动一排LED灯旋转,通过单片机控制LED灯的闪烁时间和频率以呈现一幅完整的画面,如显示同心圆;
2、单片机从价格、处理速度,选择STC89C52单片机既可以保证控制精度,又能使设计大大简化;
3、考虑到价格和电源方面的因素,此设计运用了以直流电机来带动LED旋转,并能获得较佳的效果;
4、考虑到美观和阻力因素,此设计运用LED,用干电池为LED供电,从中降低了硬件设计难度,且成本也不高。
5、旋转LED动态显示屏已制作完成,在实际运行中可能还会出现许多未曾考虑到的问题,有待于进一步的完善具体来说进一步的工作主要有:
优化软件流程,加快执行速度;
增加对多屏的控制;
优化硬件结构,最大限度降低制作成本和运行阻力。
附言:
在这次电子设计大赛的过程中,我们团结协作,受益匪浅。
在这个过程中,我们组也历尽坎坷。
最初,我们在软件仿真中很快就把其基本功能实现了,基本功能的程序也已编好。
然后,就到买器材的时间了,由于是第一次参加电子设计大赛,所以对这一切都不熟,在距离上交作品还有一周时我们组去买器材,那是周日,我们早上很早就去电子市场买器材<由于当时有等级考试及其他许多事,所以才等到周日),结果人家周日休息,我们白跑一趟。
大家忍着无奈,疲惫的返回学校继续完善设计。
第二天,周一,我们抽下午没课的空再次赶到电子市场,终于买到了器材。
为了容易开到发票,所以全部器材都在一家买的,导致最后我们发现自己的电机比别人小很多,我们担心它最终会转不起来。
但时间已经很紧了,而且我们也没时间再去买器材了,所以就用了那个小的。
作品6号要交,我们的电路终于在4号晚上焊的差不多了。
5号我们测试,发现LED灯一个都不亮,我们都很紧张,也很不解。
紧张是因为作品马上就要上交了,而不解是因为我们在电路的焊接过程中一直很小心,电路应该没问题。
就这样,我们一直在找原因。
转眼间就到6号中午了,我们还没找到问题出在哪,晚上就要交了,我们还没有头绪,大家都很失落。
到了这个时候,我们就先去图书馆把这些天借的书还了,顺便活动一下思路,放松一下心情。
从图书馆出来,说实话,我们都有些灰心了,但是我们不甘心,我们不想这么多天的辛苦和努力白费,于是我们又返回实验室重新焊电路,把器件从原来的电路板上熔下来,再焊到新的板子上。
从14:
30开始我们开始赶制。
功夫不负有心人,终于把控制电路焊好了,我们看到了希望。
LED灯一开始有几个不亮,经检查,有三个是由于焊接处接触不良造成的,有一个是因为灯是坏的。
我们马上换灯补焊,16个LED灯终于可以全部亮起来了。
我们激动,因为灯亮了就有希望了。
接下来,我们把其他部件一一加了上去,由于时间不够了,复位电路我们就没有再焊上去。
在这个过程中,每加一个部件灯的闪烁就会出现异常,我们很不安,生怕完成不了。
但最终,问题一一被解决。
其中,晶振电路有点接触不良,所以LED灯闪烁不稳定,这个毛病最终被我们找到了。
最后我们把那个很小的电机粘了上去,发现电路可以旋转,基础部分总算是完成了。
我们还想调试时钟电路,但发现已经20:
30了,来不及了,于是我们把电路的接线处处理了一下,然后我们又赶回宿舍拿发票及封装盒。
虽然累得喘不过气,但我们最终在截止时间前上交了我们的作品。
看着我们辛苦了这么久总算是有了结果,不管结果如何,我们已经尽了最大努力,在这个过程中我们学到好多,分工明确,团队合作是十分重要的,此外,从一开始对单片机一无所知到最终做出自己的作品,我们对C语言的编程控制有了更加深入的理解,体会到了它的强大。
对单片机最小系统有了体会。
我们终于明白实际中做一个作品还是很不容易的事。
我们这个编程还不算困难,如果真正做一个大的工程,需要考虑的事是很多的,同时,这也激发了我们继续深入研究的兴趣。