1楼:匿名用户
你的这种方案太复杂了,直接用块带ad转换的单片机就可以了。看看**中的电压表,简单吧,
最低也有10分辨率,以ad满量程5v计算,5/1024=0.005v,精度可以满足要求,带ad的单片机很多,现成的电路图没有意义,关键是程序,程序定义好单片机的管脚功能后才能出电路图。
求一简易数字电压表的电路原理图
2楼:匿名用户
28.数字电压表
1.实验任务
利用单片机at89s51与adc0809设计一个数字电压表,能够测量0-5v之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。
2.电路原理图
图1.28.1
3.系统板上硬件连线
a)把“单片机系统”区域中的p1.0-p1.7与“动态数码显示”区域中的abcdefgh端口用8芯排线连接。
b)把“单片机系统”区域中的p2.0-p2.7与“动态数码显示”区域中的s1s2s3s4s5s6s7s8端口用8芯排线连接。
c)把“单片机系统”区域中的p3.0与“模数转换模块”区域中的st端子用导线相连接。
d)把“单片机系统”区域中的p3.1与“模数转换模块”区域中的oe端子用导线相连接。
e)把“单片机系统”区域中的p3.2与“模数转换模块”区域中的eoc端子用导线相连接。
f)把“单片机系统”区域中的p3.3与“模数转换模块”区域中的clk端子用导线相连接。
g)把“模数转换模块”区域中的a2a1a0端子用导线连接到“电源模块”区域中的gnd端子上。
h)把“模数转换模块”区域中的in0端子用导线连接到“三路可调电压模块”区域中的vr1端子上。
i)把“单片机系统”区域中的p0.0-p0.7用8芯排线连接到“模数转换模块”区域中的d0d1d2d3d4d5d6d7端子上。
4.程序设计内容
i.由于adc0809在进行a/d转换时需要有clk信号,而此时的adc0809的clk是接在at89s51单片机的p3.3端口上,也就是要求从p3.
3输出clk信号供adc0809使用。因此产生clk信号的方法就得用软件来产生了。
ii.由于adc0809的参考电压vref=vcc,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(d/256*vref)
5.汇编源程序
adc0809中文资料
adc0809是带有8位a/d转换器、8路多路开关以及微处理机兼容的控制逻辑的cmos组件。它是逐次逼近式a/d转换器,可以和单片机直接接口。
(1)adc0809的内部逻辑结构
由下图可知,adc0809由一个8路模拟开关、一个地址锁存与译码器、一个a/d转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用a/d转换器进行转换。三态输出锁器用于锁存a/d转换完的数字量,当oe端为高电平时,才可以从三态输出锁存器取走转换完的数据。
(2).adc0809引脚结构
adc0809各脚功能如下:
d7-d0:8位数字量输出引脚。
in0-in7:8位模拟量输入引脚。
vcc:+5v工作电压。
gnd:地。
ref(+):参考电压正端。
ref(-):参考电压负端。
start:a/d转换启动信号输入端。
ale:地址锁存允许信号输入端。
(以上两种信号用于启动a/d转换).
eoc:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
oe:输出允许控制端,用以打开三态数据输出锁存器。
clk:时钟信号输入端(一般为500khz)。
a、b、c:地址输入线。
adc0809对输入模拟量要求:信号单极性,电压范围是0-5v,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:4条
ale为地址锁存允许输入线,高电平有效。当ale线为高电平时,地址锁存与译码器将a,b,c三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。a,b和c为地址输入线,用于选通in0-in7上的一路模拟量输入。
通道选择表如下表所示。
cba选择的通道
000in0
001in1
010in2
011in3
100in4
101in5
110in6
111in7
数字量输出及控制线:11条
st为转换启动信号。当st上跳沿时,所有内部寄存器清零;下跳沿时,开始进行a/d转换;在转换期间,st应保持低电平。eoc为转换结束信号。
当eoc为高电平时,表明转换结束;否则,表明正在进行a/d转换。oe为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。oe=1,输出转换得到的数据;oe=0,输出数据线呈高阻状态。
d7-d0为数字量输出线。
clk为时钟输入信号线。因adc0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500khz,
vref(+),vref(-)为参考电压输入。
2.adc0809应用说明
(1).adc0809内部带有输出锁存器,可以与at89s51单片机直接相连。
(2).初始化时,使st和oe信号全为低电平。
(3).送要转换的哪一通道的地址到a,b,c端口上。
(4).在st端给出一个至少有100ns宽的正脉冲信号。
(5).是否转换完毕,我们根据eoc信号来判断。
(6).当eoc变为高电平时,这时给oe为高电平,转换的数据就输出给单片机了。
3.实验任务
如下图所示,从adc0809的通道in3输入0-5v之间的模拟量,通过adc0809转换成数字量在数码管上以十进制形成显示出来。adc0809的vref接+5v电压。
4.adc0809应用电路原理图
6.程序设计内容
(1).进行a/d转换时,采用查询eoc的标志信号来检测a/d转换是否完毕,若完毕则把数据通过p0端口读入,经过数据处理之后在数码管上显示。
(2).进行a/d转换之前,要启动转换的方法:
abc=110选择第三通道
st=0,st=1,st=0产生启动转换的正脉冲信号.
c语言源程序
#include
unsignedcharcodedispbitcode=;
unsignedcharcodedispcode=;
unsignedchardispbuf[8]=;
unsignedchardispcount;
sbitst="p3"^0;
sbitoe="p3"^1;
sbiteoc="p3"^2;
unsignedcharchannel="0xbc";//in3
unsignedchargetdata;
voidmain(void)
}voidt0(void)interrupt1using0
dispbuf[i]=temp;
st=1;
st=0;
}}}voidt0(void)interrupt1using0
voidt1(void)interrupt3using0
dispcount++;
if(dispcount==8)}
跪求高人“简易数字电压表”电路图~~~~ 30
3楼:匿名用户
可用l7107制作三位半数字电压表.
l7107-7.00元1只.
参考电子报93下181页.
求一个数字电压表的原理图
4楼:匿名用户
基于pc的数字电压表设计
本文运用at89s51和ad678进行a/d转换,根据数据采集的工作原理,设计实现数字电压表,最后完成单片机与pc的数据通信,传送所测量的电压值
数字电压表的设计和开发,已经有多种类型和款式。传统的数字电压表各有特点,它们适合在现场做手工测量,要完成远程测量并要对测量数据做进一步分析处理,传统数字电压表是无法完成的。然而基于pc通信的数字电压表,既可以完成测量数据的传递,又可借助pc,做测量数据的处理。
所以这种类型的数字电压表无论在功能和实际应用上,都具有传统数字电压表无法比拟的特点,这使得它的开发和应用具有良好的前景。
新型数字电压表的整机设计
该新型数字电压表测量电压类型是直流,测量范围是-5~+5v。整机电路包括:数据采集电路的单片机最小化设计、单片机与pc接口电路、单片机时钟电路、复位电路等。
下位机采用at89s51芯片,a/d转换采用ad678芯片。通过rs232串行口与pc进行通信,传送所测量的直流电压数据。整机系统电路如图1所示。
数据采集电路的原理
在单片机数据采集电路的设计中,做到了电路设计的最小化,即没用任何附加逻辑器件做接口电路,实现了单片机对ad678转换芯片的操作。
ad678是一种高档的、多功能的12位adc,由于其内部自带有采样保持器、高精度参考电源、内部时钟和三态缓冲数据输出等部件,所以只需要很少的外部元件就可以构成完整的数据采集系统,而且一次a/d转换仅需要5ms。
在电路应用中,ad678采用同步工作方式,12位数字量输出采用8位操作模式,即12位转换数字量采用两次读取的方式,先读取其高8位,再读取其低4位。根据时序关系,在芯片选择/cs=0时,转换端/sc由高到低变化一次,即可启动a/d转换一次。再查询转换结束端/eoc,看转换是否已经结束,若结束则使输出使能/oe变低,输出有效。
12位数字量的读取则要控制高字节有效端/hbe,先读取高字节,再读取低字节。整个a/d操作大致如此,在实际开发应用中调整。
由于电路中采用ad678的双极性输入方式,输入电压范围是-5~+5v,根据公式vx10(v)/4096*dx,即可计算出所测电压vx值的大小。式中dx为被测直流电压转换后的12位数字量值。
rs232接口电路的设计
at89s51与pc的接口电路采用芯片max232。max232是德州仪器公司(ti)推出的一款兼容rs232标准的芯片。该器件包含2个驱动器、2个接收器和1个电压发生器电路提供tia/eia-232-f电平。
max232芯片起电平转换的功能,使单片机的ttl电平与pc的rs232电平达到匹配。
串口通信的rs232接口采用9针串口db9,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连。在实验中,用定时器t1作波特率发生器,其计数初值x按以下公式计算:
串行通信波特率设置为1200b/s,而**od=1,fosc=6mhz,计算得到计数初值x=0f3h。在编程中将其装入tl1和thl中即可。
为了便于观察,当每次测量电压采集数据时,单片机有端口输出时,用发光二极管led指示。
软件编程
软件程序主要包括:下位机数据采集程序、上位机可视化界面程序、单片机与pc串口通信程序。单片机采用c51语言编程,上位机的操作显示界面采用vc++6.
0进行可视化编程。在串口通信调试过程中,借助“串口调试助手”工具,有效利用这个工具为整个系统提高效率。
单片机编程
下位机单片机的数据采集通信主程序流程如图2所示、中断子程序如图3所示、采集子程序如图4所示。单片机的编程**调试借助wave2000**器,本系统有集成的isp**调试环境。
在采集程序中,单片机的编程操作要完全符合ad678的时序规范要求,在实际开发中,要不断加以调试。最后将下位机调试成功而生成的.bin文件固化到at89s51的flash单元中。
人机界面编程
打开vc++6.0,建立一个基于对话框的mfc应用程序,串口通信采用ms***m控件来实现。其他操作此处不赘述,编程实现一个良好的人机界面。
数字直流电压表的操作界面如图5所示。运行vc++6.0编程实现的windows程序,整个样机功能得以实现。
功能结果
根据上面所述工作原理及实施方案,在实践中很好地实现了整个样机的功能,各项指标达到了预先的设计要求。电路工作稳定,每次测量均伴有led发光指示,可视化界面显示也正常。
ad678转换精度是12位,它的分辨率为1/4096。这为整机系统的高精度提供了保障。为了提高测量精度,运用了ad678自带的校准电路,这样使其a/d转换精度更高。
在实际测量中,整机测量精度达到了0.8%。
数字电压表的原理是不是,数字电压表的原理
1楼 安全护航 通常是按a d转换方式的不同将dvm分成两大类,一类是直接转换型,也称比较型 另一类是间接转换型,又称积分型,包括电压 时间变换 vt变换 和电压 频率变换 v f变换 。 以上此两种如你所说,而v t,v f则不是。 数字电压表的原理 2楼 匿名用户 dvm的种类有多种,分类方法也...
大学物理,求电压,简单大学物理: 求图(b)中时的电压。
1楼 匿名用户 u 5 20 10 15v。 2楼 越骨唐 等效电压源图2 电源内阻负表示电源负极 图电流向箭余电流并仅仅取决于电源负与外电路定关系外电路接于本电源电势反向电源则电流反向由极入负极 简单大学物理 求图 b 中时的电压。 3楼 匿名用户 u 4 6us u 1 2us u u u 1 ...
手机充电宝是什么原理电路图,求手机充电宝电路图??想自己做一个的
1楼 安全护航 就是用电压高的电池向电压低的电池充电,在手机一侧有控制电路。 2楼 幽灵漫步祈求者 手机充电宝原理电路图如下 图中1ms为拨动开关 向上拨为照明。 中挡位为照明断开位置也是充电位置,向下为充电器充电输出及电源灯。 led4 led7为高亮度发光的二极管用作照明。 led2绿色发光二极...