实习报告格式单片机电子时钟单片机.docx
《实习报告格式单片机电子时钟单片机.docx》由会员分享,可在线阅读,更多相关《实习报告格式单片机电子时钟单片机.docx(17页珍藏版)》请在冰豆网上搜索。
实习报告格式单片机电子时钟单片机
实习报告
(2009届)
学生姓名:
学生学号:
专业班级:
指导教师:
电气工程学院
2012.6.26
一.实习名称:
电子时钟生产实习
二.实习目的及要求
电子科学与技术专业生产实习是为今后微电子方向和光电子方向的专业课学习,建立感性认识基础。
另外为提高动手能力和课堂理解能力,设置一些操作项目,训练手眼配合,逻辑思维能力,线路分析与仪器构造能力。
三.实验原理
电子钟的核心是单片机AT89C51。
时钟的信号源使用12M的晶体振荡器,通过定时器的定时,结合寄存器的累加,产生秒,分,时信号。
3个按键用于校时。
输出数据的传输锁存使用4片移位寄存器74LS164,数据的输出通过串口送出。
数据的显示使用4片1.2英寸共阳极数码管。
为了在传输数据时不产生闪耀现象,在数码管的阳极和电源正之间增加了开关三极管。
在传输数据时关掉数码管正电源,即P1.7置高电平,使三极管9012截止。
在传输结束时再置P1.7低电平,使三极管导通,数码管点亮。
4个数码管分别显示时和分,秒信号通过让发光二极管闪耀(亮1秒,黑1秒或亮黑各半秒)的方式送出。
线路板中CPU的EA和正电源未连接,在调试结束,AT89C51写好程序后要连接EA和正电源,也就是连接CPU30脚31脚旁的2个焊盘。
电源变压器是5W,初级220V,次极9V,经桥式整流稳压得到5V电源。
整机工作电流约300mA,若想降低功耗,可将三极管VT1和数码管阳极的连线断开,接上一个几欧姆的电阻。
四.实习内容
(一).器件认知
本次实习所用器件清单如下,焊接前应逐一测量元件好坏及参数。
注意电解电容的极性,二极管的极性,三极管的引脚判断,集成电路的引脚怎麽数。
集成电路在画线路板图时1脚的特点。
焊接时注意焊接和粘连的区别,怎样防止虚焊。
序号
名称
型号规格
标号
数量/台
1
集成电路
AT89C51
A1
1
2
集成电路
74LS164
A3~A6
4
3
晶体
12M
XTAL
1
4
稳压集成电路
7805
A7
1
5
三极管
9012
VT1
1
6
二极管
1N4007
VD1~4
4
7
按键
AN1~3
3
8
数码管
12101BE
LED1~4
4
9
发光二极管
红色ф5mm
LED5,6
2
10
电解电容
100μ/16V
C6、C4(或200μ)
2
11
电解电容
22μ/16V
C1
1
12
电容
51P/63V
C2、C3
2
13
电容
0.1/63V
C5、C7
2
14
电阻
5.1K
R4~6
3
15
电阻
10K
R1
1
16
电阻
0.15K
R3
1
17
电阻
0.3K
R2
2
18
变压器
AC220V/9V500mA
B1
1
19
2线电源插头
带电源线1.2m(0.7mm)
1
20
40脚集成电路座
DIP40
1
21
外壳
1
1电阻的认知
黑,棕,红,橙,黄,绿,蓝,紫,灰,白
0,1,2,3,4,5,6,7,8,9
倒数第二环,表示零的个数。
最后一位,表示误差。
2电解电容的极性
电解电容由于有正负极性,因此在电路中使用时不能颠倒联接。
在电源电路中,输出正电压时电解电容的正极接电源输出端,负极接地,输出负电压时则负极接输出端,正极接地.当电源电路中的滤波电容极性接反时,因电容的滤波作用大大降低,一方面引起电源输出电压波动,另一方面又因反向通电使此时相当于一个电阻的电解电容发热.当反向电压超过某值时,电容的反向漏电电阻将变得很小,这样通电工作不久,即可使电容因过热而炸裂损坏.还有就是要注意电解电容的两端的电压不能超过其允许工作电压,在设计实际电路时应根据具体情况留有一定的余量。
3二极管的极性
使用万用表电阻RX1K档位测量,由于二极管具有单向导电性能,所以测量时将红表笔和黑表笔交换各测量一边二极管引脚,表针变化或有示数时即表示正偏导通,特点是正偏时电阻很小,反偏时电阻趋于无穷大,根据这个特点可以判断出来导通时候的表笔联接情况。
4三极管的引脚判断
(a)判定基极。
用万用表R×100或R×1k挡测量三极管三个电极中每两个极之间的正、反向电阻值。
当用第一根表笔接某一电极,而第二表笔先后接触另外两个电极均测得低阻值时,则第一根表笔所接的那个电极即为基极b。
这时,要注意万用表表笔的极性,如果红表笔接的是基极b。
黑表笔分别接在其他两极时,测得的阻值都较小,则可判定被测三极管为PNP型管;如果黑表笔接的是基极b,红表笔分别接触其他两极时,测得的阻值较小,则被测三极管为NPN型管。
(b)判定集电极c和发射极e。
(以PNP为例)将万用表置于R×100或R×1k挡,红表笔基极b,用黑表笔分别接触另外两个管脚时,所测得的两个电阻值会是一个大一些,一个小一些。
在阻值小的一次测量中,黑表笔所接管脚为集电极;在阻值较大的一次测量中,黑表笔所接管脚为发射极。
5集成电路的引脚怎麽数
芯片上有个半圆的豁口或是一个角有凹下去的小圆圈。
摆动芯片这个豁口或小圆圈朝上,有字的一面向着你。
例如8引脚的,芯片的引脚从你的左手边从上向下数,1~4号引脚,右手边的引脚从下向上数5~8号引脚。
也就是逆时针数。
6防止虚焊
要避免虚焊,主要要分别给各焊面做好清理和上锡,清理最好不要用焊锡膏,因为含有酸性材料,有可能以后会腐蚀元件引脚,造成虚焊,清理掉氧化物后,给焊面先上锡,再焊接就容易了,也不容易产生虚焊。
774LS164
引脚说明
符号
引脚
说明
DSA
1
数据输入
DSB
2
数据输入
Q0~Q3
3~6
输出
GND
7
地(0V)
CP
8
时钟输入(低电平到高电平边沿触发)
/M/R
9
中央复位输入(低电平有效)
Q4~Q7
10~13
输出
VCC
14
正电源
工作模式
输入
输出
/M/R
CP
DSA
DSB
Q0
Q1 至Q7
复位(清除)
L
L
X
X
L
L至L
移位
H
↑
l
l
L
q0至q6
H
↑
l
h
L
q0至q6
H
↑
h
l
L
q0至q6
H
↑
h
H
H
q0至q6
H=HIGH(高)电平
h=先于低-至-高时钟跃变一个建立时间(set-uptime)的HIGH(高)电平
L=LOW(低)电平
l=先于低-至-高时钟跃变一个建立时间(set-uptime)的LOW(低)电平
q=小写字母代表先于低-至-高时钟跃变一个建立时间的参考输入(referencedinput)的状态
↑=低-至-高时钟跃变
(二)原理图绘制
(三)PCB板的生成
(四)程序设计
MINEEQU30H;定义分显示存储器
HOUREQU31H;定义时显示存储器
STATEBIT7FH;调时模式标志位
HORMBIT7EH;选中时或分
LEDBIT7DH;秒点闪烁
DSPLBIT7CH;一秒钟定时,显示功能
HTSETBIT7BH;时间被修改标志
SCDBIT7AH;秒显模式标志位,显示模式下,按下AN2开关,进入秒显示状态
ORG0000H
AJMPMAIN
ORG000BH
AJMPINTVT0
ORG0030H
MAIN:
;程序初始化
CLRSTATE
CLRHORM
CLRLED
CLRDSPL
CLRHTSET
CLRP1.7
CLR71H
CLR70H
MOVMINE,#00
MOVHOUR,#00
MOVR7,#00;秒计数器
MOVR6,#00;分计数器
MOVR5,#00;时计数器
MOVR4,#00;一秒产生器
MOVTH0,#3CH;
MOVTL0,#0A6H
MOVTMOD,#01H;T0定时方式1
SETBTR0
SETBET0;T0使用中断方式
SETBEA
ACALLSHOW
DESK:
;运行界面
SETBP1.0;模式切换键测定
JBP1.0,D0
ACALLDAY;延时消抖
JBP1.0,D0
SETBSTATE;模式标志位置1,进入调时模式
JNBP1.0,$
ACALLDAY
D0:
JNBSTATE,D1;
ACALLMDF;进入调时模式
D1:
SETBP1.1;模式切换键测定
JBP1.1,D2
ACALLDAY;延时消抖
JBP1.1,D2
SETBSCD;模式标志位置1,进入秒显示模式
JNBP1.1,$
ACALLDAY
D2:
JNBSCD,D3
ACALLSCDDSP
D3:
JNBDSPL,DESK;判断一秒钟定时标志是否溢出
MOVMINE,R6
MOVHOUR,R5
ACALLSHOW;一秒钟到,重新显示
AJMPDESK
SCDDSP:
MOVMINE,R7
MOVHOUR,R6
ACALLSHOW
MOVR3,#100
SCD0:
ACALLDAY
DJNZR3,SCD0
SETBP1.1;模式切换键测定
JBP1.1,SCDDSP
ACALLDAY;延时消抖
JBP1.1,SCDDSP
CLRSCD;模式标志位置1,进入调时模式
JNBP1.1,$
ACALLDAY
JBSCD,SCDDSP
RET
SHOW:
;显示时分程序
MOVSCON,#00H
SETBP1.7;关闭数码管,避免闪烁
CLRTI
MOVA,MINE;取分钟
CLR71H;标志位,7A=0显示分,7A=1显示时
S0:
MOVB,#10;取BCD码
DIVAB
XCHA,B
JNBSTATE,S3;判断显示模式,STATE=1调时模式
JNB71H,S1;调时模式,71H=1,显示小时
JNBHORM,S3;HORM=1,修改小时值,HORM=0修改分钟值
;显示小时,修改分钟,则退出闪烁,正常显示
AJMPS2;调时模式,显示小时,修改小时,闪烁显示
S1:
JBHORM,S3;显示分钟,修改小时,退出闪烁,正常显示
S2:
CPL70H;取反闪烁标志位,闪烁执行段
JNB70H,S3;闪烁判断
MOVB,#10;若闪烁,则使时或分的十位数码管输出#0FFH,即熄灭
S3:
MOVDPTR,#TAB
MOVCA,@A+DPTR
JNB71H,S7
MOVC,LED
MOVACC.4,C
S7:
MOVSBUF,A
S4:
JNBTI,S4
CLRTI
MOVA,B
MOVCA,@A+DPTR
MOVSBUF,A
S5:
JNBTI,S5
CLRTI
JB71H,S6;若小时已显示完毕,则退出显示
MOVA,HOUR;取小时显示值
SETB71H;置标志位,71H=1,显示小时
AJMPS0;显示小时
S6:
CLR71H
CLRDSPL;清零显示标志
CLRP1.7
CLRSCD;打开数码管显示
RET
MDF:
;修改模式
MOVMINE,R6;取分钟值
MOVHOUR,R5;取小时值
CLRHORM;修改分钟
CLRHTSET;时间没有被修改过
M0:
JNBDSPL,M1;一秒到,以闪烁指出选中位,时或分
ACALLSHOW
M1:
SETBP1.1;选中小时或分钟
JBP1.1,M2
ACALLDAY;延时消抖
JBP1.1,M2
CPLHORM;选中小时或分钟切换
JNBP1.1,$
ACALLDAY
M2:
JBHORM,M3
ACALLHMSM;进入调试分钟
AJMPM4
M3:
ACALLHMSH;进入调试小时
M4:
SETBP1.0;退出调时模式键测试
JBP1.0,M0
ACALLDAY
JBP1.0,M0;退出无效,继续修改
CLRSTATE;退出有效,清模式标志位
JNBP1.0,$
ACALLDAY
JNBHTSET,M5;若时间没被修改,直接退出
MOVR5,HOUR;若时间已被修改,置入所修改数
MOVR6,MINE
MOVR7,#00
MOVR4,#00
MOVTH0,#3CH
MOVTL0,#0A6H
CLRHTSET
ACALLSHOW
M5:
RET
HMSH:
SETBP1.2;修改小时时程序
JBP1.2,SH0
ACALLDAY
JBP1.2,SH0
INCHOUR;按键有效,小时值加1
SETBHTSET;时间已被修改
MOVA,HOUR
CJNEA,#24,SH0
MOVHOUR,#00
SH0:
ACALLSHOW
MOVR3,#50;延时250ms
SH1:
ACALLDAY
DJNZR3,SH1
RET
HMSM:
SETBP1.2;修改分钟程序
JBP1.2,MN0
ACALLDAY
JBP1.2,MN0
INCMINE
SETBHTSET
MOVA,MINE
CJNEA,#60,MN0
MOVMINE,#00
MN0:
ACALLSHOW
MOVR3,#50;延时250ms
MN1:
ACALLDAY
DJNZR3,MN1
RET
DAY:
MOVR0,#5;延时5ms程序
DL0:
MOVR1,#250
DL1:
NOP
NOP
DJNZR1,DL1
DJNZR0,DL0
RET
TAB:
DB18H,7EH,94H,34H,72H,31H,11H,7CH,10H,30H,0FFH
INTVT0:
MOVTH0,#3CH;定时器T0中断
MOVTL0,#0A6H
INCR4
IN0:
CJNER4,#20,BACK;一分钟未到,中断返回
SETBDSPL;一秒显示标志
CPLLED;秒闪烁位取反
MOVR4,#00
INCR7
CJNER7,#60,BACK
MOVR7,#00
INCR6
CJNER6,#60,BACK
MOVR6,#00
INCR5
CJNER5,#24,BACK
MOVR5,#00
BACK:
RETI
END
五.调试焊接过程
(一)焊接:
根据电路板上元件提示逐一焊接,其中要特别注意二、三极管极性,还有芯片插入方向。
对电阻要先测量其阻值在进行焊接,电容也应注意其容值,电解电容还要特别注意正负极性。
焊接中动作要快,以防止烧坏器件,焊接中或者焊接后要对焊点进行检查,确保焊点圆滑有光泽,并保证没有漏焊、虚焊和短路现象。
在检查无误以后,即可对整版进行下载调试。
(二)调试:
使用下载器将程序烧录到单片机,接通电源观察实验现象,如不符合要求,则更改程序反复下载,直到符合要求为止。
六.实习心得
这次参加单片机实习,让我受益匪浅,让我对焊接,芯片,单片机等硬件和软件有了更深刻的认识。
这次实习我们使用控制电路的单片机是AT89C51。
通过这次实习使我明白了,一个人的力量是有限的,团队精神是这次实习成功的主要原因。
如果让我一个去完成这么大的一个任务时,即使我再怎么的努力也不可能在短短的两周时间完成这次实习的。
与其他同学的探讨与研究,使我明白了许多以前不知道知识,使我受益匪浅。
还有就是这次在老师带领下我们参观了一个与我们的专业相关厂子,让我们开了眼界。
在参观厂子时,让我意识到了自己对实践知识匮乏。
看到工人那么娴熟的动作,我是真的很羡慕,我决定在今后的学习中我们应加强对实践能力培养,为自己今后的工作先奠定扎实的基础。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!