《综合实训报告样式(光立方)》由会员分享,可在线阅读,更多相关《综合实训报告样式(光立方)(16页珍藏版)》请在金锄头文库上搜索。
1、河南机电高等专科学校综合实训报告系 部: 电子通信工程系 专 业: 应用电子技术 班 级: 应 电 102 班 学生姓名: 王 永 强 学 号: 100414207 2012年 6月实训任务书1时间:2012年5月28日2012年6月22日2. 实训单位:河南机电高等专科学校3. 实训目的:熟悉电路板及电子产品的制作全过程4. 实训任务:了解电路板图得来的方法,掌握电路板图的打印技巧;会使用热转印机将电路图转印到覆铜板上;掌握电路板的腐蚀过程及注意事项;会使用高速钻床给电路板打孔;认识电子元器件,熟悉常用元器件的特性;熟练掌握焊接方法和技巧,完成电路板的焊接;掌握电子产品通电调试的注意事项,会
2、编写程序;作好实训笔记,对自己所发现的疑难问题及时请教解决;联系自己专业知识,体会电子产品制作过程,总结自己的心得体会;参考相关的书籍、资料,认真完成实训报告。综合实训报告前言: 光立方是由四千多棵光艺高科技“发光树”组成的,在2009年10月1日天安门广场举行的国庆联欢晚会上面世。这是新中国成立六十周年国庆晚会最具创意的三大法宝之首。自从国庆60周年联欢晚会开始演练后,一个全新的名词“光立方”,吸引了全国人民的关注。国庆联欢晚会三样法宝,光立方为最。实训报告:“光立方”在气势和整体感觉上,融合了北京奥运会开幕式“击缶而歌”和“活字印刷”的风格,而各种图案则与贯穿奥运会开幕式的“画卷”有异曲同
3、工之妙。“光立方”可以根据爱国歌曲的不同内容,展示不同的造型和图案,具有丰富的视觉效果。本文主要介绍基于单片机统硬件组成的光立方,利用单片机控制LED的亮灭,并利用延时控制LED亮灭时间,最终使得整个立体展现不同的造型和图案,使其变得美轮美奂,绚丽多彩!一、主要元器件介绍 1、T89S51简介 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用
4、8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚(引脚图如图2所示),4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,
5、掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 图一管脚图2 、74HC573图二74HC573管脚图74HC573是高性能硅门CMOS器件,SL74HC573 跟 LS/AL573的管脚一样。器件的输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。 u36755X出能直接接到 CMOS,NMOS 和 TTL 接
6、口上 u25805X作电压范围:2.0V6.0V u20302X输入电流:1.0uA CMOS器件的高噪声抵抗特性二、8*8*8光立方原理图图三 8*8*8光立方原理图三、8*8*8光立方PCB图图四 PCB图四、具体操作流程设计原理图、打印PCB图、热转印、腐蚀与打孔、焊接、调试与检测,具体如下:A、设计原理图 利用绘图软件PROTEL 99SE。B、打印PCB图 把整理好的PCB图用专用的打印纸打印出来。C、热转印 先把印制需要的铜板用细砂纸打磨平整,再把打印好的PCB图的打印纸包裹在铜板上面,接着把热转印机的温度调到大于100度,再把包裹好的铜板进行热转印。完毕后,看看转印的图面是否清晰
7、,如果有不清晰的地方用专用的油笔进行涂抹。D、腐蚀、打孔 把转印好的铜板浸泡在一定浓度的FeCl3溶液中并进行一定的加热,目的是加快反应的速度。待反应完全之后,取出再用细砂布把铜线上的油墨洗去。用0.5mm、0.8mm、1.2mm的钻头进行打孔。对于自己设计的封装要注意孔径的大小,选取合适的钻头。E、按照PCB图的元器件的位置放好元器件,调整合适的距离,用烙铁和焊锡以及松香,焊接牢固。F、把焊接好事物接好电源,进行调试工作。对于可能出现的情况进行及时地分析找出原因的所在,做到通过现象学习知识、学习处理问题的能力。对于处理不了的问题及时的请教老师,帮助及时地解决。五、LED灯焊接方法1、焊接前准
8、备工作准备好烙铁、焊锡丝、钳子等工具,以及LED。LED的正负极很好判别,长的引脚为+,短的为-。LED最好选用直径3mm的LED,推荐选蓝色。长脚的LED可以省很多工作量。实际测量长脚是29mm,短脚为27mm,由于LED光立方板子灯的间距决定了,每个LED的间距是20mm。这样长短引脚都符合这个尺寸。由于所有LED框架焊接好后,一旦有LED损坏更换难度很大,所以焊接前要测试所有LED,用一般数字显示万用表打到二极管量程,用万用表红表笔接长引脚,黑的接短引脚。LED正常发光并且亮度基本一致,这样的LED就是好的,否则是坏灯。如果为了确保可靠也可以焊接好一层后测试LED是否能点亮。2、焊接第一
9、步将8个LED焊接为一组,可以通过2种方法完成第一种方法需要用钳子将LED的正极扭弯,这个弯,一定要小,正好露出LED外围打弯正合适,LED的正极折弯后留下的引脚长度必须大于LED的间距20mm,以确保有足够的重合位LED灯脚全部折好后,就可以焊接了,为了方便焊接可以在万能板上面钻几个2mm的孔,间距为 8个洞洞置以便焊接。焊接细节,将一个LED正极的引脚靠近到另一个LED正极的打弯处,然后上焊锡焊接,焊接要光亮可靠,有一定机械强度。这样将全部LED焊接成8个一组的LED灯排待用。焊接时避免用过多助焊剂,要不会粘到LED表面,影响外观。焊机避免正负2极短路。注意每一层的二极管都是共阴的。第二种
10、方法需要借助一个工艺设备,这个东西可以自己动手制作,用这个辅助焊接当然要容易些。焊接方法也是一样的,将一个LED正极的引脚靠近到另一个LED正极的打弯处,然后上焊锡焊接,焊接要光亮可靠,有一定机械强度。这样将全部LED焊接成8个一组的LED灯排待用。焊接小经验,由于LED灯脚有一定弹性,一个LED的引脚靠近到另一个LED正极的打弯处时,一松手就又弹远了,所以建议焊接时多掰一点,掰过了之后利用弹性将两个要焊接的引脚靠进,这样焊接会容易许多。以下是这个模具的快照:以上是我的方法,在木板上按照规则扎64个孔。最后通过架设支撑架的方式把各个层架起来,然后用电烙铁焊接起来就行了。六、效果图七、参考程序#
11、include3d8.h#includevoid reset()/复位Y=0xff;Z=0x00;X=0x00;void delay(uint z)/延时函数uint x,y;for(x=z;x0;x-)for(y=10;y0;y-);void delay_ms(uint z)/毫秒延时函数uint x,y;for(x=z;x0;x-)for(y=10;y0;y-);void value_YZ_face(uchar x_date,uchar time)reset();Y=0xff;X=x_date;Z=0xff;delay(time);void value_XZ_face(uchar y_da
12、te,uchar time)reset();Y=y_date;X=0xff;Z=0xff;delay(time);void value_XY_face(uchar z_date,uchar time)reset();Y=0xff;X=0xff;Z=z_date;delay(time);void set_dot(uchar x,uchar y,uchar z,bit status,uchar time)reset();if(status)Y = (1y);Z =(1z);X = (1x);elseY =(1y);Z = (1z);X =(1x);delay(time);void set_line
13、_X(uchar y,uchar z,uchar x_date,bit status,uchar time)/平行于X轴的线reset();if(status)Y = (1y);Z =(1z);elseY =(1y);Z = (1z);X=x_date;delay(time);void set_line_Y(uchar x,uchar z,uchar y_date,bit status,uchar time)/平行于Y轴的线reset();Y=y_date;if(status)Z =(1z);X = (1x);elseZ = (1z);X =(1x);delay(time);void set_line_Z(uchar x,uchar y,uchar z_date,bit status,uchar time)/平行于Z轴的线reset();if(status)Y = (1y);Z=z_date;X = (1x);elseY =(1y);Z=z_date;X =(1x);delay(time);void set_line(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,bit status,uchar time)/通过两点坐标生成直线uchar i,i1,i2,x_