电装实习报告正文.docx
《电装实习报告正文.docx》由会员分享,可在线阅读,更多相关《电装实习报告正文.docx(40页珍藏版)》请在冰豆网上搜索。
电装实习报告正文
一、实习目的与要求
1.安全用电常识
(1)接通电源前的检查
任何新的或搬运过的以及自己不了解的用电设备,不要冒失拿起插头就往电源上插,要记住“四查而后插”。
四查为:
一查电源线有无破损;二查插头有无外露金属或内部松动;三查电源线插头两极有无短路,同外壳有无通路;四查设备所需电压值是否与供电电压相符,最简单的办法可用万用表测量。
(2)检修、调试电子设备的注意事项
①检修之前,一定要了解检修对象的电器原理,特别是电源系统。
②不要以为断开开关就没有触电危险。
只有拔下插头,并对仪器内的高电压大容量电容器放电处理后,才能认为是安全的。
③不要随便改动仪器设备的电源线。
④需要带电检查调试时,要先用试电笔检查外壳和金属件及裸露的导线是否带电,使用万用表测电压时,一定要测有关部分对地电压。
⑤洗手后或手出汗潮湿时,不要带电作业。
尽可能用单手操作,另一只手放到背后或衣袋中。
(3)常用导线的额定电流
具体规则由表1所示。
表1常用塑料铜芯绝缘导线的额定电流
截面/m㎡
额定电流/A
单股导线
二芯护套线
三芯护套线
1.5
17
17
10
2.0
19
19
13
2.5
23
23
17
4.0
30
30
23
2.单片机电路板焊接及注意事项
(1)焊接工具与材料
外热式电烙铁外热式电烙铁如图1所示,由烙铁头、烙铁芯、外壳、手柄等各部分组成。
由于烙铁头安装在烙铁芯里面,故称为外热式电烙铁。
烙铁芯是由电阻丝绕在用薄云母片绝缘的空心瓷管上组成的,电阻丝引出两根导线与220V交流电连接,通电后电阻丝产生的热量传送到烙铁头上,从而使烙铁头温度升高。
图1外热式电烙铁外形
外热式电烙铁的规格较多,常用的有25W,45W,75W等。
功率越大烙铁头的温度就越高。
外热式电烙铁结构简单,价格较低,使用寿命长,但其体积较大,升温较慢,热效率低。
(2)手工焊接要点
图2电烙铁的正确握法
①焊接步骤
a.加热被焊工件
焊接之前应将被焊工件加热至焊料可被融化的温度,为了便于热传导,烙铁头上沾上少量的焊料,同时要掌握好烙铁头的角度,尽可能增加被焊工件的接触面积。
b.送入焊丝
当焊接点达到适当温度时,利用焊锡内低温向高温流动的特点,焊丝从烙铁对面接触焊件,如图15(a)所示。
切忌用烙铁头直接熔化焊料,如图15(b),而将焊料简单地堆附在焊接点上,这样做很有可能掩盖了被焊工件因温度不够或氧化严重造成的虚焊、假焊现象。
图3送锡方法示意图
c.移开焊锡丝
当焊点较大时,焊丝融化后,应将紧靠在焊接点上的烙铁头根据焊接点的形状移动,以使焊料充分浸润被焊工件。
当焊丝熔化适量后,立即撤去焊丝。
d.移开电烙铁
当焊料的扩散范围达到要求,助焊剂尚未完全挥发,覆盖在焊点表面形成一层薄膜时,是焊接点上温度最恰当,焊锡最光亮,流动性最强的时刻,应迅速移开电烙铁。
②注意事项
a.保持烙铁头的清洁
b.采用正确的加热方法
让烙铁头与焊件形成面接触而不是点或线接触。
c.控制焊接时间和温度
d.烙铁撤离方法
将电烙铁迅速回带一下,同时轻轻旋转沿焊点约45°方向迅速移开。
当然也应视具体情况,根据实际操作过程不断总结体会。
e.在焊锡凝固之前不要使焊件抖动
f.焊锡、焊剂的用量要合适
图4直脚焊示例
(3)焊接操作安全规则
①不要惊吓正在操作的人员,不要在工作场地打闹。
②烙铁头在没有确信脱离电源一段时间后,不能用手摸。
③烙铁头上多余的锡不要乱甩,特别是往身后甩危险很大。
④易燃品远离电烙铁。
⑤插拔电烙铁等电器的电源插头时,手要拿插头,不要抓电源线。
⑥用剪线钳剪短短小导线时,要让导线飞出方向朝着工作台或空地,决不可向人或设备。
⑦工作间的各种工具、设备摆放合理、整齐,不要乱摆、乱放、以免发生事故。
(4)焊接的检查和整理
印制板上的元器件都要排列整齐,同类元器件要保持高度一致。
焊接完成后,需检查有无错焊、漏焊、虚焊及桥连现象。
检查时,可用镊子将每个元件脚轻轻提一提,看是否摇动,若发现摇动,应重新焊好。
检查后还需将歪斜的元器件扶正并整理好导线。
3.电装实习的目的及必要性
图5实习中需要完成焊接的电路板
单片机是电子类专业学生应该掌握的一门重要技术,通过电装实习自行完成自己的单片机实验板的焊接,对同学们来说是非常有意义的事情。
对于电信和电子专业的同学,大三的生产实习,还将充分发挥该实验板的作用,争取让同学们在单片机方面都具有基本的设计和编程技能。
通过一个完整的电子产品的组装调试,学习电子产品的生产工艺过程。
理解电子产品的基本原理,掌握基本的电子工艺技术。
从而进一步提高我们的电子实践能力。
电装实习是电子院的必修的实践类课程,是重要的实践环节。
二、单片机基本原理
1.单片机基本原理
(1)单片机的概念
单片机是计算机的一种,由于大规模集成电路技术的发展而产生的。
单片机是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口电路(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个小而完善的计算机系统。
这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。
(2)单片机的特点
①体积小
②功耗低
③价格低廉
④不同的单片机有着不同的硬件特征和软件特征
(3)单片机的应用
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
(4)MCS-51单片机结构及组成
8051单片机是Intel公司1980推出的高档8位单片机,采用40脚双列直插封装或44脚方形封装,51、52系列功能兼容。
①8051内包括:
8位CPU,包含适于布尔处理的处理机;
内部4K字节ROM,128字节RAM;
21个特殊功能寄存器;
32根I/O口线,分四个I/O口:
P0、P1、P2、P3口;
2个16位的定时器/计数器;
一个中断系统:
具有5个中断源,2个优先级;
一个全双工串行口;
可寻址64K的外部程序、数据存储空间;
②单片机为哈佛结构的计算机,除上述基本资源外,还具有如下特点:
外部程序存储器:
可扩展到64KB;
外部数据存储器:
可扩展到64KB;
堆栈:
最深128B;
输入/输出口线:
32根;
寄存器区:
划出RAM中32B作为通用寄存器;
具有位寻址功能;
单一5V电源;
系统时钟1~12MHz,常用12MHz、11.0592MHz和6MHz。
③内部结构框图
图6结构简图
包括:
CPU、存储器(ROM、RAM)、I/O接口等计算机的基本组成。
(5)单片机的发展趋势
①在未来的较长一段时期内,8为单片机仍是主流机型。
在高速数字处理方面,32位机会发挥重要作用。
②现在单片机基本上已经淘汰非CMOS工艺,数字电路、外围器件都已普遍CMOS化。
③精简指令集可以实现一个地址单元存放一条指令,这种体系结构很容易实现并行流水线操作,从而大大提高指令的运行速度。
④实现全面功耗管理
⑤串行总线逐渐替代并行总线。
(6)常见单片机
MCS-51系列、AVR系列、PIC系列、MotorolaMC系列、MCS-96系列、MSP430系列、ARM系列……
(7)器件厂家
美国:
Intel、Motorola、Microchip、Atmel、荷兰:
Philips、德国:
Siemens、日本:
Nec……
2.单片机实验板原理图
图7单片机实验板原理图
3.Super51单片机实习开发板元件
表2Super51单片机实习开发板元件统计表
Super51单片机实习开发板元件统计表(焊接顺序从低到高标*号元件注意焊接方向!
)
名称
数量
封装
标号
高度
第
1
次
发
放
*1N4148
2
直插
MD1、SD1
1.8
*TLC549
1
SO-8W
AU1
1.9
*TDA1311/TM8211
1
SO-8
AU2
1.9
电阻1K
11
1/8W1%
MR3、PR1、R1、DR9-16
2.8
电阻4.7K
14
1/8W1%
PCB上所有未标阻值的电阻
2.8
电阻100R
1
1/8W1%
IR1
2.8
电阻2.2R
1
1/4W1%
R0
3
名称
数量
封装
标号
高度
第
2
次
发
放
晶振12M
1
3×8mm
X2先将管脚剪到合适长短
3
晶振11.0592M
1
49S
X1
3.2
独石电容22pF
4
直插220=22*100pF
MC2、MC3、MC5、MC6
3.8
独石电容0.01μF
1
直插103=10*103pF
MC8
3.8
独石电容0.1μF
10
直插104=10*104pF
PCB
3.8
单排座---圆孔
3孔
2.54mm
DSU1
4
电位器10K
1
3362P
AR0
4.6
*IC座16脚
1
DIP8
SU1
5
*IC座8脚
2
DIP8
EU1、TU1、AU1-2
5
按键
21
6×6×5mm
K1-4,K11-K14,MK1
5
名称
数量
封装
标号
高度
第
3
次
发
放
*电解10μF/16V
1
脚距2mm直径4mm
MC4
5.5
*XH2.54-3P白色座
1
XH2.54-3P直针
DAC
6.8
*XH2.54-4P白色座
1
XH2.54-4P直针
ADC
6.8
电位器5K
1
3362S
PR2
7
*红色共阳4位数码管
2
0.36寸
DS1、DS2
7.2
*PNP三极管-8550
10
TO-92
PCB上所有三极管
7.2
*电解47μF/16V
1
脚距2.5mm直径6.3mm
C1
8
*单排针2P+2P+3P+3P
10针
2.54mm
JP2-4
8
*双排针
1
2.54mm
MP1-4(2*8P)、JP1(2*4P)
8
*红外接收头38K
1
脚距“等间隔”2.54mm
IU1
8.3
双排座
1
2×20脚2.54mm
LCD1284、LCD1602
8.4
名称
数量
封装
标号
高度
第
4
次
发
放
*高亮白发红LED
9
直径5mm
PCB上所有LED
8.7
蜂鸣器KC-1206/42欧/2K
1
脚距6.5mm直径12mm
BU1
10
USB打印口(方头)
1
UCON1
10.7
*电解100μF/16V
1
脚距6.5mm直径12mm
C2
11
*40P单片机锁紧座
1
MU1
11.4
*双排自锁开关
1
8.5×8.5mm
SW1注意底部方口位置
12
232接口DB9母头
1
SCON1
12.2
*CH340G
1
SO-16
MU2
背面
*排阻4K7
1
直插9脚
MR1先将管脚剪到合适长短
背面
晶振32.768K
1
3×8mm
TX1先将管脚剪到合适长短
背面
名称
数量
封装
标号
高度
第
5
次
发
放
跳冒
37
JP1只能插一个跳冒!
REF+和AVCC插一个跳冒!
铜柱+螺母
4
6mm+6mm
*STC89C52
1
DIP40
MU1
*MAX232
1
DIP16
SU1
*24C08
1
DIP8
EU1
*DS1302
1
DIP8
TU1
4.STC89C51RC-RD手册
图8STC89C51RC-RD手册
三、单片机调试及程序开发
1.单片机硬件实物与电脑连接
图9已焊接完成的硬件实物图
2.软件安装
(1)安装KeilC51
它是德国知名软件公司Keil(现已并入ARM公司)开发的基于8051内核的微控制器软件开发平台,是目前开发8051内核单片机的主流工具。
①运行c51v808a.eve,软件出现如图8所示的对话框。
图10Keil安装
②在接下来的几个对话框中,点击Next按钮,在提示输入用户名称和公司时,按需要填写即可。
③安装完成后,按Finish结束。
(2)安装STC程序下载软件
①打开电脑属性,会出现图9的控制面板主页。
图11控制面板主页
在控制面板内进入设备管理器,找到端口并点开,出现COM4。
图12设备管理器
②打开stc-isp-15xx-v6.85O.eve,如图11所示,选择单片机型号。
打开程序文件,选择Keil生产的文件,选择上一步所确定的单片机实验板和计算机对应串口COM1,点击下载/编程,单片机实验板上电,等到下载完成后,系统自动执行。
图13STC下载界面
3.调试方法
(1)首先在硬盘上建立一个文件夹,比如在G盘建立一个名为“Demo”的文件夹,为了方便地程序的编写和调试,将调试过程中产生的文件都放在这个目录中。
(2)启动KeilC51软件。
可以通过双击电脑桌面上的“KeiluVision3”快捷方式图标来启动。
(3)执行KeilC51软件的菜单“Project|NewuVisionProject…”,弹出一个名为“CreateNewProject”的对话框。
输入工程文件的文件名,这里命名为“Demo”,选择要保存的路径,保存到刚刚建立的“Demo”目录中,如图14所示。
图14打开程序
(4)紧接着弹出“OptionsforTarget‘Target1’”。
要求操作者为刚才的项目选择一个CPU,这里选择ATMEL公司的AT89S52.选择AT89S52后,右边一栏是对该单片机的基本说明,然后单击确定,见图15。
图15选择单片机型号
(5)接下来弹出一个如图16所示的对话框。
该对话框提示是否要把标准8051的启动代码添加到项目中去。
KeilC51既支持C语言编程也支持汇编语言编程。
如果打算用汇编语言写程序,则应当选择“否(N)”。
如果打算用C语言写程序,一般也选择“否(N)”,但是,如果用到了某些增强功能需要初始化配置时,则可以选择“是(Y)”。
在这里,选择“否(N)”,即不添加启动代码。
图16加载启动代码
至此,一个空的KeilC51项目建立完毕。
(6)执行菜单“File|New…”,出现一个名为“Text1”的文档。
接着执行菜单“File|Save”,弹出一个名为“SaveAs”的对话框。
将文件名改为“LED.C”然后保存,见图17。
图17文件保存
(7)添加源程序文件到工程中。
如图18。
图18文件添加
(8)点击工具栏“OptionsforTarget”按钮,此时弹出对话框,如图19所示。
图19设置工作方式
(9)“Xtal”:
定义CPU时钟,填写实际使用的晶振频率。
下面依次是编译的存储模式,程序空间大小等设置,均使用默认值即可。
点击Output选项,选中“CreatHEXFile”(必须选中此项目,否则不能生成HEX文件),见图20。
图20输出文件
(10)单击工具栏的按钮编译当前源程序,直到无错误为止。
4.已编程的电路板测试效果图
图20电路板测试
5.TEST51C程序源代码
include
#include
//////////////////////////////////////
#defineucharunsignedchar
#defineuintunsignedint
uchari=0;
ucharFUN_SW=0;
//KEY
sbitkey1=P3^2;
sbitkey2=P3^3;
sbitkey3=P3^4;
sbitkey4=P3^5;
//ledenable
sbitLED_PWR=P2^5;
//BEEP
sbitBEEP=P2^4;
//12864
sbitCS=P2^0;//片选高电平有效单片LCD使用时可固定高电平
sbitSID=P2^1;//数据
sbitSCLK=P2^2;//时钟
sbitPSB=P2^3;//低电平时表示用串口驱动,可固定低电平
sbitRESET=P2^5;//LCD复位,LCD模块自带复位电路。
可不接
//24C08
sbitSDA=P2^6;
sbitSCL=P2^5;
//18B20
sbitDQ=P2^0;
ucharhello[]=
{
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xBF,0xBF,0x89,0x86,0xC7,0xC7,0xC0,0xBF,0xBF,
//--HELLO--
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
unsignedcharcodekey_code[]=
{
//键编码数组
0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7,0xbe,0xbd,0xbb,
0xb7,0x7e,0x7d,0x7b,0x77
};
unsignedcharcodedisp_code[]=
{
0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
//0-90123456789
0x88,0x83,0xc6,0xa1,0x86,0x8e,
//10-15abcdef
0x7F,0xBF,0x9C,0xFF,
//16-19.-。
null
0xC1
//20v
};
volatileuchardisp_buf[8]={0,1,2,3,4,5,6,7};
volatileucharTemp_1302[7]=
{
0x55,0x53,0x12,0x22,0x06,0x05,0x07
};
//////////////////////////////////////
externvoidWrite_I2C_Byte(unsignedchar,unsignedchar);
externunsignedcharRead_I2C_Byte(unsignedchar);
externvoidSet1302(unsignedchar*);/*设置时间*/
externvoidGet1302(unsignedchar*);/*读取1302当前时间*/
externvoidInit_DS18B20(void);
externunsignedintReadTemperature(void);
voidshift_led(uchartimes);
voidjiuhu(uchartimes);
voiddigi(uchartimes);
externuintData_Conversion(void);
//////////////////////////////////////
voiddelay_ms(uintms)
{
uchart;
while(ms--)
{
for(t=0;t<113;t++);
}
}
voiddisunite_bcd(ucharTemp[])
{
disp_buf[0]=Temp[0]&0x0f;
disp_buf[1]=Temp[0]>>4&0x0f;
disp_buf[2]=17;
disp_buf[3]=Temp[1]&0x0f;
disp_buf[4]=Temp[1]>>4&0x0f;
disp_buf[5]=17;
disp_buf[6]=Temp[2]&0x0f;
disp_buf[7]=Temp[2]>>4&0x0f;
}
voidproc_18b20(uintt)
{
uintt_temp1,t_temp2;
t_temp1=(int)(t/100);
t_temp2=(int)(t%100);
disp_buf[4]=t_temp1;
disp_buf[3]=(int)(t_temp2/10);
disp_buf[2]=(int)(t_temp2%10);
disp_buf[1]=18;
disp_buf[0]=12;
disp_buf[5]=19;
disp_buf[6]=19;
disp_buf[7]=19;
}
voidproc_tlc549(uintVolt)
{
disp_buf[3]=Volt/1000;//个位
disp_buf[2]=Volt/100%10;//十分位
disp_buf[1]=Volt/10%10;//百分位
disp_buf[0]=20;
disp_buf[4]=19;
disp_buf[5]=19;
disp_buf[6]=19;
disp_buf[7]=19;
}
//////////////////////////////////////
intmain(void)
{
uintt_temp;
uintVolt;
uchari;
FUN_SW=1;
TMOD=0x01;//定时器T0工作方式1
TH0=0xFC;//1ms定时常数
TL0=0x66;
IE=0x82;//允许定时器T0中断
IT0=0;//下降沿触发
IT1=0;//下降沿触发
EX1=1;//开启INT1中断
EX0=1;//开启INT0中断
EA=1;
shift_led
(2);
digi
(2);
jiuhu
(2);
Set1302(Temp_1302);
TR0=1;//启动定时器T0
/*for(i=0;i<200;i++)
{
Get1302(Tem