电压测量的量程转换电路图如图14所示:
图14 量程选择电路
图中SW2是量程选择开关,与图15中SW2是联动开关,控制衰减电压和量程选择,可以实现档位的调换。
图15 输入衰减电路
第三章、软件程序设计部分
3.1 系统程序设计总方案
该数字电压表的组成模块有A/D转换模块、51单片机控制系统模块、显示模块、量程选择模块、输入模块和超量程报警模块。数字电压表软件工作的流程为:
首先进行量程的选择,输入信号进入模数转换器ADC0808中,模数转换器启动,然后对输入的信号采样,进行模数转换,转换结束后,模数转换器将输出一个启动信号给单片机,经过转换获得的数据进入AT89C51单片机中数据处理,最后通往数码管将测量结果显示出来。如果测量值超出量程,系统则发出声光报警信号,提醒人们注意量程的选择。
因此,我们可以根据该数字电压表的工作原理和模块化原则可以软件的总方案流程图如设计为如图16所示:
图16 系统程序设计总方案流程图
3.2系统子程序设计
3.2.1 初始化程序
所谓初始化就是将用到的AT89C51单片机的内部部件和外部宽展芯片器件进行初始化工作设定,设定初值,方便系统接下来的流程能稳定工作。
3.2.2 量程选择程序
该数字电压表能测量电压、电阻和电流,因此在转换之前要对测量功能进行判断。
其中电阻测量的判断子程序如下所示:
CR: MOV R7,#00H ;电阻测量
LCALL ADC ;读取A/D转换值
LCALL RDAT ;数据处理
LCALL DISPLAY ;调用显示子程序
SJMP MAIN
电压测量的判断子程序如下所示:
CV: MOV R7,#01H
LCALL ADC
LCALL VDAT
LCALL DISPLAY
SJMP MAIN
电流测量的判断子程序如下所示:
CA: MOV R7,#02H
LCALL ADC
LCALL ADAT
LCALL DISPLAY
SJMP MAIN
3.2.3 A/D转换子程序
A/D转换程序的功能是采集数据,在整个系统设计中占有很高的地位。当系统置好后,单片机扫描转换结束管脚P3.7的输入电平状态,当输入为高电平则转换完成,将转换的数值显示输出。若输入为低电平,则继续扫描。程序流程图如图17所示。
图17 模数转换流程图
A/D转换子程序具体如下:
ADC: MOV A,R7 AT89C51单片机的数字电压表设计+电路图+源程序(6):http://www.youerw.com/zidonghua/lunwen_10026.html