数字电压表使用8051微控制器

在这个项目中,我将展示如何使用8051微控制器设计数字电压表,并解释其工作。电压表是一种测量仪器,用于测量电网两点之间的电压差。通常,有两种类型的电压表 - 一个是模拟电压表,另一个是数字电压表。

在模拟电压表中,指针在刻度上移动以表示电压。数字电压表在模数转换器的帮助下直接显示数字中的电压。本文介绍了如何使用IC L7017使用8051微控制器和2)在两种方法中设计数字电压表。

数字电压表使用8051微控制器和电压传感器图像1

数字电压表使用8051微控制器

该项目测量0V至25V的输入电压。这里,输入电压应该是直流电压,以获得LCD上的精确输出。如果将交流电压施加为输入,则将在持续运行的情况下看到LCD上的连续运行号码。

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

还阅读相关帖子:如何使用8051微控制器接口16×2 LCD?

模拟到数字转换

在现实世界中,主要是我们找到模拟数据。为了使用数字系统操纵此数据,我们需要将模拟数据转换为数字,使微处理器或微控制器能够理解和操作数据。

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

这里ADC IC基于输入电压产生输出数字值。8051微控制器读取此数字值并在LCD上显示它。

数字电压表使用8051微控制器电路图

数字电压表使用8051微控制器和电压传感器电路图电路元件

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

数字电压表电路设计使用8051微控制器

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

ADC0804.

这是一个8位模数转换器。该IC使用连续的近似方法将模拟值转换为数字。它可以只需要一个模拟数据作为输入。通过在PIN9处改变参考电压来改变该IC的步长。如果未连接此引脚,则VCC将是参考电压。

当步长为5V时,输入电压每升高19.53mV,输出就增加一个值。该IC的转换时间取决于时钟源。

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值。

#define 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. 如果可能,尝试缓慢地改变模拟输入电压。现在你可以观察到,万用表和液晶显示相同的电压,所以我们可以说,电压表工作正常。
  9. 关闭单板电源。

数字电压表使用8051微控制器和电压传感器图像2

数字电压表电路应用程序

  • 该系统用于低压场合的电压测量。
  • 用于测量玩具电池。
  • 我们可以使用该系统测量温度,湿度,气体等的物理量。

数字电压表电路L.模仿

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

使用ICL7107的数字电压表电路

电压表的设计也可以不使用任何单片机。这是使用L7017集成电路的电压表电路

在这里,我们使用低功耗三个和半数字A / D转换器ICL7107设计了作为数字电压表的模拟变量转换器,其中具有内部7段解码器,显示驱动器,参考和时钟。

优点是该IC可以直接驱动非多路复用的七段显示器而没有任何外部解码电路。该电路可以测量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的满量程输入电压。

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

IC由双电源供电,+/- 5V。一旦电路供电,通过调节参考电阻来设置参考信号。参考电压需要大约一半的输入电压。亚博彩票下载振荡部件电阻器和电容器决定了设备的振荡或时钟频率。

参考电容器被充电到参考电压。然后,一个反馈回路被关闭,以充电的自动零电容器,这样是补偿任何波动的电压。后来,转换器对输入处的差分电压进行固定积分,使积分器的输出为斜坡信号。

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

显示计数=(VIN / VREF)* 1000。

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

数字电压表电路的应用

  1. 该电路可用于数字万用表以提供测量电压的数字读数。
  2. 它可用于测量AC和DC电压。
  3. 它可用于测量使用换能器电路和信号调节电路的压力,温度,应力等物理量。
  4. 可用于要求高精度、高分辨率的应用场合。

数字电压表电路的局限性

  1. 它只能测量电压直到低距离。
  2. 使用的IC是一个CMOS器件,是高度静态的。
  3. 负输入电压和正输入电压参考电压的差异会导致侧翻误差,即共模误差。
  4. 使用2V的满量程负输入电压有时会导致积分器的输出饱和。
  5. 来自LED驱动器的内部加热会导致性能下降。
  6. 参考温度系数,内部芯片耗散和封装热阻趋于增加噪声水平。

34回应

  1. 嗨,这是一个不错的帖子,祝你一切都好,我有一些很好的研究MCU 80c51,我会寄给你
    谢谢
    最好的方面
    加曼。

  2. 你好
    我们使用我们的教授分配了8051的数字电压表项目,所以,我们只想复制这个项目,所以如果你发送给我们的代码,那么这里的电子邮件ID就会真正有帮助:engr.umarsajjad@gmail.com.

  3. 1)我们是Comsats的学生。我们必须在最终的补偿中提交这个项目。
    2)我们喜欢这个项目,我们的主管也喜欢这个项目,并将这个项目委托给我们,所以我们决定做相同的项目。
    3)我们正在做挖电压表使用8051 u控制器如上所述。

  4. 你好!
    我需要这个项目代码来熟悉它。它也是我的项目的一部分..我的项目将与I M设计多米的项目不同。

  5. 你好,我是电子工程学生亚博最新官网网址。我在做同一个项目请发给我项目代码。

  6. 我正在做同一个项目。在模拟时,我在项目代码中获得了错误。所以我需要正确的代码。

    1. 代码被测试。代码中没有错误。我们知道您正在进行模拟的错误,以便我们可以帮助您..

  7. 请邮寄或回复项目代码。网站上提到的那个在我的电脑上没有打开,
    如果可以,请邮件或回复Word / Notepad / Hex文件。

  8. 先生请用我是电子学生的8051件事给我发给我的数字电压表的代码,我一直准备将这个项目作为迷你项目

  9. 你好,我能知道你如何转换十六进制回电压,同时在液晶显示
    我可以知道如何在UART中传输该电压以在PC或某种其他设备中显示。

    谢谢你

    请尽快回复。

留下一个回复

您的电子邮件地址不会被公开。必填字段被标记*