基于51单片机的数字电压表(ADC0832)(Proteus仿真+程序)

news2024/11/28 4:45:50

编号:29

基于51单片机的数字电压表(ADC0832)

功能描述:

     本设计由51单片机最小系统+ADC0832模块+两路模拟量输入模块+液晶1602显示模块
1、主控制器是AT89C82单片机
2、ADC0832模数转换器进行A/D转换,读取电压两路数据,电压检测范围0-5V 精度(8位)
3、利用两个电位器模拟 模拟量输入,
3、液晶1602显示两个电压值。

Proteus7.8以上版本均可使用

视频演示链接:

29、基于51单片机的数字电压表(ADC0832)

仿真图:

程序源码:

#include "reg52.h"
#include "lcd1602.h"
#include "delay.h"
#include "ADC0832.h"


	
void main(void)
{
	unsigned char adc0,adc1;
	unsigned char num=0;
	unsigned char ADC_Get[10]={0};  		//定义AD采样数组

	float Voltage0 = 0.0;
	float Voltage1 = 0.0;

	Lcd1602_Init();			  				//LCD1602液晶初始化

	Lcd1602_String(0,0,"V0:         ");
	Lcd1602_String(0,1,"V1:         ");
	while(1)
	{

		ADC_Get[num++]=ADC0832(1,0);			//通道0  利用中值滤波算法
		if(num>9)
		{
			num=0;
			adc0=Error_Correct(ADC_Get,10);		//取十个值作中值滤波
		}	
		Voltage0 = (float)adc0 * 5.0/255;

		Voltage0 = Voltage0 *100;				//扩大100倍方便显示
		Lcd1602_Write_Com(0x80+3);
		Lcd1602_Write_Data((unsigned int)Voltage0/100+0x30);
		Lcd1602_Write_Data('.');
		Lcd1602_Write_Data((unsigned int)Voltage0%100/10+0x30);
		Lcd1602_Write_Data((unsigned int)Voltage0%100%10+0x30);	
		Lcd1602_Write_Data('V');

		adc1=ADC0832(1,1);						//通道1
		Voltage1 = (float)adc1 * 5.0/255;
		Voltage1 = Voltage1 *100;				//扩大100倍方便显示

		Lcd1602_Write_Com(0xC0+3);
		Lcd1602_Write_Data((unsigned int)Voltage1/100+0x30);
		Lcd1602_Write_Data('.');
		Lcd1602_Write_Data((unsigned int)Voltage1%100/10+0x30);
		Lcd1602_Write_Data((unsigned int)Voltage1%100%10+0x30);
		Lcd1602_Write_Data('V');
	
	}
}

软件免费下载地址:

1、Proteus仿真软件
文件内容:Proteus7.8安装包、Proteus8.6安装包、Proteus.8.10安装包、Proteus Professional 8.11 SP0安装包

链接:https://pan.baidu.com/s/11LNUZ9BJXWvXf1C4dPc3_w 
提取码:2756 

2、KEIL4 C51软件安装包

链接:https://pan.baidu.com/s/1CTZBqDsPsyIbjCIjI_birA 
提取码:sy2a 

文件下载:

https://pan.baidu.com/s/1yGw8HHvJRdcjF28ZcLcTjA?pwd=uys5

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

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

相关文章

栅格瓦片和矢量瓦片

地图瓦片 地图瓦片的诞生 在以前没有瓦片的概念时,由于地图要素多、范围大等特点导致地图数据量很大,如果从浏览器可视化地图就对网络和数据渲染能力有高的要求,所以导致瓦片诞生以前,地图多在pc电脑中桌面软件使用。随着互联网…

【YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)

前言 前面我们给大家介绍了基于LabVIEWYOLOv3/YOLOv4的物体识别(对象检测),今天接着上次的内容再来看看YOLOv5。本次主要是和大家分享使用LabVIEW快速实现yolov5的物体识别,本博客中使用的智能工具包可到主页置顶博客LabVIEW AI视…

一个简单的MATLAB脚本——快速行进算法(FMM))

一个简单的MATLAB脚本——快速行进算法(FMM) 介绍快速行进算法(FMM)的简单MATLAB脚本,不到20行代码实现快速行进算法的运算结果,而且计算速度非常快。给了两个实例模型来说明计算结果。 文章目录一个简单的…

unicloud生成微信小程序分享码

一,方案 看了官方的文档,获取小程序码有三种,我采用的是第二种:生成数量不受限制的分享码。 对应的官方文档:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.…

MySQL 锁

在之前的文章有多次提到,MySQL在数据更新和性能优化上会用到锁机制。我们在实际的应用中也经常会遇到锁相关的问题,即使很多时候我们并没有人为的为数据库添加锁,但还是会出现死锁的问题,这是因为在我们操作数据时MySQL隐式的帮我…

java UDP通信程序DatagramSocket数据发送

首先 我们先来了解一下 UDP 首先 他是一种不可靠的网络协议 他在通信的两端 各建立一个 Socke对象 但是他们只是 发送和接收数据的对象 发送端只管发送 不会顾及接收端是否接到 接收到只负责接收数据 而不会给出发送端反馈 因此对于UDP通信的双方而言 是有没什么 客户端和服务…

架构师进阶,微服务设计与治理的 16 条常用原则

今天将从存储的上一层「服务维度」学习架构师的第二项常用能力 —— 微服务设计与治理。 如何设计合理的微服务架构? 如何保持微服务健康运行? 这是我们对微服务进行架构设计过程中非常关注的两个问题。 本文对微服务的生命周期定义了七个阶段&#xf…

正大国际期货:为什么外盘期货顺势交易这么难

要回答“为什么趋势交易这么难?”需要先回答:“为什么交易?”。 你应该为了抓住赚取期望利润的机会而交易,为了长期持续赚钱的目的而交易,而不是为了赚得短期利润的喜悦而交易,也不是为了证明你的市场分析…

音频转文字怎么转?这些方法值得一试

在日常生活中我们经常会遇到要把音频转换成文字的情况,很多小伙伴还在使用传统的方法,一边播放一边记录。虽然这样能解决问题,但是需要花费很多时间,效率特别低。我们不妨尝试使用一些转换软件,这样就能节省很多时间了…

界面组件Kendo UI for Angular——让应用数据显示更直观!(二)

Kendo UI致力于新的开发,来满足不断变化的需求,通过React框架的Kendo UI JavaScript封装来支持React Javascript框架。Kendo UI for Angular是专用于Angular开发的专业级Angular组件,telerik致力于提供纯粹的高性能Angular UI组件&#xff0c…

Word处理控件Aspose.Words功能演示:在 Java 中将 Word DOCX 转换为 Markdown

如今,Markdown ( MD ) 格式被广泛用于编写在线文章、博客和文档。但是,在大型文档的情况下,它的语法变得难以记忆和书写。为方便起见,您可以在 MS Word 中编写内容,然后将DOCX文件转换为 Markdown。为了以编程方式执行…

nacos--基础--5.2.2--集成--SpringCloud--服务注册,发现,负载均衡

nacos–基础–5.2.2–集成–SpringCloud–服务注册,发现,负载均衡 代码位置 https://gitee.com/DanShenGuiZu/learnDemo/tree/master/nacos-learn1、介绍 服务发现客户端 从服务发现中心获取服务列表服务消费 通过负载均衡获取服务地址 2、添加依赖 …

jdk安装配置教程2022年12月最新版

这两天配了好几遍jdk,删了又下下了又删,总结一下,也算有点收获 1. 下载:官网Java Downloads | Oracle jdk1.8在下面,上面是最新的jdk17和jdk19 2.下载完成后,一路安装解压(我撞在了C盘&#…

IfcOpenShell简明教程【BIM】

IFC 是用于存储 BIM 数据的 ISO 标准格式。 IfcOpenShell 是一个包含 Python 库的项目,可以用来解析 IFC 文件。 1、下载安装IfcOpenShell 首先,我们需要下载并安装 IfcOpenShell python。 目前没有 IfcOpenShell 的 API 文档,但考虑到它主…

Vector源码解析

Vector源码解析 简介 Vector 是一个古老的 线程安全(内部的核心方法都加了synchronized) 的容器,在 JDK1.0 时就已经存在,到如今已经很少使用。 基本结构与 ArrayList 类似,可以认为是线程安全版本的 ArrayList,但因为 Vector …

BCN-PEG-FITC 环丙烷环辛炔聚乙二醇荧光素 BCN-PEG-荧光素

双环[6,1,0]壬炔 (BCN) (环丙烷环辛炔)可以通过无铜的点击化学与叠氮化物标记的分子或生物分子反应生成稳定的三氮唑连接。 产品名称 BCN-PEG-FITC 环丙烷环辛炔聚乙二醇荧光素 中文名称 环丙烷环辛炔聚乙二醇荧光素 英文名称 BCN-PEG-FITC 分子…

基于Android的二维码识别系统的研究 与实现

XXXX 本科生毕业设计(论文) 学院(系): XX 专 业: XX 学 生: XX 指导教师: XX XX 完成日期 年 月 XXX本科生毕业设计(论文) 基于Android的二维码识别系统的研究 与实现 Research and Implementati…

防重放、防篡改攻击的实现(Java版)

文章目录一、问题描述1、什么是重放攻击、篡改攻击?2、如何模拟重放攻击、篡改攻击?2.1、重放攻击模拟方式2.2、篡改攻击模拟方式二、解决方案三、在项目中使用1、项目简介2、项目实践一、问题描述 1、什么是重放攻击、篡改攻击? 1、重放攻击…

【SSM框架】为集合类型属性赋值

🍓个人主页:个人主页 🍒系列专栏:SSM框架 目录 1.为集合类型属性赋值 ①为List集合类型属性赋值 ②为Map集合类型属性赋值 2.p命名空间 3.引入外部属性文件 1.为集合类型属性赋值 ①为List集合类型属性赋值 在Clazz类中添加…

中国三大主流开源Linux操作系统社区及其产品生态

作者:IT圈黎俊杰 操作系统是基础软件的核心,是科技研发必备的底层支撑产品,它的核心技术至今仍然由美国为代表的西方国家所掌控着。由于以前国产操作系统产业长期处于“多、小、散”的状态,未能建立起完善的生态、未能研发出真正好…