综合实训报告样式(光立方)

时间:2024.5.2

河南机电高等专科学校

综合实训报告

系 部: 电子通信工程系

专 业: 应用电子技术

班 级: 应 电 102 班

学生姓名: 王 永 强

学 号: 100414207

20xx年 6月

实训任务书

1.时间:20xx年5月28日~20xx年6月22日

2. 实训单位:河南机电高等专科学校

3. 实训目的:熟悉电路板及电子产品的制作全过程

4. 实训任务:

①了解电路板图得来的方法,掌握电路板图的打印技巧;

②会使用热转印机将电路图转印到覆铜板上;

③掌握电路板的腐蚀过程及注意事项;

④会使用高速钻床给电路板打孔;

⑤认识电子元器件,熟悉常用元器件的特性;

⑥熟练掌握焊接方法和技巧,完成电路板的焊接;

⑦掌握电子产品通电调试的注意事项,会编写程序;

⑧作好实训笔记,对自己所发现的疑难问题及时请教解决;

⑨联系自己专业知识,体会电子产品制作过程,总结自己的心得体会; 10参考相关的书籍、资料,认真完成实训报告。 ○

2

综合实训报告

前言:

光立方是由四千多棵光艺高科技“发光树”组成的,在20xx年10月1日天安门广场举行的国庆联欢晚会上面世。这是新中国成立六十周年国庆晚会最具创意的三大法宝之首。自从国庆60周年联欢晚会开始演练后,一个全新的名词“光立方”,吸引了全国人民的关注。国庆联欢晚会三样法宝,光立方为最。

实训报告:

“光立方”在气势和整体感觉上,融合了北京奥运会开幕式“击缶而歌”和“活字印刷”的风格,而各种图案则与贯穿奥运会开幕式的“画卷”有异曲同工之妙。“光立方”可以根据爱国歌曲的不同内容,展示不同的造型和图案,具有丰富的视觉效果。

本文主要介绍基于单片机统硬件组成的光立方,利用单片机控制LED的亮灭,并利用延时控制LED亮灭时间,最终使得整个立体展现不同的造型和图案,使其变得美轮美奂,绚丽多彩!

一、主要元器件介绍

1、T89S51简介

AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用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定

时计数器,串行口,外中断系统可继续

工作,掉电模式冻结振荡器而保存RAM

的数据,停止芯片其它功能直至外中断

激活或硬件复位。同时该芯片还具有

PDIP、TQFP和PLCC等三种封装形式,

以适应不同产品的需求。

图一管脚图

综合实训报告样式光立方

3

综合实训报告样式光立方

综合实训报告样式光立方

2 、74HC573

图二74HC573管脚图

74HC573是高性能硅门CMOS器件,SL74HC573 跟 LS/AL573的管脚一样。器件的输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。 ×\u36755X出能直接接到 CMOS,NMOS 和 TTL 接口上

×\u25805X作电压范围:2.0V~6.0V

×\u20302X输入电流:1.0uA

×CMOS器件的高噪声抵抗特性

二、8*8*8光立方原理图

图三 8*8*8光立方原理图

4

三、8*8*8光立方PCB图

综合实训报告样式光立方

图四 PCB图

四、具体操作流程

设计原理图、打印PCB图、热转印、腐蚀与打孔、焊接、调试与检测,具体如下:

A、设计原理图 利用绘图软件PROTEL 99SE。

B、打印PCB图 把整理好的PCB图用专用的打印纸打印出来。

C、热转印 先把印制需要的铜板用细砂纸打磨平整,再把打印好的PCB图的打印纸包裹在铜板上面,接着把热转印机的温度调到大于100度,再把包裹好的铜板进行热转印。完毕后,看看转印的图面是否清晰,如果有不清晰的地方用专用的油笔进行涂抹。

D、腐蚀、打孔 把转印好的铜板浸泡在一定浓度的FeCl3溶液中并进行一定的加热,目的是加快反应的速度。待反应完全之后,取出再用细砂布把铜线上的油墨洗去。用0.5mm、0.8mm、1.2mm的钻头进行打孔。对于自己设计的封装要注意孔径的大小,选取合适的钻头。

5

E、按照PCB图的元器件的位置放好元器件,调整合适的距离,用烙铁和焊锡以及松香,焊接牢固。

F、把焊接好事物接好电源,进行调试工作。对于可能出现的情况进行及时地分析找出原因的所在,做到通过现象学习知识、学习处理问题的能力。对于处理不了的问题及时的请教老师,帮助及时地解决。

五、LED灯焊接方法

1、焊接前准备工作

准备好烙铁、焊锡丝、钳子等工具,以及LED。LED的正负极很好判别,长的引脚为+,短的为-。

LED最好选用直径3mm的LED,推荐选蓝色。长脚的LED可以省很多工作量。实际测量长脚是29mm,短脚为27mm,由于LED光立方板子灯的间距决定了,每个LED的间距是20mm。这样长短引脚都符合这个尺寸。

由于所有LED框架焊接好后,一旦有LED损坏更换难度很大,所以焊接前要测试所有LED,用一般数字显示万用表打到二极管量程,用万用表红表笔接长引脚,黑的接短引脚。LED正常发光并且亮度基本一致,这样的LED就是好的,否则是坏灯。如果为了确保可靠也可以焊接好一层后测试LED是否能点亮。 2、焊接第一步

将8个LED焊接为一组,可以通过2种方法完成

第一种方法需要用钳子将LED的正极扭弯,这个弯,一定要小,正好露出LED外围打弯正合适,LED的正极折弯后留下的引脚长度必须大于LED的间距20mm,以确保有足够的重合位LED灯脚全部折好后,就可以焊接了,为了方便焊接可以在万能板上面钻几个2mm的孔,间距为 8个洞洞置以便焊接。

焊接细节,将一个LED正极的引脚靠近到另一个LED正极的打弯处,然后上焊锡焊接,焊接要光亮可靠,有一定机械强度。这样将全部LED焊接成8个一组的LED灯排待用。焊接时避免用过多助焊剂,要不会粘到LED表面,影响外观。焊机避免正负2极短路。注意每一层的二极管都是共阴的。

第二种方法需要借助一个工艺设备,这个东西可以自己动手制作,用这个辅助焊接当然要容易些。焊接方法也是一样的,将一个LED正极的引脚靠近到另一个LED正极的打弯处,然后上焊锡焊接,焊接要光亮可靠,有一定机械强度。这样将全部LED焊接成8个一组的LED灯排待用。焊接小经验,由于LED灯脚有一定弹性,一个LED的引脚靠近到另一个LED正极的打弯处时,一松手就又弹远了,所以建议焊接时多掰一点,掰过了之后利用弹性将两个要焊接的引脚 靠进,这样焊接会容易许多。以下是这个模具的快照:

6

以上是我的方法,在木板上按照规则扎64个孔。

综合实训报告样式光立方

最后通过架设支撑架的方式把各个层架起来,然后用电烙铁焊接起来就行

综合实训报告样式光立方

7

了。

六、效果图

七、参考程序

#include"3d8.h"

#include<reg52.h>

void reset()//复位

{

Y=0xff;

Z=0x00;

X=0x00;

}

void delay(uint z)//延时函数 {

uint x,y;

综合实训报告样式光立方

for(x=z;x>0;x--)

8

for(y=10;y>0;y--);

}

void delay_ms(uint z)//毫秒延时函数

{

uint x,y;

for(x=z;x>0;x--)

for(y=10;y>0;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_date,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 = (1<<y);

Z =~(1<<z);

X = (1<<x);

}

else

{

Y =~(1<<y);

9

Z = (1<<z);

X =~(1<<x);

}

delay(time);

}

void set_line_X(uchar y,uchar z,uchar x_date,bit status,uchar time)//平行于X轴的线

{

reset();

if(status)

{

Y = (1<<y);

Z =~(1<<z);

}

else

{

Y =~(1<<y);

Z = (1<<z);

}

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 =~(1<<z);

X = (1<<x);

}

else

{

Z = (1<<z);

X =~(1<<x);

}

delay(time);

}

void set_line_Z(uchar x,uchar y,uchar z_date,bit status,uchar time)//平行于Z轴的线

{

10

reset();

if(status)

{

Y = (1<<y);

Z=z_date;

X = (1<<x);

}

else

{

Y =~(1<<y);

Z=z_date;

X =~(1<<x);

}

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_flag=0,y_flag=0,z_flag=0;

char x,y,z;

x=x1-x2;y=y1-y2;z=z1-z2;

if(x!=0)

{

if(x<0)

{i=x2-x1;x_flag=2;}

else

{i=x1-x2;x_flag=1;}

}

if(y!=0)

{

if(y<0)

{i=y2-y1;y_flag=2;}

else

{i=y1-y2;y_flag=1;}

}

if(z!=0)

{

if(z<0)

{i=z2-z1;z_flag=2;}

11

else {i=z1-z2;z_flag=1;} } /*SBUF='0'+i; while(!TI); TI=0; SBUF=' '; while(!TI); TI=0; SBUF='0'+x_flag; while(!TI); TI=0; SBUF=' '; while(!TI); TI=0; SBUF='0'+y_flag; while(!TI); TI=0; SBUF=' '; while(!TI); TI=0; SBUF='0'+z_flag; while(!TI); TI=0; SBUF=' '; while(!TI); TI=0;*/ //i=x2-x1;x_flag=2;y_flag=2;z_flag=2; for(i2=time;i2>0;i2--) { x=x1;y=y1;z=z1; for(i1=i+1;i1>0;i1--) { set_dot(x,y,z,status,3); /* switch(x_flag) { case 0: ;break; case 1:x-=1;break; case 2:x+=1;break; } 12

switch(y_flag)

{

case 0: ;break;

case 1:y-=1;break;

case 2:y+=1;break;

}

switch(z_flag)

{

case 0: ;break;

case 1:z-=1;break;

case 2:z+=1;break;

}*/

if(x_flag==1)

x-=1;

if(x_flag==2)

x+=1;

if(y_flag==1)

y-=1;

if(y_flag==2)

y+=1;

if(z_flag==1)

z-=1;

if(z_flag==2)

z+=1;

}

}

}

void set_solid_cube(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,bit status,uchar time)//实心立方体

{

uchar X1,Y1,Z1,t;

if(x1>x2)

{t=x1;x1=x2;x2=t;}

if(y1>y2)

{t=y1;y1=y2;y2=t;}

if(z1>z2)

{t=z1;z1=z2;z2=t;}

reset();

X1 = ((0xff<<x1)&(0xff>>(7-x2)));

Y1 = ((0xff<<y1)&(0xff>>(7-y2)));

Z1 =~((0xff<<z1)&(0xff>>(7-z2)));

if(status)

13

{Y = Y1;X = X1;Z = Z1;}

else

{Y =~Y1;X =~X1;Z =~Z1;}

delay(time*10);

}

void set_frame_cube(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,bit status,uchar time)//框架立方体

{

uchar X1,Y1,Z1,t,i;

if(x1>x2)

{t=x1;x1=x2;x2=t;}

/*SBUF='0'+x1;

while(!TI);

TI=0;

SBUF=' ';

while(!TI);

TI=0;

SBUF='0'+x2;

while(!TI);

TI=0;

SBUF=' ';

while(!TI);

TI=0;*/

if(y1>y2)

{t=y1;y1=y2;y2=t;}

/*SBUF='0'+y1;

while(!TI);

TI=0;

SBUF=' ';

while(!TI);

TI=0;

SBUF='0'+y2;

while(!TI);

TI=0;

SBUF=' ';

while(!TI);

TI=0;*/

if(z1>z2)

{t=z1;z1=z2;z2=t;}

/*SBUF='0'+z1;

while(!TI);

TI=0;

SBUF=' ';

14

while(!TI);

TI=0;

SBUF='0'+z2;

while(!TI);

TI=0;

SBUF=' ';

while(!TI);

TI=0;*/

reset();

X1 = ((0xff<<x1)&(0xff>>(7-x2)));

Y1 = ((0xff<<y1)&(0xff>>(7-y2)));

Z1 =~((0xff<<z1)&(0xff>>(7-z2)));

for(i=time;i>0;i--)

{

set_line_X(y1,z1,X1,status,5);

set_line_X(y1,z2,X1,status,5);

set_line_X(y2,z1,X1,status,5);

set_line_X(y2,z2,X1,status,5);

set_line_Y(x1,z1,Y1,status,5);

set_line_Y(x1,z2,Y1,status,5);

set_line_Y(x2,z1,Y1,status,5);

set_line_Y(x2,z2,Y1,status,5);

set_line_Z(x1,y1,Z1,status,5);

set_line_Z(x1,y2,Z1,status,5);

set_line_Z(x2,y1,Z1,status,5);

set_line_Z(x2,y2,Z1,status,5);

/*SBUF='0'+y1;

while(!TI);

TI=0;

SBUF=' ';

while(!TI);

TI=0;

SBUF='0'+y2;

while(!TI);

TI=0;

SBUF=' ';

while(!TI);

TI=0;*/

}

}

心得体会:

通过这次实训,我学到了不少课本上没有的知识,也锻炼了自己的动手能 15

力,将以前学过的零散的知识串到一起。

在实训刚开始的调研阶段,我学会了怎么通过各种方式查询相关的资料。通过对这些资料的学习,我大致了解了单片机的发展现状以及未来的发展趋势,认识到目前单片机方面的各种各样的发展,和它们之间的竞争。了解了单片机方面的先进技术,这些都为我的未来的学习指明了方向。

在这次实训的过程中,焊接LED灯花费了我不少时间,而且焊接起来特别麻烦,当时的心情真是纠结。不过,最后我终于彻底的完成了这个作品,我特别高兴。正所谓一分耕耘一分收获,无论再苦再累,坚持就是胜利! 参考文献:

[1] 祈伟,杨亭.单片机C51程序设计教程与实验 北京航空航天大学出版社20xx年1月

[2] 张瑞玲.单片机原理与应用 西北工业大学出版社20xx年12月

[3] 赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社,2003.

16

更多相关推荐:
综合实训报告

南昌工程学院《综合技能实战演习》实习(实训)报告题目课程名称综合技能实训系院外国语言文学系专业英语班级09英语(1)班学生姓名朱伟学号20xx102602实习地点教育技术楼A304江西飞宇竹业集团有限公司指导教…

综合实训报告(范文五)

综合实训报告实训项目班级姓名学号日期无锡市广播电视大学数控加工操作实训报告一实习的基本情况1实习的目的毕业实习是我们在完成本专业基础课和专业课的学习之后综合运用知识的重要的实践性教学环节是机电专业必修的实践课程...

综合实训报告格式

一、教学目标:1、项目技术报告技术标准和规格要求,2、掌握撰写技术报告的基本方法。职业素质:1、严谨的工作态度2、沟通及语言表达能力3、团队协作精神二、综合实训项目技术报告撰写规范要求(一)、项目技术报告的结构…

综合技能实训报告

南昌工程学院综合技能实战演习实习实训报告题目课程名称综合技能实训系院外国语言文学系专业英语班级09英语2班学生姓名邓小芳学号20xx102563实习地点教育技术楼A304江西飞宇竹业集团有限公司指导教师黄晓雄宋...

物流综合实训报告

综合实训报告班级:09物流姓名:XXX指导老师:XXX物流业在我国已经成为发展最快的产业之一,但长期以来我国对物流的理论研究和应用实践、物流的标准化设备与物流信息技术的应用都比较落后。可喜的是,物流行业受到了政…

综合实训报告

综合实训前言随着我国经济的飞速发展,我国对毕业生的要求也是变了又变,为了让毕业生出去后能更好的适应社会。顶岗实习便显得非常重要。近年来,随着中小企业的迅猛发展,中小企业在我国经济发展中起着越来越重要地位,中小企…

综合实训报告

哈尔滨广播电视大学实践报告实训报告题目数控综合实训报告年季专业分校学号1323101454653姓名赵英明指导教师1哈尔滨广播电视大学实践报告引言数控机床是人类进行生产劳动的重要工具也是社会生产力发展水平的重要...

C++程序综合实训报告

C实训报告VisualC与面向对象的程序设计专业自动化20xx级姓名学号键入文字键入文字目录一序言二windows编程三文档视图结构四图形设备接口和资源五对话框六实训感想键入文字键入文字一序言为期两星期的C实训...

综合实训项目技术报告--网站实训

湖南工业职业技术学院信息工程系实训报告题目专业班级学号姓名指导老师20xx10概要本文介绍了用Dreamweaver技术运用HTML语言编辑能力和加入CSS与Div样式使用一定的模板制作的关于大学生活文艺活动个...

综合技能实训报告

一实习时间二实习地点三实习目的1提高英语专业本科四年级学生的语言实践能力增强学生的跨文化交际能力促进学生间的协作学习以及学生与教师间的互动2本实训通过一系列语言性较强的活动考核学生是否达到高等学校英语专业教学大...

20xx银行业务综合实训报告

银行业务实训综合实训报告学生姓名学号班级1一说明商业银行现金凭证和非现金凭证管理业务的流程答商业银行现金凭证管理业务的流程第一步使用柜员号10285尾箱号10285选择1301现金凭证领用凭证种类是现金输入金额...

综合实训实验报告

成人高等教育专业综合实践报告学院继续教育学院珠海教学点专业机电一体化专科年级班别20xx级学号131010学生姓名指导教师纪秀欣20xx年3月广东工业大学继续教育学院制1实训项目名称PCB板测绘与制图一实验目的...

综合实训报告(35篇)