首页

数字电压表采用8051单片机控制

在这个项目中,我将展示如何设计一个数字电压表使用8051单片机并解释它的工作原理。电压表是一种测量仪表,用于测量电网中两点之间的电压差。一般来说,有两种类型的电压表——一种是模拟电压表,另一种是数字电压表。

在模拟电压表中,指针在刻度上移动以表示电压。数字电压表可直接以数字方式显示电压模拟数字转换器.本文介绍了用8051单片机和L7017集成电路两种方法设计数字电压表的方法。

数字电压表采用8051单片机和电压传感器

数字电压表采用8051单片机控制

本项目测量输入电压为0V ~ 25V。这里,输入电压应该是直流电压,以获得准确的输出在LCD上。如果你应用交流电压作为输入,那么将看到连续运行数字在LCD上的交流不断变化。

本课题的主要组成部分是8051单片机、电压传感器模块和ADC芯片ADC0804。在这个项目中,我们采用模拟到数字的转换过程来显示电压。

也可以阅读相关文章:如何将16×2 LCD与8051单片机连接?

模拟数字转换

在现实世界中,我们发现的大多是模拟数据。为了使用数字系统操作这些数据,我们需要将模拟数据转换为数字数据,以便微处理器或微控制器能够理解和操作这些数据。

物理量与数字系统的接口
物理量与数字系统的接口
  1. 传感器:换能器或传感器用于将物理量转换为电能。光相关电阻,温度传感器,湿度传感器,气体传感器等是传感器的例子。
  2. 模数转换器(ADC):ADC将输入电压转换为数字值。
  3. 数字系统:该系统读取输入的数字数据,并将物理量显示在LCD上,以达到了解的目的。

这里ADC IC根据输入电压产生输出数字值。的8051单片机读取这个数字值并显示在LCD上。

采用8051单片机的数字电压表电路图

数字电压表采用8051单片机和电压传感器电路图 电路元件

  • AT89C51单片机微控制器
  • ADC0804集成电路
  • 25 v电压传感器
  • AT89C51单片机编程板
  • 可变电阻器(演示程序)
  • 直流适配器或电池

基于8051单片机的数字电压表电路设计

在上述电路中,模拟数字转换器IC的数据位连接到PORT2上。LCD数据引脚连接控制器的POTR3,控制引脚RS和EN分别连接P1.6和P1.7。

ADC0804

这是一个8位模拟数字转换器。该集成电路采用逐次逼近法将模拟值转换为数字值。它只能接受一个模拟数据作为输入。该集成电路的步长是通过改变引脚9处的参考电压来改变的。如果这个引脚没有连接,VCC将是参考电压。

当步长为5V时,输入电压每增加19.53mV,输出就增加1个值。该集成电路的转换时间与时钟源有关。

ADC的特性

  • 0 ~ 5V模拟输入电压。
  • 内置时钟发生器。
  • 微分模拟输入。
  • 可调基准电压。

下表显示了不同参考电压下的不同步长。

在上面的电路图中,引脚9 (Vref/2)是开着的,因此输入电压跨度可以是0到5V。

步长= Vref/(2 pow(n))

其中n为分辨率。对于ADC0804,分辨率n=8。数字输出可以用公式来计算

Dout = Vin / stepsize。

Vin—模拟输入电压

例如,设模拟输入电压为4V,则数字输出为Dout=4/19.53mV=204。

转换模拟输入到数字的步骤
  1. 从PORT2中读取ADC值。

#定义dat P2

val = dat * 0.02;

  1. 乘以100后,得到一个三位数的正整数。

val1 = val * 100;

  1. 单独的数字和打印在LCD上,包括小数点。

temp = (((val1/100) % 10) + 48);

显示(临时);

显示(“。”);

temp = (((val1/10) % 10) + 48);

显示(临时);

temp = ((val1 % 10) + 48);

显示(临时);

电压传感器

电压传感器模块是一个简单的分压器网络,可以将ADC的模拟输入范围增加到25V左右。

Arduino电压传感器引脚接口电压传感器

代码

8051单片机下的数字电压表电路如何工作?

  1. 首先将程序刻录到at89c51单片机上。
  2. 现在根据电路图给出连接。
  3. 在电压传感器的输入端连接电池或任何电压源。
  4. 请确保最大模拟输入电压小于25V DC
  5. 在电压传感器的输入端连接一个数字万用表。
  6. 现在接通电源。
  7. 现在观察LCD和数字万用表,两者都显示相同的电压(或非常相似的电压)。
  8. 如果可能,尝试慢慢改变模拟输入电压。现在你可以观察到万用表和LCD显示相同的电压,所以我们可以说电压表工作正常。
  9. 关闭单板电源。

数字电压表采用8051单片机和电压传感器

数字电压表电路应用程序

  • 该系统适用于低电压环境下的电压测量。
  • 用于测量玩具电池。
  • 只需稍加修改,就可以测量温度、湿度、气体等物理量。

数字电压表模仿

  • 输入模拟电压范围为0 ~ 5V。
  • 使用这个系统,我们一次只能测量一个模拟输入值。

使用ICL7107的数字电压表电路

电压表也可以在不使用任何微控制器的情况下设计。这是使用L7017集成电路的电压表电路

在这里,我们设计了一个模拟数字转换器工作的数字电压表使用低功率三位数半a /D转换器ICL7107内部7段解码器,显示驱动器,参考和时钟。

该芯片的优点是可以直接驱动非多路七段显示,无需任何外部解码电路。该电路可以测量200mV ~ 2V范围内的电压,测量间隔为0.001V。

电路背后的原理

该电路是基于ICL7107作为模拟数字转换器的原理设计的。整个操作分为模拟到数字转换和解码两个阶段。

采用积分和参考积分的方法实现了模数转换。也就是说,首先对输入信号进行积分,使积分器的输出变为斜坡信号,然后对极性相反的参考电压进行积分,使积分器的输出变为零。

然后使用显示解码器对所获得的所得数字代码进行解码以驱动所述显示单元。

使用ICL7107的数字电压表电路图

用ICL7107制作的数字电压表电路图
使用ICL7107 -的数字电压表电路图ElectronicsHub。Org

如何设计数字电压表电路?

设计电路需要适当选择如下元器件:

  1. 振荡电路元器件的选择:对于典型的48khz振荡频率,振荡电阻选择100K左右,电容选择100pF左右。
  2. 参考电容:参考电容值选择在0.1uF ~ 1uF之间。这里我们选择了一个0.5uF的电解电容器。
  3. Auto-zero电容:选择自动零电容,其值在0.01uF ~ 1uF之间。这里我们选择0.1uF电容。
  4. 集成电容:集成电容是集成电路的重要组成部分。其取值由积分周期t、最佳积分电流I和积分电压Vint决定。在83mSec,电流4uA,电压2V的一段时间内,电容值在0.16uF左右。此处选择0.22uF电容。
  5. 集成电阻:该电阻的值由全量程模拟输入电压和最佳集成电流给出。我们选择一个500K的电阻作为全量程2V的输入电压。

如何操作数字电压表电路?

集成电路由+/- 5V双电源供电。一旦电路通电,通过调整参考电阻来设置参考信号。参考电压需要大约为输入电压的一半。振荡元件-电阻和电容决定了器件的振荡频率或时钟频率。

基准电容器充电到基准电压。一个反馈回路然后关闭充电的自动零电容器,这样是补偿任何波动的电压。之后,变换器在一段固定时间内对输入处的差分电压进行积分,使积分器的输出为斜坡信号。

然后将一个已知的参考电压加到积分器的输入端,并允许其倾斜,直到积分器的输出为零。输出归零所需的时间与输入信号成正比,数字读数为:

显示计数= (Vin/Vref)*1000。

下一个过程涉及对数字计数进行解码,以产生一个七段兼容的信号,从而驱动显示器。数字输出然后显示在多路7段显示器上。

数字电压表电路的应用

  1. 该电路可用于数字万用表,提供被测电压的数字读数。
  2. 它可用于测量交流和直流电压。
  3. 采用传感器电路和信号调理电路,可用于测量压力、温度、应力等物理量。
  4. 可用于要求高精度、高分辨率的应用场合。

数字电压表电路的局限性

  1. 它只能测量低量程的电压。
  2. 所使用的集成电路是CMOS器件,并且是高度静态的。
  3. 输入电压的正负参考电压差会引起侧翻误差,即共模误差。
  4. 使用全量程负输入电压2V有时会导致积分器输出饱和。
  5. LED驱动器内部发热会导致性能下降。
  6. 参考温度系数、芯片内部耗散和封装热阻会增加噪声等级。

34岁的反应

  1. 嗨,这是一个不错的帖子,我很好,祝你一切顺利,我得到了一些良好的研究与MCU 80c51,我会给你发送
    谢谢
    最好的方面
    gayan。


  2. 我们有一个关于数字电压表的项目,使用8051,由我们的教授分配,所以,我们只是想复制这个项目,所以,如果你给我们发送代码,这将是非常有用的,这是我的电子邮件id:engr.umarsajjad@gmail.com

  3. 我们是comsat的学生,我们必须在期末考核中提交这个项目。
    2)我们喜欢这个项目,我们的导师也喜欢这个项目,给我们分配了这个项目,所以我们决定做同样的项目。
    3)我们如上所述使用8051 u-控制器制作挖孔电压表。

  4. 你好!
    我需要这个项目的代码来熟悉它。这也是我项目的一部分。当我在设计万用表时,我的项目会有所不同。

  5. 你好,我是电子工程专业的学生。我正在做同样的项目,请把项目代码发给我。

  6. 我也在做同样的项目。在模拟的时候,我在项目代码中得到了错误。所以我需要正确的代码。

    1. 代码测试。的re is no error in the code.Let us know the error you are getting in simulation so that we can help you..

  7. 请邮寄或回复项目代码。网站上提到的那个在我的电脑上不能打开,
    如果可以,请邮寄或回复word /notepad/hex文件。

  8. 先生,请给我使用8051东西的数字电压表的代码。我是一个电子专业的学生,我已经准备把这个项目做成小项目

  9. 嗨,我可以知道你如何转换十六进制回电压,同时显示在LCD
    我能知道如何传输UART的电压显示在pc或其他设备。

    谢谢你

    请尽快回复。

  10. 你已经给了两个程序文件。我如何使他们成为一个单一的十六进制文件

留下一个回复

你的电邮地址不会被公布。

Electronicshub图标
Baidu
map