ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:308.35KB ,
资源ID:9472298      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9472298.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(万用表的课程设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

万用表的课程设计.docx

1、万用表的课程设计数字万用表的设计课程名称 课题名称专 业年 班 级学 号姓 名同组人指导教师2011年5月20 日1、设计任务.11.1设计目的.11.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单片机,设计一台数字多用表,能进行电压、电流和电阻的测量,测量结果通过LED数

2、码管显示,通过按键进行测量功能转换.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.总体框图图一:总体框图3、系统硬件电路的设计31 数字多用表的主电路数字多表仪表主电路如图1所示.89S52单片机通过线选方式扩展了A/D转换器ADC0809和4位LED数码管,单片机的P2.7引脚作为ADC0809的片选信号,因此A/D转换器的端口地址为7FFFH.片选信号和信号一起经或非门产生ADC0809的启动信号START和地址锁存信号ALE.片选信号

4、和信号一起经或非门产生输出允许信号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参考正电压为5V,参考负电压为0V,时钟输入为2MHz.图1 数字多用表的主电路图单片机的P1.0 P1.2引脚通过一个转换开关接地,通过判断P1.0 P1.2引脚电平的高低,决定是否进行电阻测

5、量、电压测量或电流测量.3.2数字多用表电阻输入电路图-2图-2所示为数字多用表的电阻测量输入电路.运算放大器的反馈电阻Rx作为待测电阻,通过1K电阻R19接到-5V电源上,假定运算放大器理想,那么放大器的输出电压Rv=5Rx/R19,将Rv送给ADC0809,转换后得到数字量为Dv=Rv255/5.单片机读取A/D转换数据,再经过逆向运算可得Rx=DvR19/255,注意此时得到的Rx是二进制数,需要转化成十进制数后才能送给数码管显示,程序中采取用4字节无符号除法,连续进行4次除以10的除法,依次取得4位数值,并且电阻测量范围只保证在01K范围内误差不超过2,如果要测量其他电阻,则需该改R1

6、9的值.为满足图-2电路需要的-5V电源,利用LM324做一个反向电路,将+5V的电源转换成了-5V,如图-3:图-33.3数字多用表的电压测量输入电路图-4图-4所示为数字多用表的电压测量输入电路,待测电压经过低通滤波器滤除高频干扰,再经过同向放大器送给ADC0809,电压测量输入范围0,ADC0809的分辨率为8位,测量误差为5/255=0.02V.3.4数字万用表的电流测量输入电路图-5图-5是数字万用表电流测量输入电路.电流测量范围为1-100mA,因为ADC0809是电压转化器,必须将电压才能进行测量,这可以通过串接电阻RL来实现,注意RL必须很小(如0.1),否则营销电流数值,由于

7、待测电流和RL都很小,RL两端的电压也很小,必须将其放大到ADC0809能够分辨的范围之内.4、系统的软件设计数字多用表的软件设计如下程序所示,完成堆栈指针初始化之后,通过单片机P1.0P1.2引脚进行测量功能判断,根据不同引脚电平分别进行电阻、电压或电流测量.每种测量过程都基本相同,先读取ADC0809的A/D转换数据,然后进行相应的数据处理,最后将处理后的数据送往LED数码管进行显示. 数字多用仪表的软件程序:org 0000h 。单片机复位地址 ajmp main 。转移到主程序处 org 0100h 。main被定位在0x0100处main: mov sp,#80h 。初始化堆栈指针

8、jnb P1.0,cr jnb P1.1,cv jnb P1.2,cacr: mov R7,#00h lcall adc LCALL RDAT lcall DISPLAY sjmp mainCV: MOV R7,#01H LCALL ADC LCALL VDAT LCALL DISPLAY SJMP MAINCA: MOV R7,#02H LCALL ADC LCALL ADAT LCALL DISPLAY SJMP MAINADC: MOV A,R7 。0808 A/D转换子程序 MOV DPTR,#7FFFH MOVX DPTR,A JB P3.3,$ MOVX A,DPTR 。输入转换结

9、果 RET vdat: mov R2,#00h mov R3,A mov R6,#01h mov R7,#0F4h call MULD2 。乘以500 clr C mov A,r5 add A,#60h 。加96修正 mov r5,A mov A,r4 addc A,#00h mov r4,A mov A,r3 addc A,#00h mov r3,A mov A,r2 addc A,#00h mov r2,A mov r0,#30h mov r1,#34h mov A,R2 mov r1,A inc r1 mov A,R3 mov r1,A inc r1 mov A,R4 mov r1,A

10、inc r1 mov A,R5 mov r1,A inc r1 mov r1,#00h inc r1 mov r1,#00h inc r1 mov r1,#00h inc r1 mov r1,#0FFh call DIVD4 。除以255 mov r1,#38h mov r1,#00h inc r1 mov r1,#00h inc r1 mov r1,#00h inc r1 mov r1,#0Ah call DIVD4 mov 43h,33h call DIVD4 mov 42h,33h call DIVD4 mov 41h,33h mov r0,#40h mov r0,#00h inc r0

11、 mov A,41h mov DPTR,#SEGMENT7 movc A,A+DPTR orl A,#80h mov r0,A inc r0 mov A,42h mov DPTR,#SEGMENT7 movc A,A+DPTR mov r0,A inc r0 mov A,43h mov DPTR,#SEGMENT7 movc A,A+DPTR mov r0,A retADAT: mov B,A mov A,#0B6h clr C 。以下根据范围设置数值以防溢出 subb A,B jc LARGERA mov A,B subb A,#16h jc LESSA ajmp MIDDLEALARGER

12、A: mov A,#0B6h ajmp CALCULATEALESSA: mov A,#16h ajmp CALCULATEAMIDDLEA: mov A,BCALCULATEA: mov r2,#0C3h mov r3,#50h mov r6,#00h mov r7,A call MULD2 。乘以50000 clr C mov A,r5 subb A,#70h 。以下减去102000 mov r5,A mov 37h,A mov A,r4 subb A,#8Eh mov r4,A mov 36h,A mov A,r3 subb A,#01h mov r3,A mov 35h,A mov A

13、,r2 subb A,#00h mov r2,A mov 34h,A mov r0,#30h mov r1,#38h mov r1,#00h inc r1 mov r1,#01h inc r1 mov r1,#5Eh inc r1 mov r1,#0A0h call DIVD4 。除以89760 mov r1,#38h mov r1,#00h inc r1 mov r1,#00h inc r1 mov r1,#00h inc r1 mov r1,#0Ah mov DPTR,#SEGMENT7 call DIVD4 mov A,33h movc A,A+DPTR mov 43h,A call D

14、IVD4 mov A,33h movc A,A+DPTR mov 42h,A call DIVD4 mov A,33h movc A,A+DPTR cjne A,#3Fh,NOTEQU mov A,#00hNOTEQU: mov 41h,A mov 40h,#00h RETrdat: mov R2,#00h mov R3,A mov R6,#03h mov R7,#0E8h call MULD2 。乘以1000 mov r0,#30h mov r1,#34h mov A,R2 mov r1,A inc r1 mov A,R3 mov r1,A inc r1 mov A,R4 mov r1,A

15、inc r1 mov A,R5 mov r1,A inc r1 mov r1,#00h inc r1 mov r1,#00h inc r1 mov r1,#00h inc r1 mov r1,#0FFh call DIVD4 。除以255 mov r1,#38h mov r1,#00h inc r1 mov r1,#00h inc r1 mov r1,#00h inc r1 mov r1,#0Ah mov DPTR,#SEGMENT7 call DIVD4 。连续进行4次除以10的操作 mov A,33h 。取得10进制值 movc A,A+DPTR mov 43h,A call DIVD4

16、mov A,33h movc A,A+DPTR mov 42h,A call DIVD4 mov A,33h movc A,A+DPTR mov 41h,A call DIVD4 mov A,33h movc A,A+DPTR cjne A,#3Fh,NONZERO mov A,#00hNONZERO: mov 40h,A retDELAY_5ms: mov R5,#01h 。设置R5初始计数值DELAY_5ms1: mov R6,#16h 。设置R6初始计数值DELAY_5ms2: mov R7,#70h 。设置R7初始计数值DELAY_5ms3: djnz R7,DELAY_5ms3 。延

17、时时间为 Time=( ( (R7*2)+2+1 )*R6+2+1 )*R5+1 djnz R6,DELAY_5ms2 。 djnz R5,DELAY_5ms1 。 retSEGMENT7: DB 3Fh 。7段数码管字符0的abcdefg的值,a在最低位,最高位始终保留为0 DB 06h DB 5Bh DB 4Fh DB 66h DB 6Dh DB 7Dh DB 07h DB 7Fh DB 6Fh DISPLAY: mov DPTR,#0fEffh 。写第一位数码管 mov r1,#40h mov A,r1 movx DPTR,A setb C mov P1.4,C clr C mov P1

18、.4,C call DELAY_5ms setb C mov P1.4,C inc r1 mov A,r1 。写第二位数码管 movx DPTR,A setb C mov P1.5,C clr C mov P1.5,C call DELAY_5ms setb C mov P1.5,C inc r1 mov A,r1 。写第三位数码管 movx DPTR,A setb C mov P1.6,C clr C mov P1.6,C call DELAY_5ms setb C mov P1.6,C inc r1 mov A,r1 。写第四位数码管 movx DPTR,A setb C mov P1.7

19、,C clr C mov P1.7,C call DELAY_5ms setb C mov P1.7,C ret 。双字节二进制无符号数乘法。被乘数在R2(高位)、R3(低位)中,乘数在R6(高位)、R7(低位)中.。乘积在R2(高位)、R3、R4、R5(低位)中.。用到累加器A,B,PSW,R2R7.。永远不会产生进位.。在出口时总是清除C.。若结果超出2个字节范围则OV=1.MULD2: MOV A,R3 MOV B,R7 MUL AB MOV R4,B MOV R5,A MOV A,R3 MOV B,R6 MUL AB ADD A,R4 MOV R4,A CLR A ADDC A,B M

20、OV R3,A MOV A,R2 MOV B,R7 MUL AB ADD A,R4 MOV R4,A MOV A,R3 ADDC A,B MOV R3,A CLR A RLC A XCH A,R2 MOV B,R6 MUL AB ADD A,R3 MOV R3,A MOV A,R2 ADDC A,B MOV R2,A ORL A,R3 JZ MULD21 SETB OV RETMULD21: CLR OV RET。四字节无符号数除法。R0存放被除数,除数,商数的地址.。从R0开始的连续四个字节为结果的余数,入口时可以为任意,但在出口时发生变化.。其后的连续4个字节在入口时是被除数,出口时是商数

21、.。再其后的连续四个字节在入口时是除数,出口时保持不变.。用到累加器A,B,PSW,R0R7.。如果除数为零,则置OV=1标志,否则清零.。在出口时总是清除C.DIVD4: MOV A,R0 MOV B,A ADD A,#08h MOV R1,A MOV A,#00h ORL A,R1 INC R1 ORL A,R1 INC R1 ORL A,R1 INC R1 ORL A,R1 JZ DIVD45 MOV R1,B MOV R2,#04hDIVD41: MOV R1,#00h INC R1 DJNZ R2,DIVD41 MOV R3,#20hDIVD42: MOV R2,#08h MOV A

22、,B MOV R0,A ADD A,#07h MOV R1,A CLR CDIVD43: MOV A,R1 RLC A MOV R1,A DEC R1 DJNZ R2,DIVD43 MOV A,R0 ADD A,#03h MOV R1,A MOV A,R0 ADD A,#0Bh MOV R0,A MOV A,R1 SUBB A,R0 MOV R4,A DEC R1 DEC R0 MOV A,R1 SUBB A,R0 MOV R5,A DEC R1 DEC R0 MOV A,R1 SUBB A,R0 MOV R6,A DEC R1 DEC R0 MOV A,R1 SUBB A,R0 MOV R7

23、,A JC DIVD44 MOV A,B MOV R0,A ADD A,#03h MOV R1,A MOV A,R4 MOV R1,A DEC R1 MOV A,R5 MOV R1,A DEC R1 MOV A,R6 MOV R1,A DEC R1 MOV A,R7 MOV R1,A MOV A,R0 ADD A,#07h MOV R1,A INC R1DIVD44: DJNZ R3,DIVD42 MOV R0,B CLR OV CLR C RETDIVD45: SETB OV CLR C RET end5、系统的设计仿真电压测量仿真电流测量仿真电阻测量仿真6.1 总结与体会数字多用表的课程设

24、计,从确定方案、查找资料、仿真电路图,到最后电路设计实践,耗时2个星期.数字多用表的设计方案采取AT89S52单片机结合A/D转换器,从而实现对电阻、电流和电压的测量的方案,从而实现电阻、电流和电压的数字化测量.本次课程设计,虽然方案基本出来了,但是在硬件制作方面出现了几个问题,这也暴露出我们知识方面的一欠缺.不足主要体现在以下几个方面:(1)ADC0809的第10脚的时钟信号,我们是通过单片机编程实现的但是由于频率过低,只有500KHz,造成LED数码管显示不稳定而出现闪烁现象.最终验收时是通过从外部信号发生器输入2MHz时钟信号解决的.(2)万用板焊接时,由于布线不太合理,使得背面线很零乱

25、.并给后面的线路检查带来了不少麻烦.(3)对Proteus仿真软件使用不熟练,使画仿真图时遇到不少问题.(4)51单片机基础知识不扎实,电路分析遇到比较多的问题历经两个星期的课程设计后我深得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识.虽然最终的结果让人失望,但在此期间我们也曾一度热情高涨.从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味.7、参考文献单片机原理及应用张毅刚主编高等教育出版社单片机原理实用教程徐爱钧编著电子工业出版社电子技术基础康华光主编高等教育出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1