




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字万用表的设计课程名称 课题名称 专 业 年 班 级 学 号 姓 名 同 组人 指导教师 2011年5月20 日目 录1、设计任务.1 1.1设计目的.1 1.2设计指标及要求.12、设计思路与总体框图.13、系统硬件电路的设计.23.1多用表主电路.23.2 电阻测量输入电路.23.3电压测量输入电路.33.4电流输入测量电路.34、系统的软件设计.45、系统的设计仿真.106、总结与体会.206.1 总结.206.2体会.217、 参考文献.221、设计任务11设计目的采用8位8路a/d转换器adc0809和at89s52单片机,设计一台数字多用表,能进行电压、电流和电阻的测量,测量结果
2、通过led数码管显示,通过按键进行测量功能转换。12设计指标及要求电压测量范围05v,测量误差约为0.02v,电流测量范围1100ma,测量误差约为0.5ma,电阻测量范围01000,测量误差约为2。2、设计思路与总体框图1.方案选择 用单片机at89s52与adc0808设计一个数字万用表,配合分流电阻、分压电阻、基准电阻可以测量直流电压值,直流电流、直流电阻,四位数码显示。实现各级量程的直流电压测量,其量程范围为05(v)。实现不同量程的直流电流测量,其量程范围为0100(ma)。实现不同量程的电阻测量,其量程范围为01000()。adc0808是带有8位a/d转换器、8路多路开关以及微处
3、理机兼容的控制逻辑的cmos组件。它是逐次逼近式a/d转换器,可以和单片机直接接口。首先,利用p0 口数据地址复用,将地址通过p0口输入到单片机中。然后,充分利用单片机强大的运算转化功能将其转成适当的二进制信号控制数显以确保正确的显示被测量的读数。 2.总体框图数码管显示74ls374锁存器at89s52单片机(实现译码驱动)模数转换(adc8080)待测电压分档电压(量程转换)待测电阻待测电流分档电流(量程转换)分档电阻(量程转换)图一:总体框图3、系统硬件电路的设计31 数字多用表的主电路数字多表仪表主电路如图1所示。89s52单片机通过线选方式扩展了a/d转换器adc0809和4位led
4、数码管,单片机的p2.7引脚作为adc0809的片选信号,因此a/d转换器的端口地址为7fffh.片选信号和信号一起经或非门产生adc0809的启动信号start和地址锁存信号ale。片选信号和信号一起经或非门产生输出允许信号oe,oe=1时选通三态门使输出锁存器中的转换结果送入数据总路线。adc0809的eoc信号经反相后接到89s52的引脚,用于产生a/d转换完成中断请求信号。adc0809芯片的3位模拟量输入通道地址输入端a、b、c分别接到89s52的p0.0、p0.1和p0.2,故只要向端口地址0c000h分别写入00h07h,即可启动模拟量输入通道07进行a/d转换。adc0809参
5、考正电压为5v,参考负电压为0v,时钟输入为2mhz。图1 数字多用表的主电路图单片机的p1.0 p1.2引脚通过一个转换开关接地,通过判断p1.0 p1.2引脚电平的高低,决定是否进行电阻测量、电压测量或电流测量。3.2数字多用表电阻输入电路图-2图-2所示为数字多用表的电阻测量输入电路。运算放大器的反馈电阻rx作为待测电阻,通过1k电阻r19接到-5v电源上,假定运算放大器理想,那么放大器的输出电压rv=5×rx/r19,将rv送给adc0809,转换后得到数字量为dv=rv×255/5。单片机读取a/d转换数据,再经过逆向运算可得rx=dv×r19/255,
6、注意此时得到的rx是二进制数,需要转化成十进制数后才能送给数码管显示,程序中采取用4字节无符号除法,连续进行4次除以10的除法,依次取得4位数值,并且电阻测量范围只保证在01k范围内误差不超过2,如果要测量其他电阻,则需该改r19的值。为满足图-2电路需要的-5v电源,利用lm324做一个反向电路,将+5v的电源转换成了-5v,如图-3:图-33.3数字多用表的电压测量输入电路图-4图-4所示为数字多用表的电压测量输入电路,待测电压经过低通滤波器滤除高频干扰,再经过同向放大器送给adc0809,电压测量输入范围0,adc0809的分辨率为8位,测量误差为5/255=0.02v。3.4数字万用表
7、的电流测量输入电路图-5图-5是数字万用表电流测量输入电路。电流测量范围为1-100ma,因为adc0809是电压转化器,必须将电压才能进行测量,这可以通过串接电阻rl来实现,注意rl必须很小(如0.1),否则营销电流数值,由于待测电流和rl都很小,rl两端的电压也很小,必须将其放大到adc0809能够分辨的范围之内。4、系统的软件设计数字多用表的软件设计如下程序所示,完成堆栈指针初始化之后,通过单片机p1.0p1.2引脚进行测量功能判断,根据不同引脚电平分别进行电阻、电压或电流测量。每种测量过程都基本相同,先读取adc0809的a/d转换数据,然后进行相应的数据处理,最后将处理后的数据送往l
8、ed数码管进行显示。 数字多用仪表的软件程序:org0000h;单片机复位地址ajmp main;转移到主程序处org0100h;main被定位在0x0100处main: mov sp,#80h ;初始化堆栈指针jnbp1.0,crjnbp1.1,cvjnbp1.2,cacr:movr7,#00hlcall adclcall rdatlcalldisplay sjmp maincv:movr7,#01hlcalladclcall vdatlcalldisplaysjmpmainca:movr7,#02hlcalladclcalladatlcalldisplay sjmpmainadc: mov
9、 a,r7 ;0808 a/d转换子程序mov dptr,#7fffhmovx dptr,ajb p3.3,$movx a,dptr ;输入转换结果ret vdat:movr2,#00hmovr3,amovr6,#01hmovr7,#0f4hcallmuld2;乘以500clrcmova,r5adda,#60h;加96修正movr5,amova,r4addca,#00hmovr4,amova,r3addca,#00hmovr3,amova,r2addca,#00hmovr2,amovr0,#30hmovr1,#34hmova,r2movr1,aincr1mova,r3movr1,aincr1m
10、ova,r4movr1,aincr1mova,r5movr1,aincr1movr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0ffhcalldivd4;除以255movr1,#38hmovr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0ahcalldivd4mov43h,33hcalldivd4mov42h,33hcalldivd4mov41h,33hmovr0,#40hmovr0,#00hincr0mova,41hmovdptr,#segment7movca,a+dptrorla,#80
11、hmovr0,aincr0mova,42hmovdptr,#segment7movca,a+dptrmovr0,aincr0mova,43hmovdptr,#segment7movca,a+dptrmovr0,aretadat:movb,amova,#0b6hclrc;以下根据范围设置数值以防溢出subba,bjclargeramova,bsubba,#16hjclessaajmpmiddlealargera:mova,#0b6hajmpcalculatealessa:mova,#16hajmpcalculateamiddlea:mova,bcalculatea:movr2,#0c3hmovr
12、3,#50hmovr6,#00hmovr7,acallmuld2;乘以50000clrcmova,r5subba,#70h;以下减去102000movr5,amov37h,amova,r4subba,#8ehmovr4,amov36h,amova,r3subba,#01hmovr3,amov35h,amova,r2subba,#00hmovr2,amov34h,amovr0,#30hmovr1,#38hmovr1,#00hincr1movr1,#01hincr1movr1,#5ehincr1movr1,#0a0hcalldivd4;除以89760movr1,#38hmovr1,#00hincr
13、1movr1,#00hincr1movr1,#00hincr1movr1,#0ahmovdptr,#segment7calldivd4mova,33hmovca,a+dptrmov43h,acalldivd4mova,33hmovca,a+dptrmov42h,acalldivd4mova,33hmovca,a+dptrcjnea,#3fh,notequmova,#00hnotequ:mov41h,amov40h,#00hretrdat:movr2,#00hmovr3,amovr6,#03hmovr7,#0e8hcallmuld2;乘以1000movr0,#30hmovr1,#34hmova,
14、r2movr1,aincr1mova,r3movr1,aincr1mova,r4movr1,aincr1mova,r5movr1,aincr1movr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0ffhcalldivd4;除以255movr1,#38hmovr1,#00hincr1movr1,#00hincr1movr1,#00hincr1movr1,#0ahmovdptr,#segment7calldivd4;连续进行4次除以10的操作mova,33h;取得10进制值movca,a+dptrmov43h,acalldivd4mova,33h
15、movca,a+dptrmov42h,acalldivd4mova,33hmovca,a+dptrmov41h,acalldivd4mova,33hmovca,a+dptrcjnea,#3fh,nonzeromova,#00hnonzero:mov40h,aretdelay_5ms:movr5,#01h;设置r5初始计数值delay_5ms1:movr6,#16h;设置r6初始计数值delay_5ms2:movr7,#70h;设置r7初始计数值delay_5ms3:djnzr7,delay_5ms3;延时时间为 time=( ( (r7*2)+2+1 )*r6+2+1 )*r5+1djnzr6
16、,delay_5ms2;djnzr5,delay_5ms1;retsegment7:db3fh;7段数码管字符0的abcdefg的值,a在最低位,最高位始终保留为0db06hdb5bhdb4fhdb66hdb6dhdb7dhdb07hdb7fhdb6fhdisplay:movdptr,#0feffh;写第一位数码管movr1,#40hmova,r1movxdptr,asetbcmovp1.4,cclrcmovp1.4,ccalldelay_5mssetbcmovp1.4,cincr1mova,r1;写第二位数码管movxdptr,asetbcmovp1.5,cclrcmovp1.5,ccall
17、delay_5mssetbcmovp1.5,cincr1mova,r1;写第三位数码管movxdptr,asetbcmovp1.6,cclrcmovp1.6,ccalldelay_5mssetbcmovp1.6,cincr1mova,r1;写第四位数码管movxdptr,asetbcmovp1.7,cclrcmovp1.7,ccalldelay_5mssetbcmovp1.7,cret;双字节二进制无符号数乘法;被乘数在r2(高位)、r3(低位)中,乘数在r6(高位)、r7(低位)中。;乘积在r2(高位)、r3、r4、r5(低位)中。;用到累加器a,b,psw,r2r7。;永远不会产生进位。;
18、在出口时总是清除c。;若结果超出2个字节范围则ov=1。muld2: mov a,r3mov b,r7mul abmov r4,bmov r5,amov a,r3mov b,r6mul abadd a,r4mov r4,aclr aaddc a,bmov r3,amov a,r2mov b,r7mul abadd a,r4mov r4,amov a,r3addca,bmov r3,aclr arlc axch a,r2movb,r6mulabadd a,r3mov r3,amov a,r2addca,bmov r2,aorla,r3jzmuld21setbovretmuld21:clrovre
19、t;四字节无符号数除法;r0存放被除数,除数,商数的地址。;从r0开始的连续四个字节为结果的余数,入口时可以为任意,但在出口时发生变化。;其后的连续4个字节在入口时是被除数,出口时是商数。;再其后的连续四个字节在入口时是除数,出口时保持不变。;用到累加器a,b,psw,r0r7。;如果除数为零,则置ov=1标志,否则清零。;在出口时总是清除c。divd4:mova,r0movb,aadda,#08hmovr1,amova,#00horla,r1incr1orla,r1incr1orla,r1incr1orla,r1jzdivd45movr1,bmovr2,#04hdivd41:movr1,#0
20、0hincr1djnzr2,divd41movr3,#20hdivd42:movr2,#08hmova,bmovr0,aadda,#07hmovr1,aclrcdivd43:mova,r1rlcamovr1,adecr1djnzr2,divd43mova,r0adda,#03hmovr1,amova,r0adda,#0bhmovr0,amova,r1subba,r0movr4,adecr1decr0mova,r1subba,r0movr5,adecr1decr0mova,r1subba,r0movr6,adecr1decr0mova,r1subba,r0movr7,ajcdivd44mova,bmovr0,aadda,#03hmovr1,amova,r4movr1,adecr1mova,r5movr1,adecr1mova,r6movr1,adecr1mova,r7movr1,amova,r0adda,#07hmovr1,aincr1divd44:djnzr3,divd42movr0,bclrovclrcretdivd45:setbovclrcretend5、系统的设计仿真 电压测量仿真电流测量仿真电阻测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- SCI论文写作与投稿 第2版-课件汇 8 SCI论文参考文献引用-15-投稿流程示例
- 商业招商管理公司投资分析
- 河北省廊坊市霸州市衡益中学2025年九年级学业水平历史检测试卷(含答案)
- 地铁职业健康培训
- 汉语言文学的未来发展模式研究试题及答案
- 与中介签定合同范例
- 公司入股企业合同标准文本
- 中介门店股合同标准文本
- ktv供酒合同标准文本
- 买卖树木砍合同样本
- 劳动教育论文3000字大学生
- 任务管理:抓对事授权人促落实
- 旋挖钻机安装拆卸施工方案
- 动态血压检测的临床意义
- GB/T 42061-2022医疗器械质量管理体系用于法规的要求
- YS/T 446-2011钎焊式热交换器用铝合金复合箔、带材
- 敏感功能材料02电功能材料
- JJF 1869-2020石油产品倾点浊点测定仪校准规范
- GB/T 31586.2-2015防护涂料体系对钢结构的防腐蚀保护涂层附着力/内聚力(破坏强度)的评定和验收准则第2部分:划格试验和划叉试验
- GB/T 28901-2012焦炉煤气组分气相色谱分析方法
- GB/T 24917-2010眼镜阀
评论
0/150
提交评论