资源描述
基于STCCAS单片机数字电压表的设计(完整资料)
(可以直接使用,可编辑 优秀版资料,欢迎下载)
数字电压表的设计
第1章 引言
在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常.而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器.数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用.
传统的指针式刻度电压表功能单一,精度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要.采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。数字电压表是诸多数字化仪表的核心与基础.以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。
目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。
本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块.
第2章 系统总体方案设计选择与说明
2.1 设计要求
1、增强型MCS—51系列单片机STC12C5A60S2为核心器件,组成一个简单的直流数字电压表.
2、采用1路模拟量输入,能够测量0—10V之间的直流电压值.
3、电压显示采用LCD1602显示.
4、尽量使用较少的元器件。
2.2 设计思路
1、根据设计要求,选择STC12C5A60S2单片机为核心控制器件。
2、A/D转换采用STC12C5A60S2内部自带A/D实现。
3、电压显示采用LCD1602显示。
2.3 设计方案
硬件电路设计由7个部分组成:STC12C5A60S2单片机系统,数码管显示系统、时钟电路、复位电路档位调节电路以及测量电压输入电路.硬件电路设计框图如图1所示。
时钟电路
测量电压输入
入
LCD1602显示
STC12C5A60S2
P1
P0
P2
P2
P0
复位电路
图2.1 数字电压表系统硬件设计框图
第3章 硬件电路设计
3.1 STC12C5A60S2单片机
图3。1STC12C5A60S2单片机引脚图及实物图
3。2 STC12C5A60S2系列单片机主要性能
1)高速:1个时钟/机器周期,增强型8051内核,速度比普通8051快6~12倍。
2)宽电压:5。5~3。3V,2.2~3.6V(STC12LE5A60S2系列)。
3)增加第二复位功能脚/P4.6(高可靠复位,可调整复位门槛电压,频率<12MHz时,无需此功能)。
4)增加外部掉电检测电路/P4。6,可在掉电时,及时将数据保存进EEPROM,正常工作时无需操作EEPROM。
5)低功耗设计:空闲模式(可由任意一个中断唤醒)。
6)低功耗设计:掉电模式(可由外部中断唤醒),可支持下降沿/上升沿和远程唤醒。
7)支持掉电唤醒的管脚:INT0/P3。2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,
CCP0/P1。3(或P4.2),CCP1/P1。4(或P4。3),EX_LVD/P4。6.
8)工作频率:0~35MHz,相当于普通8051:0~420MHz。
9)时钟:外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置。
10)8/16/20/32/40/48/52/56/60/62K字节片内Flash程序存储器,擦写次数10万次以上。
11)1280字节片内RAM数据存储器。
12)芯片内EEPROM功能,擦写次数10万次以上。
13)ISP / IAP,在系统可编程/在应用可编程,无需编程器/仿真器。
14)8通道,10位高速ADC,速度可达25万次/秒,2路PWM还可当2路D/A使用。
15)2通道捕获/比较单元(PWM/PCA/CCP),也可用来再实现2个定时器或2个外部中断(支持上升沿/下降沿中断).
16)4个16位定时器,兼容普通8051的定时器T0/T1,2路PCA实现2个定时器。
17) 可编程时钟输出功能,T0在P3。4输出时钟,T1在P3.5输出时钟,BRT在P1。0输出时钟.
18) 硬件看门狗(WDT)。
19)高速SPI串行通信端口。
20)全双工异步串行口(UART),兼容普通8051的串口。
21)通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口).可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏.每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过120mA.
3.3 STC12C5A60S2系列单片机的A/D转换器的结构
STC12C5A60S2系列单片机的A/D转换口在P1口(P1。7-P1。0),有8路10位高速A/D转换器,速度可达到250KHz(25万次/秒)。8路电压输入型A/D,可做温度检测、电源电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的I/O口可以继续作为I/O口使用。
STC12C5A60S2系列单片机ADC的结构如下图所示
图3。2 STC12C5A60S2系列单片机ADC的结构
图3。3 当AUXR.1/ADRJ=0时,A/D转换结果寄存器格式
图3.4 当AUXR.1/ADRJ=1时,A/D转换结果寄存器格式
STC12C5A60S2系列单片机ADC由多路选择开关、比较器、逐次比较寄存器、10位ADC转换寄结果存器(ADC_RES和ADC_RESL)以及ADC_CONTR构成。
STC12C5A60S2系列单片机的ADC是逐次比较型ADC,逐次比较型ADC由一个比较D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始,顺序地对每一输入电压与内置D/A转换器输出比较,经过多次比较,使转换所得的数字量逐次比逼近输入模拟量对应值.逐次比较型A/D转换器具有速度高,功耗低等特点。
从上图可以看出,通过模拟多路开关,将通过ADC0-ADC7的模拟量输入送给比较器。用数/模转换器(DAC)转换的模拟量与本次输入的模拟量通过比较器进行比较,将比较结果保存到逐次比较器,并通过逐次比较寄存器输出转换结果。A/D转换结束后,最终的转换结果保存到ADC转换结果寄存器ADC_RES和ADC_RESL,同时,置位ADC控制寄存器ADC_CONTR中的A/D转换结束标志位ADC_FLAG,以供程序查询或发出中断申请。模拟通道的选择控制由ADC控制寄存器ADC_CONTR中的CHS2~CHS0确定。ADC的转换速度由ADC控制寄存器中的SPEED1和SPEED0确定.在使用ADC之前,应先给ADC上电,也就是置位ADC控制寄存器中的ADC_POWER位。
当ADRJ=0时,如果取10位结果,则按下面公式计算:
10-bitA/D Conversion Result:(ADC_RES[7:0],ADC_RESL[1:0])=1023*Vin/Vcc
当ADRJ=0时,如果取8位结果,则按下面公式计算:
8—bitA/D Conversion Result:(ADC_RES[7:0])=255*Vin/Vcc
当ADRJ=1时,如果取10位结果,则按下面公式计算:
10-bitA/D Conversion Result:( ADC_RESL[1:0] ,ADC_RES[7:0])=1023*Vin/Vcc
当ADRJ=1时,如果取8位结果,则按下面公式计算:
8-bitA/D Conversion Result:( ADC_RESL[1:0] ,ADC_RES[7:2])=255*Vin/Vcc
式中,Vin为模拟输入电压,Vcc为单片机实际工作电压,用单片机工作电压作为模拟参考电压。
3。4 与A/D 转换相关的寄存器及说明
与STC12C5A60S2系列单片机A/D转换相关的寄存器
表3.1 A/D转换相关的寄存器
1。P1口模拟功能控制寄存器P1ASF
STC12C5A60S2系列单片机的A/D转换通道与P1(P1。7-P1。0)复用,上电复位后P1为弱上拉型I/O口,用户可以通过将8路中的如何一路设置为A/D转换,不需作为A/D使用的P1口可继续作为I/O口使用(建议只作为输入).需作为A/D使用的口需要先将P1ASF特殊功能寄存器中的相应位置为“1”,将相应的口设置为模拟功能。P1ASF寄存器的格式如下:
P1ASF:P1口模拟功能控制寄存器(只读)
表3.2 P1ASF寄存器
当P1口中的相应位作为A/D使用时,要将P1ASF中的相应位置“1”
表3。3 P1ASF寄存器设置
2.ADC控制寄存器ADC_CONTR
ADC_CONTR寄存器的格式如下:
ADC_CONRTR:ADC控制寄存器
表3。4 ADC控制寄存器
对ADC_CONTR寄存器进行操作,建议直接用MOV赋值语句,不要用“与"和“或”语句.
ADC_POWER:ADC电源控制位。
0:关闭A/D转换电源;
1:打开A/D转换电源;
建议进入控模式前,将ADC电源关闭,即ADC_POWER=0.启动A/D转换前一定要确认A/D电源已打开,A/D转换结束后关闭A/D电源可决定功耗,也可以不关闭。初次打开内部A/D转换模拟电源,需适当延时,等内部模拟电源稳定后,再启动A/D转换.
建议启动A/D转换后,在A/D转换结束之前,不要改变任何I/O口的状态,有利于高精度A/D转换,若能将定时器/串行口/中断系统关闭更好。
SPEED1,SPEED0:模数转换速度控制位
表3。5 模数转换速度控制位设置
STC12C5A60S2系列单片机的A/D转换模块所使用的时钟时内部(或外部石英晶体)所产生的系统时钟,不使用时钟分频寄存器CLK_DIV对系统分频后所产生的供给CPU工作的时钟.(好处:这样可以让ADC用较高频率工作,提高A/D的转换速度.让CPU工作工作在较低频率,降低系统功耗)。
ADC_FLAG:模数转换结束标志位,当A/D转换完成后,ADC_FLAG=1,要由软件清零。
不管是A/D转换完成后由该位申请中断,还是由软件查询该标志A/D转换是否结束,当A/D转换完成后, ADC_FLAG = 1,一定要软件清零。
ADC_START:模数转换器(ADC)转换启动控制位,设置为“1”时,开始转换,转换结束后ADC_START = 1;
CHS2/CHS1/CHS0: 模拟输入通道选择
表3.6模拟输入通道选择
设置ADC_CONTR控制寄存器后,要加4个空操作延时后才能正确度到ADC_CONTR寄存器的值.原因是设置ADC_CONTR控制寄存器的语句执行后,要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CONTR控制寄存器.
MOV ADC_CONTR,#DATA
NOP
NOP
NOP
NOP
MOV A,ADC_CONRT
3、A/D转换结果寄存器ADC_RES、ADC_RESL
特殊功能寄存器ADC_RES和ADC_RESL寄存器用于存放A/D转换结果,其格式如下:
表3.7 用于存放A/D转换结果寄存器ADC_RES、ADC_RESLAUXR1寄存器的ADRJ位是A/D转换结果寄存器的数据格式调整控制位。
表3.8 当ADRJ = 0 时,10位A/D转换结果的高8位存放在ADC_RES中,低2位存放在ADC_RESL的低2 位中。
表3。9 当ADRJ = 1 时,10位A/D转换结果的高2位存放在ADC_RES的低2 位中,低8位存放在ADC_RESL中。
4、与A/D中断有关的寄存器
IE:中断允许寄存器
表3。10 中断允许寄存器
EA: CPU的中断开放标志,EA = 1,CPU开放中断,EA = 0,CPU屏蔽所有的中断请求。
EADC:A/D转换中断允许位。
EADC = 1,允许A/D中断;
EADC = 0,屏蔽A/D中断.
IPH:中断优先级控制寄存器高(不可位寻址)
表3.11 中断优先级控制寄存器高
IP: 中断优先级控制寄存器低(可以位寻址)
表3.12中断优先级控制寄存器低
PADCH,PADC:ADC转换优先级控制位。
5、ADC初始化程序
/*-———--—----—-—--—————-—-—-—-
初始化ADC
—--——------—------—-—-—-----*/
void InitADC(void)
{
P1ASF = 0x58; //设置P1口为AD口 0100 0111 0101 1000
ADC_RES = 0; //清除结果寄存器
ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
Delay(50); //ADC上电并延时
}
6、ADC读子函数
/*——--————————-——----——-—-—---
发送ADC结果到PC
-------———-——-—------—---—--*/
void ShowResult(BYTE ch)
{
float value;
change_long_data_to_array(disadch,2,ch);
value=GetADCResult(ch);
value=value/255*4.8;
change_data_to_array(disadcval,5,1,value);
}
/*-----------———-—---——-—--—--
读取ADC结果
--————----————-———-----—-—-—*/
BYTE GetADCResult(BYTE ch)
{
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
_nop_(); //等待4个NOP
_nop_();
_nop_();
_nop_();
_nop_(); //等待4个NOP
_nop_();
_nop_();
_nop_();
_nop_(); //等待4个NOP
_nop_();
_nop_();
_nop_();
while (!(ADC_CONTR & ADC_FLAG));//等待ADC转换完成
ADC_CONTR &= ~ADC_FLAG; //Close ADC
return ADC_RES; //返回ADC结果
}
3.5系统电路设计、说明
3.5.1 系统电路总原理图
图3.5 系统原理图
3.5.2晶振电路简介
时钟信号的振荡器提供正常工作稳定的供应链接管理.晶振也被称为晶振谐振器,是一种机电设备,是需要精密磨削的石英晶体镀上电极焊上导线制成。这种晶体有一个很关键的特性--—-压电效应,给它导电,产生机械振荡,反之,给它机械力,便会产生电[7]。它的形状,材质,切割方向影响到振荡的频率。根据石英晶体等效为一个谐振回路,它的机电效应是机—电-机—电.。的不断转换,由电感和电容组成的谐振回路是电场—磁场的不断转换。
AT89S52的反相放大器,振荡器,时钟信号可以由单片机产生周期性功能是机械指令驱动芯片实现。这个放大器与石英晶体或陶瓷谐振器一起可构成一个自激振荡器,外接石英晶体或陶瓷谐振器以及电容C8和C10组成并联谐振电路, 接在放大器的反馈回路中。一个外部电容C8和C10的值虽然没有严格的要求, 但会影响许多电容振荡器的频率稳定度、振荡器、起振圈内部振荡的接法的快速及时性和温度稳定性。
AT89S52芯片里面有一个反相高增益放大器,它两头跟石英晶体及两个常用30pF电容相连接,组成稳定的自激振荡器微调震荡频率。震荡电路如图5所示.
图3.6晶振电路
3.5.3复位电路
系统CPU和其辅助部件是在一个精确的状态开始运行, 单片机成功复位。不论是电源故障或刚接上电源,要使用单片机就要先复位。施密特触发器通过AT89S52单片机RST引脚接收复位信号。当系统振荡稳定没发生异常情况下,假如RST出现一个持续24个振荡周期的高电平, 则系统复位.本设计系统是自动电源复位.
本系统中采用上电电路复位,即在单片机运行期间人工的复位,方便又简单。工作按钮接通电源,单片机便可复位,即手动复位完成。系统上电运行后,如果要复位,则动手复位即可,手动复位电路如图6所示.
图3。7 复位电路
3.5。4显示电路
LCD1602显示32个字符内容,分为2行显示.当前面向市场上字符液晶显示模块几近都是一样在HD44780液晶芯片的控制原理上完成的.
图3.8 LCD1602显示电路
第4章 系统软件设计
4.1 程序设计框图
ADC初始化
延时400ms
读取被测电
压并计算
LCD1602显示
1602显示
开始
图4。1程序设计框图
#include 〈STC12C5A60s2。h>
#include <stdio。h>
#include "1602.h"
#include "adc.h"
#include "delay。h”
#include ”intrins.h”
#define Ratio 2.0//用来确定电阻比值,电阻总阻值除以承载电压的那个电阻
/*————-—----—-—---——-—-—------—-—-—--—----—------—
主函数
-——--——----——---———--——-—-—--—---——-—--—----————*/
void main(void)
{
float Vo=0.0;
unsigned int temp_data=0;
unsigned char temp[16];
LCD_Init();
LCD_Clear();
LCD_Write_String(6,0,"test");
while (1)
{
temp_data=GetADCResult(0);//使用ADC得到电压值
Vo=(float)temp_data*Ratio*Vcc/255.0/100.0;//将得到的电压值进行处理
sprintf(temp,"U=%。2f V ”,Vo);
LCD_Write_String(0,1,temp);
DelayMs(200);
}
}
电子技术基础
课程设计
题目名称:直流数字电压表
指导教师:唐治德
学生班级:2014级11班
学号: 20144363
学生姓名:倪扶瑶
评语:
成绩:
重庆大学电气工程学院
2016年7月2日
摘要
随着科学技术的发展,数字电压表的种类越来越多,功能越来越丰富,应用的领域也越来越广泛,给人们的工作和生活带来许多方便.本文通过对比三种直流电压表设计的方案,选择介绍的是基于ICL7107数字电压表的设计。ICL7107是集三位半转换器段驱动器、位驱动器于一体的大规模集成电路,主要用于对不同电压的测量和许多工程上的应用。ICL7107是目前广泛应用于数字测量系统的一种31/2位A/D转换器,能够直接驱动共阳极数字显示器,构成数字电压表,此电路简洁完整,稍加改造就可以构成其他电路,如数字电子秤、数字温度计的等专门传感器的测量工具。本文设计应用了ICL7107芯片数码管显示器等,芯片第一脚是供电,正确电压时DC5V,连接好电源把所需要测量的物品连接在表的两个端口,从而可以在显示器上看到所需要的结果.加上量程转换电路的设计,电路可以实现对0~1.999v,0~19。99v,0~199.9v的电压测量。本文阐述了电路设计中具体的每一部分具体电路的结构和功能以及仿真实验和实物调试过程。
目录
一、设计目的ﻩ4
二、设计内容及要求 4
三、设计方案比较和选择 4
四、设计与分析ﻩ7
4.1单元电路的设计 7
4.1。1测量电路ﻩ7
4.1.2 双积分模数转换电路 7
4.1.3数码显示电路ﻩ9
4.1.4量程转换电路 9
4。2分析计算ﻩ10
4。3器件选择ﻩ10
五、电路仿真与工作原理ﻩ11
5。1总电路图ﻩ11
5.2仿真分析ﻩ12
5.3工作原理 12
六、组装与调试 15
6。1系统调试 16
6。1.1调试仪器ﻩ16
6.1。2调试方法 16
6。1.3测试结果分析ﻩ16
6。2故障处理ﻩ16
七、总结 17
7。1设计电路优缺点ﻩ17
7。2收获与建议ﻩ17
参考文献 19
附件1 20
一、设计目的
1. 掌握双积分A/D转换的工作原理和集成双积分A/D转换器件的设计方法。
2. 掌握常用数字集成电路的功能和使用。
二、设计内容及要求
1. 设计直流数字电压表。
2. 直流电压测量范围:0V~1。999V,0V~19.99V,0V~199。9V。
3. 直流输入电阻大于100kΩ。
4. 画出完整的设计电路图,写出总结报告.
5. 选做内容:自动量程转换。
三、 设计方案比较和选择
根据设计要求和查阅资料我们拟定了如下三个设计方案:
方案一:主要ADC0809转换芯片和51单片机
主要采用AT89C51单片机为核心处理,采用ADC0809转换芯片,其中A/D转换器用于实现模拟量向数字量的转换,单电源供电。数字电压表的系统框图如图1所示,通过测量电路将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。本方案需要进行单片机的编程,由于我们在这方面专业知识尚不熟悉,所以不采用本方案。
图1
方案二:主要使用MC14433芯片
由集成双积分模数转换器MC14433构成的直流电压表电路如图2所示。MC1403提供稳定精确的2V基准电压.MC14543是显示译码驱动电路.直流输入电压范围是0V~2V。增加测量电路和量程转换电路可实现本课题要求。
图2 MC14433直流电压表电路图
MC14433的性能特点有:
(1)MC14433属于CMOS大规模集成电路,其转换准确度为±0.05%.内含时钟振荡器,仅需外接一只振荡电阻。能获得超量程(OR)、欠量程(UR)信号,便于实现自动转换量程。能增加读数保持(HOLD)功能。电压量程分两挡:200mV、2V,最大显示值分别为199。9mV、1.999V。量程与基准电压呈1∶1的关系,即UM=UREF.
(2)需配外部的段、位驱动器,采用动态扫描显示方式,通常选用共阴极LED数管。
(3)有多路调制的BCD码输出,可直接配μP构成智能仪表。
(4)工作电压范围是±4.5 V~±8V,典型值为±5V,功耗约8mW.
方案三:主要采用ICL7107芯片
图3为方案三ICL7107 直流电压表的电路图。直流输入电压范围是0V~2V。增加测量电路和量程转换电路即可实现本课题要求。
本方案主要特点是:
(1)ICL7107是31/2位双积分型A/D转换器,属于CMOS大规模集成电路,它的最大显示值为士1999,最小分辨率为100uV,转换精度为0。05士1 个字.
(2)能直接驱动共阳极的LED显示器,不需要另加驱动器件,使整机线路化。采用士5V两组电源供电,并将第21脚的GND接第30脚的IN 。
(3)能通过内部的模拟开关实现自动调零和自动极性显示功能。
(4)LED属于电流控制器件,在3 1/2位数字仪表中采用直流驱动方式,芯片本身功耗较小。
(5)显示亮度较高,噪音低,温漂小,具有良好的可靠性,寿命长.
图3ICL7107 直流电压表的电路图
方案二和方案三中的直流数字电压表设计均由测量电路、双积分模数转换电路、数码显示电路和量程转换电路组成,不需要单片机的编程,原理框图如图4所示。测量电路和量程转换将宽范围的输入直流电压变换为模数转换电路输入电压范围的直流电压,模数转换电路将其转换为数字量,送数码显示电路显示测量值.
图4
进一步对比图2和图3中两种方案的电路图发现ICL1707整机组装更为方便,无需外加有源器件,配上电阻、电容和LED共阳极数码管,就能构成一只直流数字电压表头.综上分析,本次设计将采用方案三,即主要以ICL7107芯片和共阳极半导体数码管LED组成电路的方案.
四、 设计与分析
4.1单元电路的设计
4.1.1测量电路
因为ICL7107直流电压表的直流输入电压范围是0V~2V,所以要实现测量0V~1.999V,0V~19.99V,0V~199.9V范围的直流电压的功能,需要在测量电路中对直流电压进行分压。测量电路如图5所示.当输入电压为0V~1.999V时,满足ICL7107输入电压的范围,不需要分压输出.当输入为0V~19.99V时,需要分压输出10%的电压。当测量输入电压为0V~199。9V时,需要分压输出1%的电压。根据分析测量电路需要用电阻值之比为1:9:90的电阻进行分压,本次设计采用的是10k,90k,900k的电阻,输出接单刀三置开关。
图5测量电路
4.1.2双积分模数转换电路
ICL7107实现双积分模数转换的电路原理如图6所示。模数转换过程分3个阶段,如图7。自动0校准(保证积分器输出为零),定时积分(信号积分),定压积分(反向积分)。数字和逻辑控制见图7。通过外接电阻电容产生周期时钟信号,在其16000脉冲周期完成一次模数转换.
图6模数转换原理
图7数字和逻辑控制
图8 ICL7107引脚图
集成双积分模数转换器ICL7107的引脚如图8所示。芯片的第32脚为模拟公共端,称为COM端;第34脚Vr+和35脚Vr-为参考电压正负输入端;第31脚IN+和30脚IN-为测量电压正负输入端;Cint和Rint分别为积分电容和积分电阻,Caz为自动调零电容,它们与芯片的27、28和29相连,电阻R1和C1与芯片内部电路组合提供时钟脉冲振荡源,从40脚可以用示波器测量出该振荡波形,该脚对应实验仪上示波器接口CLK,时钟频率的快慢决定了芯片的转换时间(因为测量周期总保持4000个Tcp不变)以及测量的精度.
器件的输入电压范围是0V~Vref,Vref是基准电压(2V),从IN HI 和IN LO引脚输入。输出数字量直接驱动4个共阳极LED数码管。千位数码管段信号:AB4和负POL。百位数码管段信号:A3~G3.十位数码管段信号:A2~G2。个位数码管段信号:A1~G1。
4.1.3数码显示电路
本次设计的直流电压表的数码显示将使用4个共阳极的LED数码管。由于ICL7107芯片能直接驱动共阳极的LED显示器,不需要另加驱动器件,所以在本次设计的中直接将芯片的千位数码管段信号、百位数码管段信号、十位数码管段信号、个位数码管段信号分别驱动代表千位、百位、十位、个位的四位数码管。
4.1.4量程转换电路
量程转换电路实现小数点驱动,在不同量程时驱动数码管不同位数的小数点位。小数点驱动电路如图9所示.三个运放负端接测量电路输出,正端分别接不同量程的分压电阻。三个运放输出后经过两个两输入的与非门74LS00,再经过三个三输入与非门74LS10做逻辑运算后控制数码管千位、百位、十位的小数点位低电平有效显示。
图9 量程转换电路
4.2分析计算
在上述量程转换电路中,需要将三个运放比较所得电压高低电平输出进行逻辑运算,驱动不同量程时数码管小数点显示的位置。在单刀三置开关选择最下面一档,即测量直流电压为1~199。9V区间时,十位小数点亮,千位、百位小数点暗.当开关选择中间档位,即测量直流电压输入为1~19。99V区间时,百位小数点亮,千位、个位小数点暗。当开关选择最上面一档,即输入直流电压为1~1。999V区间时,千位小数点亮,百位、十位小数点暗。根据以上小数点驱动电路要求,设千位、百位、十位小数点输出分别为Dp1,Dp2,Dp3,可以列出表1。
待测电压输入
运放1
运放2
运放3
Dp1
Dp2
Dp3
1~1。999V
高
低
低
低
高
高
1~19.99V
高
高
低
高
低
高
1~199.9V
高
高
高
高
高
低
表1
4.3器件选择
本次实验选择的器件如下表2。
器件名称
基本参数
数量
ICL7107
双积分A/D转换
1
A10-50AA
5档旋转开关
1
电容
0.1uF,0。47uF
0.22 uF,0。02uF,100pF
每种1
电阻
24k,47k,100k,1k,1M,
900k,90k,10k
每种1
1k电位器
1
LED数码管(红)
共阳极极
4
LM324
4运放
1
表2
五、电路仿真与工作原理
5.1总电路图
根据实验室所提供的器材,我们用Proteus软件设计的直流电压表的仿真图如图10所示。
图10仿真电路图
5。2仿真分析
本设计采用ICL7107作为数字电压表的A/D转换及锁存和译码模块,使得电路具有设计简单、集成度及可靠性高的特点。该系统能够实现0~199。9V、0~1.999V、0~19。99V量程电压值的测量。在进行仿真实验中,改变输入电压值作为测量的直流电压,更换到正确的档位,数码管显示测量的电压值,经过调试,与设定的电压值相比测量电压值在误差范围之内。
在仿真实验过程中我们遇到了小数点不能按要求准确显示和电压测量精度不够高的问题。针对小数点不能正确显示的问题,我们更换了运放,并利用Proteus软件在仿真时对高低电平的直接显示的逻辑运算进行了重新的分析,并再次连接了电路图,实现了不同范围电压输入显示不同位数的小数点。针对测量精度不准的问题,我们调整了35脚的电位器和它所连接的电阻R1,重新设置了基准电压,将误差控制在1/1000的范围内.
5.3工作原理
从V1端输入待测电压,根据不同测量档位的选择,经过量程转换电路后输出正确的小数点位数。下面部分经过LM324直流稳压电源输入稳定的电压后输入ICL7107芯片,进行双积分A/D转换.模数转换电路将其转换为数字量,送数码显示电路显示测量值。
双积分模数转换器(ADC)是间接型ADC。它将取样电压转换为与之成正比的时间宽度,在此期间允许计数器对周期脉冲进行计数。计数器的二进制数就是取样电压对应的数字量.
图11是双积分ADC的电路原理图.电路主要由积分器、比较器、计数器、JK触发器和控制开关组成。由JK触发器的输出QS控制单刀双置开关选择积分器的输入电压。当QS=0时,积分器对取样电压做定时积分;当QS=1时,积分器对基准电压—VREF做定压积分.与—VREF电压极性相反,这里设取样电压为正,则—VREF为负。
图11 双积分ADC电路原理图
J Q
C1
K
R
Q0 Q1 …Qn-1 C
CP n位二进制
R 计数器
+
+
A
C
&
CP
S
-VREF
LSB
MSB
D0
D1
Dn-10
R
C
S1
S2
O
t
QS
O
t
S
O
t
QS
T1
T2
O
t
S1选
S1选-VREF
计数
进位回0时刻
图12双积分ADC工作波形
1。定时积分
在确定的时间内对取样电压进行积分即是定时积分.
启动信号S输入负窄脉冲(S=0),使计数器、JK触发器QS清零,开关S1选择取样电压作积分器输入。同时开关S2闭合,使积分电容放电,=0。负脉冲消失后(S=1),开关S2断开,积分器对取样电压做积分,积分器输出电压下降,,比较器输出逻辑1。允许n位二进制计数器对周期脉冲CP计数。当进位C=1时,下一个CP脉冲使计数器复零、JK触发器QS=1,定时积分结束,定压积分开始。
取启动信号S的负脉冲刚消失的时刻为时间零点,并设时钟脉冲CP的周期为TCP。则对取样电压的积分时间T1为:T1=2nTCP,是确定不变的。
积分器输出电压为:
积分器输出电压与时间成线性关系,其斜率是负的,与取样电压和积分器的时间常数RC有关.越大,负斜率也越大.定时积分的工作波形如图12所示,图中绘出了2个取样电压的情况。
定时积分结束时的积分器输出电压为
与取样电压成正比.
2。定压积分
在定时积分期间,当计数器的进位C=1时,下一个CP脉冲使计数器复零和JK触发器QS=1,开关S1选择基准电压-VREF,积分器开始对基准电压—VREF做定压积分。由于比较器输出逻辑1,计数器从0继续计数。与此同时,积分器输出电压上升
积分器输出电压同样与时间成线性关系,其斜率是正常数,与基准电压VREF和积分器的时间常数RC有关。定压积分的工作波形如图11。3。9所示。当时,比较器输出逻辑0,计数器停止计数,并保持计数结果B Z(通常为自然二进制数)。从定压积分开始到计数器刚停止计数()的时间T2为
并且,在计数器停止计数时刻,积分器输出电压为0,即
所以
定压积分时间T2与取样电压成正比。在此期间,计数器从0开始对周期脉冲CP计数,直到停止并保持计数值BZ。所以
计数器的二进制数与取样电压成正比,是取样电压对应的数字量。实际上CP脉冲可能与比较器的边沿不同步,导致计数器可能漏计或多计一个脉冲。故上式应修正为
双积分ADC的单位模拟电压LSB为
六、 组装与调试
由仿真电路绘制的PCB图如下图13所示。
图13 PCB图
将制作好的PCB版焊上元器件后,实物图如图14所示。
图14实物正反面
6。1系统调试
6。1。1调试仪器
可调直流电源,可调范围:0~200V;万用表,精度:0。1mV。
6.1。2调试方法
(1)数码管显示调试:接+5V供电电源,将37脚(TEST)接+5V,数码管各段及百位小数点均点亮,说明显示正常。
(2)量程转换调试:拨动三个单刀双置开关,选择不同的量程测量,若在三个量程分别显示千位、百位、十位的小数点,说明小数点驱动电路正常工作。
(3)电压测量调试:用该表测量一电压,再用万用表测量,分别记录电压值。
(4
展开阅读全文