电子产品设计制作技术训练手册.docx
《电子产品设计制作技术训练手册.docx》由会员分享,可在线阅读,更多相关《电子产品设计制作技术训练手册.docx(96页珍藏版)》请在冰点文库上搜索。
电子产品设计制作技术训练手册
电子产品设计制作技术训练手册
2014-2015学年13级第一学期
专业
学号
姓名
指导教师
电子信息工程系
任务一简易数字电压表的制作
1.1任务描述
每位同学按照任务步骤,根据参考电路或自行设计电路,从提供的元器件中选择合适的元件制作一个简易的数字电压表,要求测量范围0~5V,8路输入电压值,并在4位LED数码管上轮流显示或电路选择显示,其测量最小分辨率为0.02V。
1.2任务要求:
重点:
单片机控制电路的设计、制作和调试。
难点:
软件的使用。
对学生的要求:
(1)设计方案:
查找资料并制定方案计划,占总成绩的30%;
(2)成品制作:
单片机基本控制电路的设计、制作和调试,占总成绩的40%;
(3)总结汇报:
每位同学根据自己的设计方案,做好ppt进行方案介绍,展示自己的作品,并提交总结报告,占总成绩的30%。
1.3任务分析
AT89C51单片机是目前最成熟、应用最广泛的款单片机,也是最适合初学者的单片机。
本任务即是让初学者对AT89C51单片机有一个初步的了解。
1.4任务学习
ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
1.4.1ADC0809的内部逻辑结构
由下图1-1可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,
当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
图1-1
1.4.2ADC0809引脚结构
ADC0809各脚功能如下
D7-D0
8位数字量输出引脚
IN0-IN7
8位模拟量输入引脚
VCC
+5V工作电压
GND
地
REF(+)
参考电压正端
REF(-)
参考电压负端
START
A/D转换启动信号输入端
ALE
地址锁存允许信号输入端
EOC
转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
CLK
钟信号输入端(一般为500KHz)
表1-2
1
ADC0809结构图1-3
ADC0809实物图1-4
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进入转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表1-5所示。
C
B
A
选择的通道
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
表1-5
数字量输出及控制线:
11条
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,
VREF(+),VREF(-)为参考电压输入。
1.4.3ADC0809应用说明
(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
(2)初始化时,使ST和OE信号全为低电平。
(3)送要转换的哪一通道的地址到A,B,C端口上。
(4)在ST端给出一个至少有100ns宽的正脉冲信号。
(5)是否转换完毕,我们根据EOC信号来判断。
就输出给单片机了。
1.4.4实验任务
如下图所示,从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。
ADC0809的VREF接+5V电压。
ADC0809应用电路原理图1-6
ADC0809应用电路原理图图1-6
1.4.5程序设计内容
(1)进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。
(2)进行A/D转换之前,要启动转换的方法:
ABC=110选择第三通道
ST=0,ST=1,ST=0产生启动转换的正脉冲信号.
1.5任务实施步骤
根据“智能数字电压表方案设计”学习单,通过小组讨论制定方案设计计划。
1.5.1方案论证
参考方案:
按系统功能实现要求,决定控制系统采用AT89C52单片机,A/D转换采用ADC0809。
系统储能确保实现要求的功能外,还可以方便的进行8路其他A/D转换量的测量和远程测量结果传送等扩展功能,数字电压表系统设计方案框图如图1-7所示。
图1-7数字电压表系统设计方案框图
1.5.2系统硬件电路的设计
根据1.5.4“硬件设计”学习,制订硬件设计计划。
准备好硬件电路设计所需的元件资料。
完成的目标,资料准备,原理图设计,PCB板设计,硬件电路安装与调试。
确定每项工作内容完成的时间、要求。
在硬件电路设计与装调过程,根据1.5.4“整机测试”学习,开展工作,工作过程中的问题可能通过小组讨论,课后答疑等方式解决,同时要认真填写好学习过程记录单。
参考硬件电路的设计:
建议数字电压测量电路由A/D转换、数据处理及显示控制等组成,电路原理如图1-8所示。
图1-8数字电压表的电路原理图
A/D转换由集成电路ADC0809完成。
ADC0809具有8路模拟输入端口,地址线(第23~25脚)可决定对哪一路模拟输入作A/D转换。
第22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。
第6脚为测试控制,当输入一个2
宽高电平脉冲时,就开始A/D转换。
第7脚为A/D转换结束标志,当A/D转换结束时,第7脚输出高电平。
第9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从端口输出,第10脚为ADC0809的时钟输入端,利用单片机第30脚的6分频晶振频率,再通过14024二分频得到1MHz时钟。
单片机的P1、P3.0~P3.3端口作为4位LED数码管显示控制。
P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择的通道。
P0端口用作A/D转换数据输入,P2端口用作ADC0809的A/D转换控制。
1.5.3系统程序的设计
系统上电时,初始化程序主要用来执行70H~77H内存单元清0和P2口置等准备工作。
1.6软件系统设计
使用AT89C52单片机,12MHZ晶振,P0口读入AD值,P2口作AD控制,用共阳LED数码管。
P1口输出段码,P3口扫描,最高位指示通道(0-7)。
*/
#include"reg52.h"//52系列单片机定义文件
#include"intrins.h"//调用_nop_();延时函数用
#definead_conP2//AD控制口
#defineaddataP0//AD数据计入读入口
#defineDisdataP1//显示数据段码输出口
#defineucharunsignedchar//无符号字符(8位)
#defineuintunsignedint//无符号整数(16位)
sbitALE=P2^3;//锁存地址控制位
sbitSTART=P2^4;//启动一次转换位
sbitOE=P2^5;//0809输出数据控制位
sbitEOC=P3^7;//转换结束标志位
sbitDISX=Disdata^7;//LED小数点
//
ucharcodedis_7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
//共阳七段LED段码表"0""1""2""3""4""5""6""7""8""9""不亮"
ucharcodescan_con[4]={0xfe,0xfd,0xfb,0xf7};//四位列扫描控制字
uchardataad_data[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//定义8个数据内存单元
uintdatadis[5]={0x00,0x00,0x00,0x00,0x00};
//定义4个显示数据单元、1个数据暂存单元
(2)主程序
在刚上电时,系统默认为循环显示8个通道的电压值状态。
当进行一次测量后,将显示每一通道的A/D转换值,每个通道的数据显示时间为1s左右。
主程序在调用显示子程序与测量子程序之间循环,主程序流程图如图1-13所示。
参考程序:
main()
{
P0=0xff;//初始化端口
P2=0x00;
P1=0xff;
P3=0xff;
while
(1)
{
scan();//依次显示8个通道值一次
test();//测量转换一次
}
}
(3)显示子程序
显示子程序采用动态扫描法实现4位数码管的数值显示。
测量所得的A/D转换数据放在70H~77H内存单元中,测试数据在显示时须经过转换成为十进制BCD码放在78H~7BH单元内,期中7BH存放通道标志数。
寄存器R3用作8路循环控制,R0用作显示数据地址指针。
参考程序;
scan()
{
uchark,n;
inth;
dis[3]=0x00;//通道初值为0
for(n=0;n<8;n++)//每次显示8个数据
{
dis[2]=ad_data[n]/51;//测得值转换为三位BCD码,最大为5.00V
dis[4]=ad_data[n]%51;//余数暂存
dis[4]=dis[4]*10;//计算小数第一位
dis[1]=dis[4]/51;//
dis[4]=dis[4]%51;//
dis[4]=dis[4]*10;//计算小数第二位
dis[0]=dis[4]/51;//
for(h=0;h<500;h++)//每个通道值显示时间控制(约1秒)
{
for(k=0;k<4;k++)//四位LED扫描控制
{
Disdata=dis_7[dis[k]];
if(k==2){DISX=0;}
P3=scan_con[k];delay1ms
(1);P3=0xff;
}
}
dis[3]++;//通道值加1
}
}
(4)A/D转换测量子程序
A/D转换测量子程序用来控制对ADC0809的8路模拟输入电压的A/D转换,并将对应的数值移入70H~77H内存单元。
A/D转换测量子程序流程图如图1-14所示。
参考程序:
test()
{
ucharm;
uchars=0x00;
ad_con=s;
for(m=0;m<8;m++)
{
ALE=1;_nop_();_nop_();ALE=0;//转换通道地址锁存
START=1;_nop_();_nop_();START=0;//开始转换命令
_nop_();_nop_();_nop_();_nop_();//延时4微秒
while(EOC==0);//等待转换结束
OE=1;ad_data[m]=addata;
OE=0;s++;ad_con=s;//取AD值,地址加1
}
ad_con=0x00;//控制复位
}
1-9主程序流程图1-10A/D转换测量子程序流程图
(5)调试及性能分析
采用Wave或KeilC51编译器进行源程序编译及仿真调试,同时进行硬件电路板的设计制作,烧录好程序后进行软硬件联调,最后进行端口电压的对比测试。
测试对比表如图1.1所示。
表中标准电压值采用UT56数字万用表测得。
标准电压值/V
0.00
0.15
0.85
1.00
1.25
1.75
1.98
2.32
2.65
简易电压
表测得值/V
0.00
0.17
0.86
1.02
1.26
1.76
2.00
2.33
2.66
绝对误差/V
0.00
0.02
0.01
0.02
0.01
0.01
0.02
0.01
0.01
标准电压值/V
3.00
3.45
3.55
4.00
4.50
4.60
4.70
4.81
4.90
简易电压
表测得值/V
3.01
3.47
3.56
4.01
4.52
4.62
4.72
4.82
4.92
绝对误差/V
0.01
0.02
0.01
0.01
0.02
0.02
0.02
0.01
0.02
表1.1简易数字电压表与“标准”数字电压表对比测试表
从表1.1中可以看出,简易数字电压表与“标准”数字电压表对比测试表测得的绝对误差均在0.02V以内,这与采用8位A/D转换器所能达到的理论误差精度相一致,在一般的应用场合可完全满足要求。
(6)控制程序清单
1)由于单片机为8位处理器,当输入电压为5.00V时,ADC0809输出数据值为255(FFH),因此单片机最高的数值分辨率为0.0196V(5/255)。
这就决定了该电压表的最高分辨率(精度)只能达到0.0196V,测试时电压一般以0.02V的幅度变化。
如果要获得更高的精度要求,则应采用12位、13位的A/D转换器。
2)从表1.1中可以看出,简易电压表测得的值基本上均比标准电压值偏大0.01~0.02V。
这可以通过校正ADC0809的基准电压来解决。
因为该电压表设计时直接用5V的供电电源作为基准电压,所以电压可能有偏差,另外,还可以用软件编程来校正测量值。
3)ADC0809的直流输入阻抗为1M
,能满足常用的电压测试需要。
另外经测试ADC0809可直接在2MHz的时钟频率下工作,这样可省略去二进制分频器14024集成块。
4)当要测量大于5V的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数进行调整就可以了。
但是量程越大,测量精度会越低。
1.7任务学习记录单
1-1“任务分析”学习
学习项目
智能数字电压表设计与制作
学习任务名称
任务分析
学习目标
学习方式
了解智能数字电压表的工作原理
了解智能数字电压表的功能和技术指标
能根据智能数字电压表功能要求制定智能数字电压表的具体功能和技术指标
查阅资料
企业访谈
资料分析
小组讨论
场地,设备
专业实验室,图书馆
引导问题
(1)生活中哪些场合使用智能数字电压表?
普通数字电压表与智能数字电压表的差距是什么?
(2)不同用途的智能数字电压表的设计上有何异同点?
(3)待设计的智能数字电压表用途是什么?
有什么功能?
(4)待设计的智能数字电压表要达到何种技术指标?
(5)对各项技术指标准备如何检测?
应提交材料
(1)任务分析计划
(2)汇总的学习资料(电子稿)
(3)学习过程记录单
(4)任务分析表
表1-2智能数字电压表设计与制作任务分析表
项目名称
班级
小组编号
完成时间
产品用途
详细功能描述
技术指标描述
安装要求
成本要求
检测标准
表1-3“智能数字电压表设计方案设计”学习单
学习项目
智能数字电压表设计
学习任务名称
方案设计
学习目标
学习方式
场地,设备
专业实验室,电子市场,图书馆
引导问题
(1)智能数字电压表由哪几部分组成?
工作原理是什么?
(2)测测压元件有哪些?
主要元器件如何选型?
(3)小组中成员的工作如何分配?
工作计划是什么?
应提交材料
1.方案设计计划
2.汇总的学习资料(电子稿)
3.学习过程记录单
4.设计方案
5.方案汇报PPT
1-4“硬件设计”学习
学习项目
智能数字电压表设计与制作
学习任务名称
硬件设计
学习目标
学习方式
收集数字电压表的相关资料,消化吸收
资料收集
能够根据掌握的资料,制订硬件电路设计与装调的工作计划
小组计论
能够根据所学的知识,进行智能数字电压表各功能模块的设计
小组计论
能够根据硬件电路各模块的要求,选择合适元器件
小组计论
能够根据所选的元器件及相关资料,进行原理图和PCB板图设计
操作实训
能够根据各个电路模块,使用仪器表进行电路调试
操作实训
场地,设备,工具,材料建议
场地:
专业实验室,图书馆,电子市场
软件:
PROTEL99SE软件
仪器仪表:
示波器,万用表
工具:
焊接工具,螺丝刀,斜口钳等
引导问题
(1)自动校准的原理是什么?
(2)超时关闭功能如何实现?
(3)单片机中的I/O口如何分配?
表1-5“软件设计”学习单
学习项目
智能数字电压表设计与制作
学习任务名称
软件设计
学习目标
学习方式
能够根据设计要求,进行程序模块的划分
小组讨论
能够根据功能要求,设计主程序及各功能模块的流程图
小组讨论
能够编写脉冲宽度调制(PWM)控制电机转速的程序
操作实训
能够使用仿真器进行程序调试
操作实训
能够编写测温、取时和液晶显示子程序
操作实训
场地:
专业实验室
工具:
编程器,仿真器
引导问题
(1)编程思路如何?
软件模块划分为哪几块?
(2)如何设计主程序及各功能模块的流程图?
(4)如何编写测压、和数码管显示子程序?
(5)小组成员如何分工,如何安排设计时间?
1-6“整机测试”学习
学习项目
数字电压表设计与制作
学习任务名称
整机测试
学习目标
学习方式
能根据设计要求确定各功能测试的方法
小组讨论
能根据设计要求确定各技术参数测试的方法
小组讨论
能根据测试结果分析设计方案的优缺点
小组讨论
场地:
专业实验室
工具:
示波器,数字电压表
引导问题
(1)进行哪些方面的测试?
如何测试?
(2)结果如何?
是否符合设计要求?
(3)本设计方案的优缺点?
附表1
学习过程记录单
学习项目
学习任务名称
班级
小组
负责人
开始时间
计划完成时间
实际完成时间
学习内容
学习记录
学习时间
学习方法,地点
完成情况
存在问题及建议:
任务二车间控温系统制作
1.1任务描述
(1)在1602液晶屏上显示当前的环境温度;
(2)当环境温度高于30oC时,电动机加速正向转动(模拟散热系统);当环境温度高于50oC时,电动机正向全速转动。
(3)当环境温度低于10oC时,电动机加速反向转动(模拟加热系统);当环境温度低于0oC时,电动机反向全速转动。
1.2任务要求:
重点:
单片机控制电路的设计、制作和调试。
难点:
软件的使用。
对学生的要求:
(1)设计方案:
查找资料并制定方案计划,占总成绩的30%。
(2)成品制作:
单片机基本控制电路的设计、制作和调试,占总成绩的40%。
(3)总结汇报:
每位同学根据自己的设计方案,做好ppt进行方案介绍,展示自己的作品,并提交总结报告,占总成绩的30%。
1.3任务分析
AT89C51单片机是目前最成熟、应用最广泛的款单片机,也是最适合初学者的单片机。
本任务即是让初学者对AT89C51单片机有一个初步的了解。
1.4任务学习
根据图1.1所示的组成框图进行系统设计,在设计中温度采集模块选用了温度传感器DS18B20,显示模块采用LM1602液晶屏,报警模块中采用蜂鸣器报警。
在该仿真电路中,所用到的仿真元件如表2-1所示。
表2-1仿真电路元件清单
元器件名称
Keywords
元器件名称
Keywords
单片机
AT89C51
弹性按键
BUTTON
晶体振荡器
CRYSTAL
1kΩ电阻
MINRES1K
33pF瓷片电容
CERAMIC33p
10kΩ电阻
MINRES10K
22μF电解电容
MINELECT22U16V
二极管
IN4007
温度传感器
DS18B20
电机驱动芯片
L298
排阻
RESPACK-8
直流电机
MOTOR-DC
1602液晶屏
LM016L
虚拟终端
VTERM
温度传感器是各种传感器中最常用的一种,早期使用的是模拟温度传感器,如热敏电阻,随着环境温度的变化,它的阻值也发生变化,用处理器采集电阻两端的电压,然后根据相应的公式就可计算出当前环境温度。
随着科技的进步,目前的温度传感器已经走向数字化,外形小,接口简单,广泛应用在生产实践的各个领域,为我们的生活提供便利。
美国DALLAS半导体公司推出的数字化温度传感器DS18B20,采用单总线协议,即与单片机连接时仅需占用一个I/O口,无须任何外部元件,直接将环境温度转化成数字信号,以数字编码的方式串行输出,从而大简化了传感器与单片机的接口。
1.4.1DS18B20温度传感器特性
(1)适应电压范围宽,电压范围在3.0~5.5V,在寄生电源方式下可由数据线供电。
(2)独特的单线接口方式,它与单片机相连时仅需要一条口线即可实现双向通信。
(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(4)在使用中不需要任何外围元件,全部传感元件及转换电路集成在一个集成电路内。
(5)测温范围-55oC~+122oC,在-10oC~+85oC时精度为+0.5oC。
(6)转换速度快,在1秒内(典型值)把温度变换为数字。
(7)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(8)负压特性。
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
1.4.2引脚介绍
DS18B20实物如图2-2所示。
DS18B20有两种封装:
三脚TO-92直插式(用的最普遍的一种)和八脚SOIC贴片式。
其引脚说明如下:
图2-2
GND——电源负极。
DQ——信号输入输出。
VDD——电源正极。
1.4.3芯片指令