STC 12C5A60S2芯片的实验板报告.docx
《STC 12C5A60S2芯片的实验板报告.docx》由会员分享,可在线阅读,更多相关《STC 12C5A60S2芯片的实验板报告.docx(55页珍藏版)》请在冰豆网上搜索。
STC12C5A60S2芯片的实验板报告
第一章生产实习的目的及意义
1.1前言
对于任何一位大学生来说,生产实习是一个很关键的学习内容,也是一个很好的锻炼机会。
对于我们来说,平常学到的都是书面上的知识,而生产实习正好就给了我们一个在投身社会工作之前把理论知识与实际设计联系起来的机会,生产实习既让我们看到实际的中设计生产状况,也我们在就业之前“实战预演”,我们可以从中看到的不仅仅是生产运作过程,还有大量实际设计方面的知识,以及我们还十分缺乏的实际经验都包含在每个生产设计过程中,通过实习能够使我们更好的完善自己。
对于生产实习来说,其中一个主要目的就是通过实习所学的内容来完善我们的毕业设计,当然我们在实习过程中还会收集相关资料、了解相关产品设计制造的基本技术和发展现状,从而制定毕业设计设计思路与方法,了解相关的工艺以及工序,这也是我们在毕业设计中要符合实际的现成参考文件。
认真完成好这次实习,为完成好毕业设计做好充分的准备,也为不久以后的工作打下坚实的基础。
1.2生产实习的基本内容
1.集中授课,进行相关知识的学习。
2.学习、掌握电子产品的独立性设计与安装、调试的能力;进一步掌握电子测量仪器的正确使用方法,电元器件的测量与筛选技术。
3.初步了解电子整机产品的工艺过程。
4.为能使学生得到充分的锻炼,较大的提高学生的实际动手能力。
5.本实习环节,学生要独立使用电焊铁及各种电子测试设备电路安装与调试,要学生严格遵守电器设备的使用安全,遵守实验室的各项规章制度。
1.3基本要求
1.在教师的指导下练习在测试电路德核心板上焊接元件,掌握焊接要领。
2.熟悉元器件的性能及管脚分配。
3.在给定的PCB板上焊接跳线,IC插座,电阻,电容,LED器件等。
4.检查焊接是否正确。
5.插上元器件,运行系统,并观测系统工作是否正常。
1.4生产实习的目的和意义
生产实习是培养本科学生理论联系实际,提高实际动手操作能力的重要教学环节。
本专业的生产实习旨在使学生广泛了解实际电子产品生产的全过程,熟悉电子产品的主要技术管理模式,并在实习的操作过程中学习、掌握电子产品的焊接、安装、调试的实际操作技能。
巩固和加深理解所学的理论,开阔眼界,提高能力,为培养高素质大学本科人才打下必要的基础。
通过学习,是理论与实际相结合,可以使学生加深对所学知识的理解,并为后续专业课的学习提供必要的感性知识,同时使学生直接了解本业的生产过程和生产内容,为将来走上工作岗位提供必要的实际生产知识。
1.5生产实习的重要性
生产实习是电子信息工程专业教学计划的一个重要部分,是培养学生理论学习与实践相结合的重要实践性教学环节。
通过生产实习使学生了解实习单位的工作方式和工作流程;对以后大单片机课程设计,帝业设计做基础,了解一个开发板的开发制作的整个过程以及元器件的采购;对生产现场、生产过程中的电子信息设备、计算机设备的应用状况有较为深刻的认识,掌握常规电子信息设备的使用维护方法;在实践中进一步加强专业教育,了解本专业工程技术岗位和生产劳动岗位的工作情况和工作内容,培养团队精神和吃苦耐劳的精神;同时可以使学生学到企业的管理经验和工人师傅的艰苦创业精神,激励学生奋发向上的开拓精神。
第二章单片机
2.1部分芯片介绍
2.1.1AT89S52芯片
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能:
P1.0T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动
4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INTO(外中断0)
P3.3INT1(外中断1)
P3.4TO(定时/计数器0)
P3.5T1(定时/计数器1)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
图2-1AT89S52引脚图DIP封装
2.1.2MAX232芯片
MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
主要特点:
符合所有的RS-232C技术标准;只需要单一+5V电源供电;片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-;4、功耗低,典型供电电流5mA;内部集成2个RS-232C驱动器;内部集成两个RS-232C接收器。
引脚介绍:
第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分是供电。
15脚GND、16脚VCC(+5v)
图2-2MAX232引脚图
2.1.3DS12C887芯片
DS12C887实时时钟芯片功能丰富,可以用来直接代替IBMPC上的时钟日历芯片DS12887,同时,它的管脚也和MC146818B、DS12887相兼容。
由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题;DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。
在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节通用RAM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。
引脚功能:
GND、VCC:
直流电源,其中VCC接+5V输入,GND接地,当VCC输入为+5V时,用户可以访问DS12C887内RAM中的数据,并可对其进行读、写操作;当VCC的输入小于+4.25V时,禁止用户对内部RAM进行读、写操作,此时用户不能正确获取芯片内的时间信息;当VCC的输入小于+3V时,DS12C887会自动将电源发换到内部自带的锂电池上,以保证内部的电路能够正常工作。
1.MOT:
模式选择脚,DS12C887有两种工作模式,即Motorola模式和Intel模式,当MOT接VCC时,选用的工作模式是Motorola模式,当MOT接GND时,选用的是Intel模式。
本文主要讨论Intel模式。
2.SQW:
方波输出脚,当供电电压VCC大于4.25V时,SQW脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13种方波信号的输出。
AD0~AD7:
复用地址数据总线,该总线采用时分复用技术,在总线周期的前半部分,出现在AD0~AD7上的是地址信息,可用以选通DS12C887内的RAM,总线周期的后半部分出现在AD0~AD7上的数据信息。
3.AS:
地址选通输入脚,在进行读写操作时,AS的上升沿将AD0~AD7上出现的地址信息锁存到DS12C887上,而下一个下降沿清除AD0~AD7上的地址信息,不论是否有效,DS12C887都将执行该操作。
4.DS/RD:
数据选择或读输入脚,该引脚有两种工作模式,当MOT接VCC时,选用Motorola工作模式,在这种工作模式中,每个总线周期的后一部分的DS为高电平,被称为数据选通。
在读操作中,DS的上升沿使DS12C887将内部数据送往总线AD0~AD7上,以供外部读取。
在写操作中,DS的下降沿将使总线AD0~AD7上的数据锁存在DS12C887中;当MOT接GND时,选用Intel工作模式,在该模式中,该引脚是读允许输入脚,即ReadEnable。
5.R/W:
读/写输入端,该管脚也有2种工作模式,当MOT接VCC时,R/W工作在Motorola模式。
此时,该引脚的作用是区分进行的是读操作还是写操作,当R/W为高电平时为读操作,R/W为低电平时为写操作;当MOT接GND时,该脚工作在Intel模式,此时该作为写允许输入,即WriteEnable。
6.C(——)S(——):
片选输入,低电平有效。
7.I(——)R(——)Q(——):
中断请求输入,低电平有效,该脚有效对DS12C887内的时钟、日历和RAM中的内容没有任何影响,仅对内部的控制寄存器有影响,在典型的应用中,RESET可以直接接VCC,这样可以保证DS12C887在掉电时,其内部控制寄存器不受影响。
在DS12C887内有11字节RAM用来存储时间信息,4字节用来存储控制信息。
图2-3DS12C887管脚图
2.1.4LCD1602液晶显示器
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)
引脚介绍:
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度(建议接地,弄不好有的模块会不显示)。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15~16脚:
空脚(有的用来接背光)。
15脚背光正极,16脚背光负极。
图2-4LCD1602管脚图
2.1.574HC573芯片
74HC573包含八进制3态非反转透明锁存器,是一种高性能硅门CMOS器件。
原理说明:
74HC573八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。
当使能为低时,输出将锁存在已建立的数据电平上。
输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。
这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。
特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。
输入是和标准CMOS输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。
当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。
当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
图2-574HC573的引脚图
第三章单片机电路板焊接
3.1单片机的焊接
图3-1焊接好的电路板
3.2原件清单
表3-1原件清单
序号
名称
型号
数量
说明
1
电容
20p
2
C01C02
2
104
6
C1-C6
3
电解电容
100uf/16V
1
C7
4
4.7uf/16V
1
C9
5
1uf/16V
5
C10-C14
6
晶振
11.0592MHz
1
Y1
7
电位器
10k
3
3296VR1VR2VR3
8
电阻
10Ω
1
R13
9
200Ω
8
10
43
2
R?
R8
11
1k
6
R2R3R9-R12
12
2k
1
R6
13
4.7k
1
R4
14
8.2k
1
R1
15
10k
1
R7
16
电阻排
430Ω
1
9p
17
10k
1
9p
18
发光二极管
白发红Φ
9
D1-D8
19
白发绿Φ
1
20
白发蓝Φ
1
21
二极管
IN4148
1
D9
22
三极管
8550
6
T1-T6
23
接插件
单排插针
2
间距2.54mm
24
双排插针
1
间距2.54mm
25
单排插座40p
1
间距2.54mm
26
USB母座
1
Mini90度弯针(5PF)
27
集成电路
4016
1
替换74CS14
28
74HC573
1
U6
29
74LS00
1
U7
30
STC12C5A60S2
1
DIP40封装U1
31
HS0038
1
红外接收XK1
32
DS12C887
1
U4时钟
33
MAX232
1
U5
34
温度传感器
DS18B20
1
DS1
35
数码管
MT03641B
1
U9
36
按键
4脚
16
6*6*6mm
37
自锁开关
自锁开关
1
7*7mm
38
蜂鸣器
5V
连续声
39
IC座
DIP8
1
40
DIP14
2
41
DIP16
1
序号
名称
型号
数量
说明
42
DIP20
1
43
DIP24
1
宽
44
DIP40
1
45
液晶模块
LCD1602
1
蓝背光
46
Jn12864J
1
蓝背光
下载器
47
集成电路
CH341A
1
SOL-28
48
电容
20p
2
贴片0805
49
104
2
贴片0805
50
10uF
1
贴片0805
51
电阻
0
1
贴片0805
52
50
2
贴片0805
53
1k
1
贴片0805
54
发光二极管
白发红
1
贴片0805
55
晶振
12MHz
1
56
自锁开关
自锁开关
1
7*7mm
3.3焊接电路板
3.3.1注意事项
1.先熟悉开发板原理图再和电路板上的丝印层相对照,以免出现错误。
2.焊接时先焊小元器件再焊大元器件。
3.焊接分立元件时先固定一个引脚,然后调整位置,以免焊歪。
4.在往电路板上安装发光二极管、电容和蜂鸣器时,注意不要把它们的极性装反。
5.在安装集成块时,它们的缺口要与丝印层上的缺口保持一致。
6.在焊接三极管时,注意三极管的朝向。
3.3.2正确的焊接方法
焊接时利用烙铁头的对元件引线和焊盘预热,烙铁头与焊盘的平面最好成45°夹角,等待焊金属上升至焊接温度时,再加焊锡丝。
被焊金属未经预热,而将焊锡直接加在烙铁头上,使焊锡直接滴在焊接部位,这种焊接方法常常会导致虚焊。
3.3.3插件元件焊接的步骤
1.插入
将插件元件插入电路板标示位置过孔中,与电路板紧贴至无缝为止。
如未与电路板贴紧,在重复焊接时焊盘高温易使焊盘损伤或脱落,物流过程中也可导致焊盘损伤或脱落。
2.预热
烙铁与元件引脚、焊盘接触,同时预热焊盘与元件引脚,而不是仅仅预热元件,此过程约需1秒钟时间。
3.加焊锡
焊锡加焊盘上(而不是仅仅加在元件引脚上),待焊盘温度上升到使焊锡丝熔化的温度,焊锡就自动熔化。
不能将焊锡直接加在烙铁上使其熔化,这样会造成冷焊。
4.加适量的焊锡,然后先拿开焊锡丝。
5.焊后加热
拿开焊锡丝后,不要立即拿走烙铁,继续加热使焊锡完成润湿和扩散两个过程,直到是焊点最明亮时再拿开烙铁,不应有毛刺和空隙。
6.冷却
在冷却过程中不要移动插件元件。
第四章c语言程序
4.1KEILUVISION的使用
打开“KeiluVision”,点击“project”,在弹出的对话窗口中选择“newproject”新建工程,建立工程文件。
在弹出的窗口中选择“Atmel”中的“AT89S52”确定后即可添加8051源代码。
选中工程文件右键点“Optionfortarget”再点“Output”“CreateHEX”创建HEX文件;点“File”之后点击“NEW”即可在出现的文本框中输入程序,保存路径与工程文件相同,且用英文名,格式为“.c”。
再添加源文件到project。
程序输入完了要保存,编译查看有无错误,有就修改,如果没有,将PC机与单片机用ISP下载线连接起来,USB驱动文件中,选择isp编程下载软件中“progisp”运行程序,在文件夹下选“调入flash”,调入hex文件,之后点击“自动”即可运行程序查看现象。
串行通信的调试可利用串行通信助手软件,查看单片机是如何与PC机进行数据通信的。
4.2流水灯程序
#include
#defineucharunsignedchar
#defineuintunsignedint
voidDelay(uintdel)
{
uinti,j;
for(i=0;ifor(j=0;j<1827;j++)
;
}
voidMain(void)
{
while
(1)
{
P1=0xfe;
Delay(100);
P1=0xfd;
Delay(100);
P1=0xfb;
Delay(100);
P1=0xf7;
Delay(100);
P1=0xef;
Delay(100);
P1=0xdf;
Delay(100);
P1=0xbf;
Delay(100);
P1=0x7f;
Delay(100);
}
}
4.3流水灯从低位到高位依次显示
#include
#defineucharunsignedchar
#defineuintunsignedint
voidDelay(uintdel)
{
uinti,j;
for(i=0;ifor(j=0;j<1827;