数字电压表设计实训报告Word文档格式.docx
- 文档编号:17111928
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:12
- 大小:168.30KB
数字电压表设计实训报告Word文档格式.docx
《数字电压表设计实训报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《数字电压表设计实训报告Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
2).能够显示测量的电压值,可在四位LED数码管上显示,
3).显示精度:
0.01V
4).测量误差:
<
=1%
五.实验原理:
(1).ADC0809模数转换模块:
ADC0809是将输入的模拟值转化为8位二进制值输出,也就是对一个模拟量进行量化采用逐次逼近的方法近似为数字量。
1、由于每次都从IN-0口输入电压值,所以其余七个入口都是空置的,所以ADC0809的三个地址输入口要接地。
2、从IN-0口输入的电压值范围0-5V,所以ADC0809采取5V的标准电压,以待量化进行数模转换。
3、ADC0809的工作是通过单片机C51中的程序控制的,当ADC0809的START=1,ALE=1时启动模数转换,此时EOC=0;
转化结束后EOC=1,若OE=1,则允许单片机从ADC0809中读取数据,读取结束后,OE=0.
4、同时A的10号引脚CLK要接单片机的30号引脚ALE,由于ADC0809的频率一般采用500KHZ左右,单片机30号引脚输出为1MHZ,所以要用74LS74进行二分频。
(2).单片机8051模块:
该模块主要是通过程序来实现三个功能:
1).控制ADC0809进行模数转换,单片机的P1口和ADC0809的8位输出口相连,来读取数据。
2).单片机通过P0和P2口控制非门74LS04和译码器4511对数码管进行动态扫描。
另外,还有置位电路和产生频率的晶振电路,单片机本身可以六分频,由于使用的是6MHZ的晶振所以单片机30脚输出1MHZ,经分频后送到ADC0809。
(3).显示模块:
该模块由非门译码器和一片4位七段数码管组成;
主要结合程序实现动态扫描。
1).单片机P0口的低四位通过非门来控制片选B1\B2\B3\B4,另外P0.7口通过非门来控制小数点dp,由于控制小数点dp的电平过低,故加上一上拉电阻来提高电平。
2).单片机P2口的低四位输入到译码器4511,译码器将输入转换成七位即abcdefg,进行段选。
六.硬件设计及各模块原理说明:
1.ADC0809型集成双积分式A/D转换原理与特性
模数转换模块。
采用ADC0809芯片。
ADC0809双积分式A/D转换器是在单极性参考电压(VR=+1V)供给之下,对双极性输入的模拟电压进行A/D转换,并输出自动极性判别信号。
它采用了自动校零技术,可保证零点常温下的长期稳定性,零点漂移的温度系数<2μV/℃。
模拟输入可以是差动信号,输入电阻极高,输入端零点漏电流<10pA。
ADC0809单片集成A/D转换器采用28脚双列直插式封装,它的引出脚排列如图3所示
图1
ADC0809的电源采用双电源+5V、-5V(极限值+6V、-6V),分别由11脚和1脚引入。
电源的公共端接至DGND(24脚)。
让所有的模拟信号地与AGND(3脚)相连接,最后用一根连线与DGND相接。
采用模拟地与数字地分开,并以一点相通,可避免由于连接线的寄生耦合作用而引起误差或者跳字。
参考电压VR正端从2脚引入,负端接AGND。
参考电压贮存电容CR一般选取1μF,接在7、8两脚。
差动输入模拟信号从9、10两脚引入。
如果允许模拟信号源的公共端与A/D转换器电源公共端相通,则此端可与AGND相接。
ADC0809之B8、B4、B2、B1各端送出的BCD码,经过7447BCD码/七段码译码器,转换成控制共阳极LED数码管发光的信号。
这五个数字管的各对应笔段(发光二极管的阴极)皆并联相接,也就是说,一组BCD码输出,这五个数字管都有可能显示对应的数字。
但是,究竟显示的是哪个字位,还决定于T5~T1中哪一个开关管导通,形成电流的通路。
由于T5~T1受D5~D1各端控制,所以字位扫描信号就决定了数字管由高位到低位分时扫描显示。
ICl7135发送数据B8、B4、B2、B1和字位控制是同步的,不会发生错乱,因为扫描的速度很快,在fcp=125kHz情况下,刷新速率达125Hz,所以人的视觉上不会感到显示的数在闪烁。
当“万”位数字对应0时,这种数字管就无法显示“0”了,必须改成不显示数字,只显示极性。
因此,每当扫描到“万”字位时,应使74LS47只准0001输入时输出对应的七段码,而遇到0000码输入时,使数字管不发光。
74LS47逻辑设计上巳考虑到此功能要求,它设有RBI端。
当RBI端输入0电平时,它只能输出除0以外的数字所对应的七段码,实现了“1”可显示,“0”不发光的要求;
当RBI端输入1电平时,则包括“0”的内在任何数字都可显示。
因此,电路中利用D5端信号经倒相后再去控制74LS47的RBI端,就可满足上述对“万”字位的控制要求。
2.七段数码显示管
数码管引脚图见图5:
图2
采用高亮共阳数码管MTS5101BSR,共有七段,可显示数字0~9。
3.三极管
提供开关电源。
采用9013三极管。
三极管的引脚图见图6:
图3
三极管有三个管脚,分别是发射极e,基极b,集电极c。
本实验采用NPN三极管C9013(7),当Vbe大于0.5V时,be间的PN结导通,因此三极管可用作开关,控制数码管的COM管脚来控制数。
4.ADC0809参考资料:
1.
芯片管脚图:
图28051芯片管脚图
图1ADC0809管脚图
ADCADC0809模数转换器的引脚功能IN0~IN7:
8路模拟量输入。
A、B、C:
3位地址输入,2个地址输入端的不同组合选择八路模拟量输入。
ALE:
地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。
D0~D7:
八位数据输出线,A/D转换结果由这8根线传送给单片机。
OE:
允许输出信号。
当OE=1时,即为高电平,允许输出锁存器输出数据。
START:
启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D开始转换。
EOC:
转换完成信号,当EOC上升为高电平时,表明内部A/D转换已完成。
CLK:
时钟输入信号,0809的时钟频率范围在10~1200kHz,典型值为640kHz。
七.课程进度:
具体时间
实训内容
地点
指导教师
实训准备
元器件清单、购买元器件
周一
上午
讲解实训安排、数字电压表的设计、流程图的设计等
电子CAD机房
李军、阮艳
下午
利用protel软件设计印制板电路
阮艳
周二
利用Proteus软件仿真——程序设计
胡光夏
周三
核对元件、焊接
实训中心二楼
胡光夏
数字电压表检测、测试主要技术指标
李军
周四
周五
整理资料、撰写实训报告
实训答辩、总结
八.程序:
#include<
reg51.H>
#defineucharunsignedchar;
ucharcodescan_con[]={0x08,0x04,0x02,0x01};
//定义扫描片选
uchardispbuf[8]={0,0,0,0,0,0,0,0};
//定义8个存储空间
uchargetdata;
unsignedlonginttemp;
//定义暂存空间
uchari,j,k,l,m;
sbits3=P3^7;
//位定义,控制模拟开关
Sits2=P3^6;
sbits1=P3^5;
sbitdp=P0^7;
//定义小数点
#definev20_on{s3=0;
s2=0;
s1=0;
}//宏定义不同量程,不同的开关状态
#definev2_on{s3=0;
s1=1;
}
#definev02_on{s3=0;
s2=1;
sbitST=P3^1;
//定义单片机和ADC的控制信号
sbitOE=P3^3;
sbitEOC=P3^2;
main()
{
while
(1)
_20v:
//2~20V量程
v20_on;
ST=0;
//启动A/D转换
ST=1;
while(EOC==0);
OE=1;
getdata=P1;
OE=0;
if(getdata<
21)//量程不合适,切换
{
goto_2v;
}
l=3;
temp=getdata;
//量程合适,数据处理
temp=temp*100;
temp=(temp/51)*5;
gotodisp;
//跳到数码管显示程序段
_2v:
//200MV~2V量程
v2_on;
ST=0;
21)
goto_02v;
elseif(getdata>
204)
goto_20v;
l=2;
temp=(temp*100/51)*10;
temp=temp/2;
//求出模拟待测电压;
_02v:
//0~200MV量程
v02_on;
//OE=0;
OE=0;
if(getdata>
l=1;
temp=(temp*100/51)*100;
temp=temp/20;
disp:
i=0;
while(temp/10)//电压值的每个位计
dispbuf[i]=temp%10;
temp=temp/10;
i++;
dispbuf[i]=temp;
for(k=0;
k<
=3;
k++)//数码管显示
P2=dispbuf[k]&
0x0f;
P0=scan_con[k];
if(l==3){if(k==2){dp=0;
}else{dp=1;
}}//小数点的确定
elseif(l==2){if(k==3){dp=0;
}}
elseif(l==1){if(k==3){dp=0;
else{dp=0;
for(m=0;
m<
=2;
m++)//延时
for(j=0;
j<
=100;
j++);
九.设计安装的过程:
以提供基准电压的模块产生的1V基准电压经ADC0809芯片的2,3脚接入;
被测电压信号经ADC0809芯片10,9脚接入;
系统所需要的时钟信号从22脚输入,时钟信号由4069接电阻、电容震荡产生;
参考电压贮存电容CR一般选取1μF,接在7、8两脚;
B8、B4、B2、B1是BCD码输出端,并在D5~D1各端上同步出现字位选通脉冲,它们配合74LS74驱动及7段数码管显示数据。
九.调试过程:
①在焊接好电路后,先用万用表蜂鸣档检查确认电路的连线没有问题后;
②先不插上芯片,把外加的正、负5V电压加上,再在芯片座上用电压表电压档测好该是+5V或者-5V电压的引脚确实电压正确后(保证电路连线正确,保证芯片插上后能够正常工作,不至于烧坏芯片);
③调节提供基准电压模块中的电位器使输入到ICL7135芯片2脚的基准电压为1.000V;
④断电后插上三块芯片,再先接入+5V电压,好的状态是所有数码管都亮,并可能会不断地闪,再接入-5V电压,⑤正常情况下,在将被测电压的输入的两端短接时(即让输入电压为0V),数码管应该显示0V电压,否则要检查电路连线等;
⑥在以上都正确后加入被测电压,正常就会得到正确的电压显示,否则要仔细检查连线、虚焊等可能问题;
⑦再看在被测电压改变时是否依然能够正确显示电压,待正确后记录一组数据;
⑨验证在将被测电压的输入两端反接后,显示是否也有电性的变化;
⑩验证报警功能,即在电压超出量程后数码管会不断地闪,以示警报。
十.实验总结报告:
时间过的真快,转眼间实训已经结束。
经过这一周的实训练习让我们学到了许多知识,回想这几天让我们通过想实训这几天我们确实是有很大收获的。
在这一周的实训确实是有些累但是累得有价值。
这次课程设计过程,使我在关于电子方面的实验动手能力上有很大的提高。
在器件的布置,安装焊接,调试,分析解决问题的能力都有很大进步。
同时也培养了我不急不躁,实事求是的科学精神。
我在刚接触到这次课程设计题目时就产生浓厚的兴趣,所以在暑假期间我做了充分的准备,通过去图书馆借阅图书和上网查资料我对这个设计原理有了一定的了解。
第一次试验时我不急着焊东西,先大体布局,做到心中有数,同时考虑的是怎样尽量让连线少而短,减少不必要的电阻损耗。
回到宿舍后,我继续焊接,几次焊接后,我在第二次去试验室焊接时,我已经完全焊好了,便进行了测试,测试时刚开始不能够有正确结果,后来检查发现是ADC0809的2脚没基准电压,原来是基准电压模块这边我有一个焊点忘焊了,在加焊后便能够正常工作了,所以这次课程设计我进展的还是很顺利的。
不过我也发现了一些问题:
就如在输入为正电压时,显示确实负的,后来发现老师给的电路图ADC0809的9,10脚地标错了,应该是10脚为地,不过这无关紧要了,自己心中有数就行;
还有就是模拟地和数字地的问题,因为如果乱接可能会产生显示不稳定的问题,所以我在完成后,做了尽量的修改,从而完善了自己的作品。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电压表 设计 报告
