基于51单片机的两路数字电压表Protues仿真设计

news2024/11/25 20:51:27

目录

一、设计背景

1.1、数字电压表的发展历程  

1.2、课题的意义和目的

二、实现功能

三、仿真演示

四、部分程序展示


一、设计背景

1.1、数字电压表的发展历程  

       数字电压表简称DVM,它是采用数字化测量技术设计的电压表。从性能来看:数字电压表的发展从一九五二年美国NLS公司由四位电子管数字电压表精度千分之一到现在已经出现8位数字电压表。参数可测量直流电压、交流电压、电流、阻抗等。测量自动化程度不断提高,可以和计算机配合显示、计算结果、然后打印出来。目前世界上美国FLUKE公司,在直流和低频交流电量的校准领域居国际先进水平。例如该公司生产的“4700A”多功能校准器和“8505”危机数字多用电压表,可用8位显示,直流精度可达到±5/10-6,读书分辨力为0.1μV。带有A/D变换模式、数据输出接口形式IEEE-488。具有比率测量软件校准和有交流电阻、电流选件。还具有高精度电压校准器“5400A”、“5200A”、“5450A”等数字仪表,都是作为一级计量站和国家级计量站使用的标准仪表。还有英国的“7055”数字电压表采用脉冲调制技术。日本横河公司的“2501”型采用三次采样等等在不断的蓬勃发展。

        从发展过程来看:数字电压表自1952年问世以来,已有50年多年的发展史,大致经历了五代产品。第一代产品是20世纪50年代问世的电子管数字电压表,第二代产品属于20世纪60年代出现的晶体管数字电压表,第三带产品为20世纪70年代研制的中、小规模集成电路的数字电压表。今年来,国内外相继推出有大规模集成电路(LSI)或超大规模集成电路(VLSI)构成的数字电压表、智能数字电压表,分别属于第四代、第五代产品。它们不仅开创了电子测量的先河,更以高准确度、高可靠性、高分辨力、高性价比等优良特性而受到人民的青睐。

       数字电压表作为电压表的一个分支,在近五十年间得到巨大发展,构成数字电压表的核心器件已从早期的中小规模电路跨入到大规模ASIC(专用集成电路)阶段。数字电压表涉及的范围也从传统的测量扩展至自动控制、传感、通信等领域,展示了广阔的应用前景。

       传统电压表的设计思路主要分为:用电流计和电阻构成的电压表;用中小规模集成电路构成的电压表;用大规模ASIC(专用集成电路)构成的电压表。这几中电压表设计方式各有优势和缺点,分别适用于几种特定的应用环境,同时,也为很多新颖的电压表的设计所借鉴和依据。

       进入21世纪,随着信息技术一日千里的发展,电压表也必经历从单一测量向数据处理、自动控制等多功能过度的这一历程,特别是计算机技术的发展必将出现智能化技术。因此,把电压表和计算机技术相结合的智能化电压表就将成为21世纪的新课题。目前,数字化仪器与微处理器取得令人瞩目的进展,就其技术背景而言,一个内藏微处理器的仪表意味着计算机技术向仪器仪表的移植,它所具有的软件功能使仪器 呈现出有某种延伸,强化的作用。这相对于过去传统的、纯硬件的仪器来说是一种新的突破,其发展潜力十分巨大,这已为70年代以来仪表发展的历史所证实。概括起来,具有微处理器的仪表具有以下特点:①测量过程的软件控制对测量数据进行存储及运算的数据处理功能是仪表最突出的特点;②在仪器的测量过程中综合了软件控制及数据处理功能,使一机多用或仪器的多功能化易于实现,成为这类仪器的又一特点;③以其软件为主体的智能仪器不仅在使用方便、功能多样化等方面呈现很大的灵活性。

1.2、课题的意义和目的

        数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表(如:温度计,湿度计,酸度计,重量,厚度仪等),几乎覆盖了电子电工测量,工业测量,自动化仪表等各个领域。除此之外,数字电压还有着传统指针电压表无可比拟的优点:读数直观、准确,显示范围宽、分辨力高,转入阻抗高,功耗小、抗干扰强等[3]。因此 对数字电压表作全面深入的了解是很有必要的。但是传统的数字电压表设计通常以大规模ASIC(专用集成电路)为核心器件,并辅以少量中规模集成电路及显示器件构成,可是这种设计方法灵活性差,系统功能固定,难以更新扩展,不能满足日益发展的电子工业要求[6]。而应用微处理器(单片机)为核心单元的数字电压表,其灵活性高、系统功能扩展简单,性能稳定可靠。在这些背景下,设计一种以单片机为基础、结构简单、工作可靠、灵活性好的数字电压表是很有意义的。

二、实现功能

      本设计采用AT89C51芯片和ADC0809芯片来完成一个简易的数字电压表,能够对输入的0~5 V的模拟直流电压进行测量,并通过LCD1602液晶显示屏进行显示,测量误差约为0.02 V。该电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理则由芯片AT89C51芯片来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块以百分数的形式显示,另外它还控制着ADC0809芯片的工作。

三、仿真演示

通道0实际电压值为2V,占比百分之40,实测电压值占比百分之39,误差为百分之1;通道1实际电压值为2.5V,占比百分之50,实测电压值占比百分之49,误差为百分之1;

改变两通道的电压值,通道0实际电压值变为为4V,实测电压值占比百分之79,误差为百分之1;通道1实际电压值为1V,实测电压值占比百分之19,误差为百分之1;

四、部分程序展示

#include "reg52.h" 
#include "intrins.h"
#include "LCD1602.h"

uint8 i;
fp32  volt0,volt1; 
uint8 getdata; 
uint8 dispbuf[8]={10,10,10,10,10,0,0,0};  //存放ad采集过来的值(只有最后3位有用)

uint8 table2[7]="CH0:  %";
uint8 table1[7]="CH1:  %";

sbit ST=P3^0; //是否选中该芯片
sbit OE=P3^1; //所存转换的值
sbit EOC=P3^2; //当EAC数据有效时,将转换数据送出
sbit CLK=P3^3; //给adc0809提供时钟

sbit Re1=P3^4;
sbit Add_A=P3^5;
sbit Add_B=P3^6;
sbit Add_C=P3^7;

void Timer0Init(void)
{  
	TMOD=0x12;//设置定时器0和1的工作方式  
	TH0=216; 
    TL0=216; //设置定时器0的初值为216(为adc0808提供时钟)
    ET0=1; //启用定时器0
    TR0=1;  //开定时器0  
	EA=1;    //开总中断
}

void Timer0Service(void) interrupt 1 using 0           //定时器0中断服务
{ 
  CLK=~CLK;  //给adc0809提供时钟
}

仿真源文件及源程序百度网盘链接:https://pan.baidu.com/s/1Brkqf2MvjgSEjD2cs0mCPw 
提取码:099h 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/574327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MYSQL索引连环18问(上)

MYSQL索引连环18问(上) 1.索引是什么? 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的…

PLX31-EIP-SIE 以太网/IP到西门子工业以太网

ProSoft Technology的EtherNet/IP to Siemens工业以太网通信网关允许支持EtherNet/IP的控制器或设备与西门子S7 PACs(包括S7-200s、S7-300s、S7-400s、S7-1200和S7-1500 PACs)之间进行高速双向数据传输。 此外,该网关还包括几个功能,包括数据优先级&…

我在GPT小程序开发中踩过的5个坑

坑1:没有充分了解需求 在GPT小程序开发中,充分了解需求十分重要。如果你没有认真地与客户交流,并理解他们的需求和期望,那么你很可能会浪费很多时间在错误的方向上。 坑2:没有使用合适的开发工具 在GPT小程序开发中…

Shell脚本攻略:Shell编程规范与变量

一、理论 1.Shell脚本编程规范 (1)Shell简介 Linux 系统中的 Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当 了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令&#xff09…

从小白到大神之路之学习运维第28天

第二阶段基础 时 间:2023年5月24日 参加人:全班人员 内 容: ISCSI服务 目录 实验构建iscsi服务 实现步骤:以下实验为例 前提配置: 服务器端: 客户端: 注意事项: 实验构…

新手一定要掌握的实用调试技巧(vs2019)

目录 1、什么是bug? 2、调试是什么? 2.1、调试是什么 2.2、调试的基本步骤 2.3、Debug和Release的介绍 3、Windows环境调试介绍 3.1、调试环境的准备 3.2、学会快捷键 3.3、调试的时候查看程序当前信息 3.3.1、查看临时变量的值 3.3.2、查看内存信息…

【PWN · IntegerOverflow ret2text】[BJDCTF 2020]babystack2.0

第一次遇见整数溢出的题目,值得记录一下(虽然这里的整数溢出很简单 目录 前言 一、整数溢出 二、解题思路 1.ELF/checksec查看保护 2.IDA反汇编 3.整数溢出 4.exp编写 总结 前言 整数溢出漏洞——对于有/无符号数,长/短位宽转换时机…

什么是 Spring Boot Actuator?如何在 Spring Boot 中使用 Actuator?

当我们在开发和部署应用程序时,监控应用程序的健康状况和性能是非常重要的。Spring Boot Actuator 为我们提供了一组现成的端点(endpoints),可以让我们方便地监控和管理应用程序。在本文中,我们将了解 Spring Boot Act…

Spark+Kafka构建实时分析Dashboard

SparkKafka构建实时分析Dashboard 说明一、案例介绍二、实验环境准备1、实验系统和软件要求2、系统和软件的安装(1)安装Spark(2)安装Kafka(3)安装Python(4)安装Python依赖库&#xf…

数据仓库hive本地/远程模式安装

文章目录 1.简述2.本地模式2.1安装包准备2.2解压安装mysql2.2.1 解压mysql安装包2.2.2 安装mysql相关组件2.2.3 修改my.cnf配置文件2.2.4 更改所属组2.2.5 启动mysql服务 2.3 hive解压安装及配置2.3.1 解压2.3.2 改名2.3.3 配置环境变量2.3.4 添加hive-site.xml配置文件2.3.5 放…

《Spring Guides系列学习》guide6 - guide10

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。 接着上篇看过的gu…

VIBRO METER 带缓冲输出的机械监控系统接口套件

高质量、高可靠性的接口套件,用于现有机械监控系统的缓冲“原始”传感器输出信号。该接口套件支持多达25个通道,可以是动态或转速计(速度)信号。接口套件采用DIN导轨安装,通常安装在装有VM600或VibroSmart机械监控系统的外壳中。 特征 支持…

为 Kotlin 的函数添加作用域限制(以 Compose 为例)

前言 不知道各位是否已经开始了解 Jetpack Compose? 如果已经开始了解并且上手写过。那么,不知道你们有没有发现,在 Compose 中对于作用域(Scopes)的应用特别多。比如, weight 修饰符只能用在 RowScope 或…

docker快速部署hue+hue集成hive

首先需要安装hive,hive的安装在HIVE的安装与配置_EEEurekaaa!的博客-CSDN博客 安装完成之后,使用脚本命令启动hdfs和hive的相关服务。 一、安装docker # 安装yum-config-manager配置工具 $ yum -y install yum-utils # 设置yum源 $ yum-co…

《俞军产品方法论》- 站在更高的角度来拓展产品经理的内涵和边界

关于作者 俞军,互联网产品大神级人物。他是早年百度唯一的产品经理,主持了百度搜索这款产品的无数次进化,并主持设计了百度贴吧、百度 知道等世界级创新产品,后来又成为滴滴出行的产品负责人。他的 “ 俞军产品经理十二条 ” &a…

TexSAW|2023|Cryptography&Misc|WP

Cryptography|Crack the crime 用 nc 连上后,直接得到第一题 是一个简单的base64加密,解密如下: Meet in dubai on Tuesday 填入之后可获得第二题 猜测是古典加密,随后经过N次尝试后发现是rot13加密,解密…

蓝牙耳机怎么选?蓝牙耳机哪些性价比高?2023年蓝牙耳机推荐,蓝牙耳机品牌排行榜,蓝牙耳机最全选购指南

蓝牙耳机怎么选?蓝牙耳机哪些性价比高?2023年蓝牙耳机推荐,蓝牙耳机品牌排行榜,蓝牙耳机最全选购指南 观前提醒,本文中你将会了解到: |蓝牙耳机抄作业环节 |蓝牙耳机基础知识 &a…

快速上手kettle

一、前言 最近由于工作需要,需要用到kettle工具进行数据迁移转换。特意找资料学习了一下,kettle基本操作算是学会了。 所学的也结合实际工作进行了验证。为了防止以后用到忘记了,便写了几篇文章记录一下。 二 、ETL简介 ETL ( Extract-Tran…

synchronized 关键字和 volatile 关键字有什么区别?

synchronized 关键字和 volatile 关键字有什么区别? 在 Java 中,synchronized 关键字和 volatile 关键字都可以用来实现线程安全,但是它们有不同的用途和实现方式。本文将介绍 synchronized 关键字和 volatile 关键字的区别,包括…

二肽二氨基丁酰苄基酰胺二乙酸盐/Dipeptide Diaminobutyroyl Benzylamide Diacetate/SYN-AKE

作用机理----二肽二氨基丁酰苄基酰胺二乙酸盐 类蛇毒三肽通过松弛面部肌肉而作为有效的平滑和祛皱活性产品, 该活性三肽作用方式与 Temple Viper 毒蛇毒液的神经肌肉阻断化合物Waglerin 1 一致。类蛇毒三肽作用于突触后膜, 是肌肉烟碱乙酰胆碱受体(nmAChR)可逆转的拮抗剂。类蛇…