电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机实例 >> 正文

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

作者:佚名    文章来源:网友    点击数:    更新时间:2023/10/14

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

功能描述:

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

Proteus7.8以上版本均可使用

仿真图:

基于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

Tags:51单片机,Proteus,数字电压表  
责任编辑:admin
相关文章列表
基于51单片机的数字电压表设计_Proteus仿真+程序
超声波测距+温度+报警的单片机代码_51单片机超声波测距C语言程序
基于51单片机的SHT11温湿度测量仪设计(源码+仿真+文档)
基于51单片机的恒温控制器系统 protues+keil c
51单片机数码管显示程序, 共阴数码管显示程序 数码管原理(显示
51单片机学习笔记直流电机驱动(PWM)C语言程序
MCU-51单片机直流电机驱动(PWM)51单片机驱动直流电机
先学51还是先学STM32?STM32和51单片机的区别
51单片机和STM32单片机的结构有什么不同
51单片机、AVR单片机和PIC单片机的IO口操作
五款基于icl7107电压表电路图设计详解 数字电压表电路
关于51单片机IO引脚的驱动能力与上拉电阻
51单片机“呼吸灯”程序
51单片机入门之静态数码管电路设计
AT89C51,51单片机1602液晶显示时钟程序
4位单片机数字钟 电子钟制作
51单片机4位数码管电子钟源程序
AT89C2051电脑机箱风扇智能温控仪,AT89C2051 Temperature contro
51单片机温控风扇(含程序+原理图+仿真+PCB)
Proteus7.5仿真8255流水灯原理图
Proteus中示波器使用技巧
51单片机蜂鸣器播放音乐代码
proteus波形发生器怎么用
利用单片机AT89S51与ADC0809设计数字电压表,Voltmeter
单片机制作的纯正弦波逆变器,12V Pure Sine Wave Inverter
Proteus 与单片机实时动态仿真
Proteus 6 Professional 入门教程
用 proteus软件建立单片机仿真虚拟实验室
51单片机00-59秒计时器 0-59s Timer
51单片机按键程序中 while(!key)的作用
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询