唐山工业职业技术学院毕业设计封面Word文件下载.docx
- 文档编号:20053960
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:35
- 大小:1.71MB
唐山工业职业技术学院毕业设计封面Word文件下载.docx
《唐山工业职业技术学院毕业设计封面Word文件下载.docx》由会员分享,可在线阅读,更多相关《唐山工业职业技术学院毕业设计封面Word文件下载.docx(35页珍藏版)》请在冰豆网上搜索。
信息传播类LED光效——各种类型的大屏幕点缀着人们的生活;
光立方制作所需材料较常见,成本低廉、性价比高等优点具有较高的研究价值。
本次毕业设计一改传统的平面流水灯的风格,而是从平面向立体发展,通过更宽广的三维空间呈现出更加绚丽的效果,直接冲击着人们审美视觉,不在停留在乏味的平面成像。
设计并采用更优于89C51的STC12C5A60S2
单片机,使系统具有更强大的功能和驱动能力。
再者,从平面向立体这符合科技发展的要求,适应主流。
3D8光立方主体部分由512LED灯组成,在制作过程中锻炼学习动手焊接能力,并以低成本,智能化产品对实现经济利益、商业价值的形成具有积极的推动作用。
1.2光立方电路设计
主要分为四个模块分别是主控模块、驱动模块、显示模块、音频模块
图1-1主控电路
1主控电路
这个设计选单片机选型号时候需要考虑带AD功能和较大的程序存储空间,STC12C5A60S2单片机是STC公司生产的单时钟/机器周期(1T)的单片机,是高速,低功耗,超抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,应用程序空间高达60K,尤其适合做光立方。
如图1-1
图1-2驱动电路
2驱动电路
主要部件74HC573锁存器,74HC573包含八进制3态非反转透明锁存器,是一种高性能硅门CMOS器件。
它的数据锁存功能,在输入的数据消失时,在芯片的输出端,数据仍然保持。
真值表如下.
图1-3真值表
图1-4显示电路
3.显示电路
显示电路所有的灯的负端都是接在一起的,每一组都是控制光立方的一个面,控制的是光立方的竖起来的面,而横着的面由图2的ULN2803达林顿管驱动器控置。
4.音频电路
音频电路是本设计的特色,单片机的P1.0和P1.1分别连接音频输入口端口的两个引脚,用单片机内部AD采样音频信号。
经过快速傅里叶变换,在光立方上显示出来音乐的频谱。
二、功能需求分析
2.1课题的背景和发展状况
LED点阵显示屏已经应用到了我们生活中的方方面面,科技发展的脚步一直向前,3D电影给人们带来了更加震撼的视觉体验,于是设计出一种3D显示屏。
光立方是由四千多棵光艺高科技“发光树”组成的,在2009年10月1日天安门广场举行的国庆联欢晚会上面世,这是新中国成立六十周年国庆晚会最具创意的三大法宝之首,自从国庆60周年联欢晚会开始演练后,一个全新的名词“光立方”,吸引了全国人民的关注。
国庆联欢晚会三样法宝,光立方为最,“光立方”在气势和整体感觉上,融合了北京奥运会开幕式“击缶而歌”和“活字印刷”的风格,而各种图案则与贯穿奥运会开幕式的“画卷”有异曲同工之妙。
“光立方”可以根据爱国歌曲的不同内容,展示不同的造型和图案,具有丰富的视觉效果。
2.2光立方的介绍
光立方顾名思义就是一个立方体,我们采用的是8*8*8的模式,大概的体积是17cm*17cm*17cm(长.宽.高),主要分为四个模块:
主控模块驱动模块显示模块和音频模块;
我们所做的光立方驱动电路,主控电路等都是纯手工焊接。
采用的主控芯片STC12C5A60S2芯片,驱动电路是采用我们常用的74HC573数字芯片。
本设计采用C语言编程实现不同图案的转变,利用单片机控制512个LED灯的亮灭,采用延时控制LED亮灭时间使LED灯图案转变的速度不同,最终使得整个立体呈现不同的造型和图案,使其变得美轮美奂、绚丽多彩。
LED光立方显示技术的特色之处:
一是节能(直接功耗,间接耗能)高空间利用率,
二是基本无电离辐射。
LED点阵显示屏的特点还有比数码管具有实用、便宜、亮度高等优点,而且做出来的LED显示很耐用。
LED显示屏还具有亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定等优点。
LED点阵显示屏的发展前景极为广阔,目前正朝着更高亮度,更高耐气候性,更高的发光密度,形状的多样性,更高的发光均匀性、可靠性、多色化方向发展。
三、具体设计
3.1元器件选择
1)由于光立方的程序量比较大,而且要求相对比较高,因此用51系列的增强型芯片STC12C5A60S2,选择的理由:
1.超强抗干扰;
2.内部集成高可靠复位电路,外部复位可用可不用;
3.速度快,比8051快8-12倍。
2)由于灯的个数比较多,因此所需要的电流相对也比较大,所以选择ULN2803达林顿管驱动器。
3)驱动部分使用了熟悉的74HC573,其优点有1.高阻态,就是输出既不是高电平,也不是低电平,而是高阻抗的状态;
在这种状态下,可以多个芯片并联输出;
2.数据锁存;
当输入的数据消失时,在芯片的输出端,数据仍然保持;
3.数据缓冲、加强驱动能力。
4)LED灯的选择,因为光立方主体骨架是由LED灯脚架接而成,且距离不小,所以应该选用长脚LED,由于高亮灯散射现象不明显,发光比较集中,所以选用效果较好的雾状灯。
综上,最终选择的是长脚蓝色雾状灯。
图3-1雾状LED灯
3.2显示模块
我首先完成的是LED光立方的搭接,为了保持整体的通透性、立体感,3D8光立方没有设计额外的LED支架,所有的搭建全部使用LED的自身的管脚。
1)水平弯折:
基本徒手就可以保证焊接的整齐性和保持角度的统一。
2)垂直弯折:
可借助尖嘴钳,目的是让阴极摆出发光体一部,使其可以与其上下的LED进行搭接。
(1)由点到线
准备一块水平板,在上面打上8*8的64个孔,分布均匀,孔径以配合LED为准。
将弯折好的LED插入一排插孔后,其阴极正好可以搭接在一起,进行焊接,实现线行内共阴的操作。
(2)由线到面
将焊接好的一条一条LED平躺在平面上,实现水平方向阴极的焊接,左方LED与右方LED阴极搭接的位置,可用LED自身根部的突起作为标志,控制层与层间距。
(3)由面到体
将水平各面依次插到面板上面,以后将上下层直接的阳极进行焊接,实现各8*8平面的层共阳,实现层共阳以后,我们就得到了共计8条对阴极引线,通过漆包铜线,实现各层的阴极线与主板的连接。
见图3-2
(4)静态测试
进行LED的静态测试,对内部常亮点、常暗点进行更换。
由于LED还是比较娇贵的元件,焊接过程中,应避免静电造成LED的损伤。
对面内各点进行测试,从面避免在各层都实现共阴连接以后再从中拆出个别坏点。
就原理图来说,3D8的LED搭接结果相对简单,512个LED,分别为64束,8层,束内共阳,层内共阴。
见图3-3
(5)线路板背部焊接
在线路板上均匀分布焊接64个针脚,并把针脚引到一条水平线上,等待下面与驱动电路焊接。
见图3-4
图3-2
图3-3
图3-4
3.3驱动模块
驱动电路由于线比较多电路比较复杂,由八个74HC573锁存器组成的,所以我们有比较多的跳线,首先分别把74HC573锁存器的1号和10号引脚焊接起来,20号引脚也连接起来,然后焊接的是74HC573锁存器的12-18引脚与64个引脚,最后把8个74HC573锁存器的2-8引脚连接起来与单片机的P0.0至P0.7连接,如图3-5:
图3-5
3.4主控模块
主控电路是最简单的电路,是以STC125A60S2单片机为核心的控制电路,其中还有一个控制层的ULN2803达林顿管驱动器与STC125A60S2单片机的P3.0-P3.7焊接在一起,晶振和电容焊接在单片机的18和19引脚。
如图3-6所示:
图3-6
3.5音频模块
音频模块是此次毕业设计的创新之处,通过按键进行模式切换,光立方可以随着输入的音乐信号进行跳动。
将单片机的P1.0和P1.1分别连接音频输入口端口的两个引脚,最后把所有的VCC和GND焊接到一起,把USB供电口和下载口焊接到线路板上就完工了。
图3-7
3.6调试
首先我用Keil编程软件编写的单片机程序,烧写进单片机里。
其次是检查全部的灯是否正常工作:
(1)通电后,发现有一列没有点亮,我用排除法来检查电路,首先是检查灯的线路是否虚焊,断路,果真是这列断路了,把它接上后这一列也亮了。
(2)调试过程中有几个灯一直不亮,用万用表欧姆档测量发现灯已经烧坏,拆下坏掉,但是有2个灯是存在虚焊问题,从新焊接后正常工作。
最后完美运行,如图
3-8
图3-8
四、总结
其实在很早之前就知道光立方这种东西,只是在许多地方找到的资料不是制作方式太复杂,就是电路设计难懂,制作精美的光立方也往往价格不菲。
而本设计旨在设计出一种制作简单、低花费、高质量的光立方。
经过查阅大量的相关资料,最终设计出了以STC125A60S2单片机为核心的控制电路,并用常用锁存器74HC573和8路非门ULN2803达林顿管驱动器设计了光立方驱动电路。
最初焊接光立方8×
8的面时,每个LED引脚的连接都是很困难的。
在这个过程中,我想到了一个制作模板,并最终加快了显示部分的焊接速度和焊接质量。
每焊好一层LED,都要仔细测试是否有虚焊或者短接,花了三天时间才把8层LED焊好。
之后在焊接64个插针时,由于每个插针在焊接前难以固定,所以一手拿镊子一手拿烙铁,先用焊锡固定插针,然后再把插针调整得笔直。
每一排,每一列还要最终调整得排列整齐,这个过程也很辛苦。
设计结束了,但学习仍在继续。
从这次的设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,实践是检验真理的唯一标准。
在今后的人生中,不断对自己所学的知识进行更新,进行补充。
参考文献
[1]谢自美.电子线路设计.实验.测试.武汉:
华中科技大学出版社.2006
[2]关积珍.LED显示屏发展状况及趋势[J].世界电子元器件,2000
[3]康华光,陈大钦,张林.电子技术基础.华中科技大学出版社.2002
[4]邱光源.电路(第五版)[M].北京:
高等教育出版社,2006
[5]张瑞玲.单片机原理与应用西北工业大学出版社2010
[6]祈伟杨亭.单片机C51程序设计教程与实验北京航空航天大学出版社2006
[7]江世明,基于Proteus的单片机应用技术[M],北京,电子工业出版社,2009
[8]王为青,程国钢,单片机KeilCx51应用开发技术,北京,人民邮电出版社,2007
[9]阮永松,打造音乐频谱时钟,无线电[J],2012
[10]刘兴钊,数字信号处理[M],北京,电子工业出版社,2010
[11]张毅刚,基于Proteus的单片机课程的基础实验与课程设计[M],北京,人民邮电出版社,2012
附录
程序
主程序
#include<
intrins.h>
//
#include"
STC12C5A60S2.H"
//芯片头文件
FFT.H"
//FFT(快速傅里叶变换)功能头文件
key.h"
//按键扫描头文件
zimo.h"
//
hc573.h"
//hc573驱动
flash.h"
#defineanumP3//定义ULN2803数据端口
sbitLED=P1^3;
//指示用LED(未使用)
ucharflag1;
//变量区分定时器0功能(0:
用于音乐频谱,1:
用于动画)
ucharADC_Count=0,LINE=15,G=0,T;
//ucharCOUNT=15;
//ucharCOUNT1=0;
//ucharcodetablew[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
//ucharcodetablew[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
//ucharcodetablew[]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01};
ucharcodetablew[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE};
ucharG;
ucharbuffer[8];
//功能初始化
voidInit()
{
//IO口默认状态
P0=0x00;
//74HC573数据口
P2=0x00;
//74HC573位选端
P3=0x00;
//ULN2803数据口
//IO口模式初始化
P3M0=0xff;
//ULN2803输出口设置为推挽输出
P3M1=0x00;
P0M0=0xff;
//P0、P2用于控制74HC573,推挽输出
P0M1=0x00;
P2M0=0xff;
P2M1=0x00;
P4M0=0x00;
//P4端口接有按键,设置为输入
P4M1=0xff;
//573初始化
initial573();
//-----ADC初始化------------------------------------------------------------------------------
P1ASF=0x02;
//0000,0010,将P1.1置成模拟口
AUXR1&
=0xFB;
//1111,1011,令ADRJ=0
EADC=1;
//AD中断打开
ADC_CONTR=ADC_POWER|ADC_SPEEDHH|ADC_START|channel;
//111010011打开A/D(ADC_POWER)转换电源;
11速度为90周期一次;
//0中断标志清零;
1启动adc(ADC_START);
001AD通道打开(这里为P1.1);
//-----定时器初始化------------------------------------------------------------------------------
ET0=1;
//定时器0中断启用
TR0=0;
//定时器0关闭
ET1=1;
//定时器1中断启用
TR1=0;
//定时器1关闭
PT1=0;
//定时器1低优先级
PT0=1;
//定时器0高优先级
IPH=PADCH;
IP=PADC;
//中断优先级
EA=1;
//总中断打开
clear(0);
//清空显示缓冲区
//按键设置
P4SW=0x70;
//将NA、ALE、EX_LVD设置为准IO口(P4.4、P4.5、P4.6)
}
/********主函数***************************************************************************************/
voidmain()
{
uchari=0;
//for循环变量
//设备初始化
Init();
//正常工作循环
while
(1)
{
clear(0);
//清空刷新显示缓冲区
key_scan();
//扫描按键
//关闭显示
if(key1flag==1)
{
key1flag=0;
xiansi1();
//关闭所有573输出
anum=0xff;
//关闭ULN2083输出
TR1=0;
TR0=0;
//定时器0关闭
}
//FFT
if(key2flag==1)
TMOD=0x12;
//T0:
8位自动重装T1:
16位模式
TH0=0x60;
//ADC采样周期(80us或6.66us)
TL0=0x60;
while
(1)
{
flag1=0;
TR1=1;
//刷新显示
TR0=1;
//控制采样速率
ADC_Count=0;
//开启定时器中断1
//开启定时器中断0
EADC=1;
//开启ADC
while(ADC_Count<
128);
//转换128次
for(i=0;
i<
128;
i++)//FFT参数虚部赋值
{
Fft_Image[i]=0;
//原始数据虚部赋值为0
}
FFT();
//FFT运算并转换为各频段幅值
//其他按钮,跳出
key_scan();
if(key2flag==0)break;
}
//顺序循环
if(key3flag==1)
TMOD=0x11;
clear(0);
flag1=1;
//定时器0功能控制
TR1=0;
//关闭定时器1
TR0=1;
//开启定时器0
//TH0=0xf0;
//TL0=0xff;
flash_6();
key_scan();
if(key3flag==0)break;
flash_5();
flash_1();
flash_2();
flash_4();
flash_3();
flash_8();
flash_7();
flash_11();
flash_9();
flash_10();
}
}
//定时器1中断用于刷新显示(只在频谱显示时使用)
voidLED_Display()interrupt3//中断一次显示一列
{
TH1=0xfd;
//刷新显示周期(300us或25us)刷新率TL1=0Xa8;
G++;
if(G>
=17)G=1;
switch(G)//往点阵屏填充一列的数据
{
//(LED_TAB[1])%8取八的余数
case1:
anum=tablew[(LED_TAB[1])%8];
hang1();
break;
case2:
anum=tablew[(LED_TAB[2])%8];
case3:
anum=ta
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 唐山 工业 职业技术学院 毕业设计 封面