万用表的课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
万用表的课程设计
数字万用表的设计
课程名称
课题名称
专业
年班级
学号
姓名
同组人
指导教师
2011年5月20 日
目录
1、设计任务 (1)
1.1设计目的 (1)
1.2设计指标及要求 (1)
2、设计思路与总体框图 (1)
3、系统硬件电路的设计 (2)
3.1多用表主电路 (2)
3.2 电阻测量输入电路 (2)
3.3电压测量输入电路 (3)
3.4电流输入测量电路 (3)
4、系统的软件设计 (4)
5、系统的设计仿真 (10)
6、总结与体会 (20)
6.1总结 (20)
6.2体会 (21)
7、参考文献 (22)
1、设计任务
1.1设计目的
采用8位8路A/D转换器ADC0809和AT89S52单片机,设计一台数字多用表,能进行电压、电流和电阻的测量,测量结果通过LED数码管显示,通过按键进行测量功能转换。
1.2设计指标及要求
电压测量范围0~5V,测量误差约为±0.02V,电流测量范围1~100mA,测量误差约为±0.5mA,电阻测量范围0~1000Ω,测量误差约为±2Ω。
2、设计思路与总体框图
1.方案选择
用单片机AT89S52与ADC0808设计一个数字万用表,配合分流电阻、分压电阻、基准电阻可以测量直流电压值,直流电流、直流电阻,四位数码显示。实现各级量程的直流电压测量,其量程范围为0—5(V)。实现不同量程的直流电流测量,其量程范围为0—100(mA)。实现不同量程的电阻测量,其量程范围为0—1000(Ω)。
ADC0808是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。首先,利用P0 口数据地址复用,将地址通过P0口输入到单片机中。然后,充分利用单片机强大的运算转化功能将其转成适当的二进制信号控制数显以确保正确的显示被测量的读数。
2.总体框图
图一:总体框图
3、系统硬件电路的设计
3.1 数字多用表的主电路
数字多表仪表主电路如图1所示。89S52单片机通过线选方式扩展了A/D 转换器ADC0809和4位LED数码管,单片机的P2.7引脚作为ADC0809的
片选信号,因此A/D转换器的端口地址为7FFFH.片选信号和WR信号一起经
或非门产生ADC0809的启动信号START和地址锁存信号ALE。片选信号和RD信号一起经或非门产生输出允许信号OE,OE=1时选通三态门使输出锁
存器中的转换结果送入数据总路线。ADC0809的EOC信号经反相后接到INT引脚,用于产生A/D转换完成中断请求信号。ADC0809芯片的89S52的1
3位模拟量输入通道地址输入端A、B、C分别接到89S52的P0.0、P0.1和P0.2,故只要向端口地址0C000H分别写入00H~07H,即可启动模拟量输入通道0~7进行A/D转换。ADC0809参考正电压为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,注意此时得到的Rx是二进制数,需要转化成十进制数后才能送给数码管显示,程序中采取用4字节无符号除法,连续进行4次除以10的除法,依次取得4位数值,并且电阻测量范围只保证在0~1K Ω范围内误差不超过2Ω,如果要测量其他电阻,则需该改R19的值。为满足图-2电路需要的-5V电源,利用LM324做一个反向电路,将+5V的电源转换成了-5V,如图-3:
图-3
3.3数字多用表的电压测量输入电路
图-4
图-4所示为数字多用表的电压测量输入电路,待测电压经过低通滤波器滤除高频干扰,再经过同向放大器送给ADC0809,电压测量输入范围0~5V,ADC0809的分辨率为8位,测量误差为5/255=0.02V。
3.4数字万用表的电流测量输入电路
图-5
图-5是数字万用表电流测量输入电路。电流测量范围为1-100mA,因为ADC0809是电压转化器,必须将电压才能进行测量,这可以通过串接电阻RL来实现,注意RL必须很小(如0.1Ω),否则营销电流数值,由于待测电流和RL都很小,RL两端的电压也很小,必须将其放大到ADC0809能够分辨的范围之内。
4、系统的软件设计
数字多用表的软件设计如下程序所示,完成堆栈指针初始化之后,通过单片机P1.0—P1.2引脚进行测量功能判断,根据不同引脚电平分别进行电阻、电压或电流测量。每种
测量过程都基本相同,先读取ADC0809的A/D转换数据,
然后进行相应的数据处理,最后将处理后的数据送往LED
数码管进行显示。
数字多用仪表的软件程序:
org 0000h ;单片机复位地址
a jmp main ;转移到主程序处
o rg 0100h ;main被定位在
0x0100处
main: mov sp,#80h ;初始化堆栈指针
j nb P1.0,cr
j nb P1.1,cv
j nb P1.2,ca
cr: mov R7,#00h
l call adc
L CALL RDAT
l call DISPLAY
s jmp main
CV: MOV R7,#01H
L CALL ADC
L CALL VDAT
L CALL DISPLAY
S JMP M AIN
CA: MOV R7,#02H
L CALL ADC
L CALL ADAT
L CALL DISPLAY
S JMP M AIN
ADC: MOV A,R7 ;0808 A/D 转换子程序
M OV DPTR,#7FFFH
M OVX @DPTR,A
J B P3.3,$
M OVX A,@DPTR ;输入转换结果
R ET
vdat:
mov R2,#00h
mov R3,A
mov R6,#01h
mov R7,#0F4h
call M ULD2 ;乘以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