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

这篇具有很好参考价值的文章主要介绍了基于单片机的数字电压表设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于51单片机的数字电压表(ADC0809)
资料包括有原理图、0809芯片使用资料、89C52单片机、毕业设计开题报告、参考论文、原理图等​。

具体组成如下图所示:

该图为Proteus仿真图,采集的电压由滑动变阻器模拟,其原理就是利用ADC0908AD转换芯片对采集的模拟量进行转换为数字量,再通过数码管显示出来

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

下面是该系统实现的功能的具体演示过程和介绍:

测量0-5V的直流电压,并通过数码管显示,显示小数点后两位

实现过程为:

通过ADC0809采集模拟电压信号,将信号传入89C52单片机处理后送到数码管显示。其中0-5V的电压对应模拟量为0-255.

仿真图如下:

仿真电压表显示是2.80V,数码管对应显示2.80V

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

实物制作图:

图中黑色数据线为电源线

黑红双线为所要测量电源的正负极,将正负极搭接在所要测量的电压源两端即可测量

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

下图是实物上电初始状态:显示0.00V

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

下面是测量一节干电池的效果图:显示1.52V

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

下图是测量两节干电池的实物图:显示3.07V

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

下面是部分代码:

//程序头函数
#include <reg52.h>

//宏定义
#define uint unsigned int 
#define uchar unsigned char
//P1口读取0809的数据
#define Data_ADC0809 P1

sbit buzz=P3^7;//蜂鸣器接口
uint dianya=300;//超过3v报警

//ADC0809相应的引脚
sbit ST=P3^2;
sbit EOC=P3^3;
sbit OE=P3^1;

sbit DIAN = P0^5;        		//小数点
//定义全局变量
unsigned char dis[3];       //显示数值
unsigned int sum=0;
unsigned int temp=0;
unsigned int dat=0;
//共阴LED段码表

unsigned char code tab[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0x5e/*字母U*/};	//gc.debfa

//函数功能:AD转换子程序

//ADC0809读取信息
uchar ADC0809()
{
	uchar temp_=0x00;
	//初始化高阻太
	OE=0;
	//转化初始化
	ST=0;
	//开始转换
	ST=1;
	ST=0;
	//外部中断等待AD转换结束
	while(EOC==0)
	//读取转换的AD值
	OE=1;
	temp_=Data_ADC0809;
	OE=0;
	return temp_;
}

//延时子程序


void delay(unsigned int x)
{
    unsigned int i,j;
    for(i=0;i<x;i++)
	for(j=0;j<121;j++);
}


//数码管显示子程序
void display(void)
{  
    P0=~tab[dis[0]];      
    P2=0xfe;                  //11111110		W1
	DIAN=0;
    delay(1);    
    P2=0xff;

    P0=~tab[dis[1]];       
    P2=0xfb;                //11111011			W2
    delay(1);
    P2=0xff;

    P0=~tab[dis[2]];      
    P2=0xef;              //11101111 			W3
    delay(1);
    P2=0xff;
																			+
	P0=~tab[10];      
    P2=0xbf;              // 10111111			W4
    delay(1);
    P2=0xff;
}

//主程序

void main(void)
{
    
	unsigned char p=0;
	buzz=0;//蜂鸣器初始化关闭 
    while(1)       //主循环		  
    {
		for(p=0;p<20;p++) //采集20次电压取平均值
		{	
			sum=sum+ADC0809();
			display();
		}
		dat=sum/20; 
		convdata(dat);      //数据转换 
		sum=0;//进行一次数据转换完成后需要清零
		display();      //显示数值
    }
}

下面是百度网盘资料下载链接

http://链接:https://pan.baidu.com/s/1-9aYlZi2DVN10cGmrywHNA?pwd=6y7y 提取码:6y7y文章来源地址https://www.toymoban.com/news/detail-476669.html

到了这里,关于基于单片机的数字电压表设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 51单片机_电压采集器&电压表

    实物演示效果: https://www.bilibili.com/video/BV1My4y1F7xY/?vd_source=6ff7cd03af95cd504b60511ef9373a1d         利用51单片机作为主控芯片,3段式电压采集。模拟量经A/D(ADC0809)模数转换芯片,把模拟量转换为数字量输入到单片机的P0口,再由单片机控制LCD1602液晶显示模拟量输入的电压值。

    2024年01月19日
    浏览(46)
  • 单片机——C51实验含Proteus仿真(AD转换器(数字电压表),DA转换器(波形发生器))

    分为两部分:AD转换器实现数字电压表,DA转换器实现波形发生器(在仿真部分详细说明) 所用到的原理图:  AD转换器实现数字电压表部分         需要打开main函数中LCD_init(),ADC(),display()三个注释其中电压的输出显示用到了LCD1602关于这部分详情见(96条消息) 单片机——

    2024年02月08日
    浏览(41)
  • 基于STM32的简易数字电压表仿真设计

    本设计 基于STM32的数字电压表仿真设计(仿真+程序+设计报告+讲解) 仿真图proteus 8.9 程序编译器:keil 5 编程语言:C语言 设计编号:C0080 结合实际情况,基于STM32F103单片机设计一个数字电压表仿真设计。该设计应满足的功能要求为: 1、以STM32单片机为控制核心设计数字电压表

    2024年02月07日
    浏览(31)
  • 基于51单片机的电压采集(ADC0804)

    1.ADC0804简介 工作电压:+5V,即VCC=+5V。 模拟转换电压范围:0~+5V,即0≤Vin≤+5V。 分辨率:8位,即分辨率为1/(2^8)=1/256,转换值介于0~255之间。 转换时间:100us(fCK=640KHz时)。 转换误差:±1LSB。 参考电压:2.5V,即Vref/2=2.5V。 Vin(+)、Vin(-):两个模拟信号输入端,可以接

    2023年04月08日
    浏览(30)
  • 基于51单片机的电压采集(ADC0809)

    1.ADC0809简介 IN0~IN7 : 8路模拟量输入端; D0~D7:8位数字量输出端; ADDA、ADDC、ADDC:3位地址输入线,用于选择8路模拟通道中的一路; ALE:地址锁存允许信号,输入,高电平有效; START:A/D转换启动信号,输入,高电平有效; EOC:A/D转换结束信号,输出。当启动转换时,高引脚为低电

    2023年04月18日
    浏览(32)
  • 122、仿真-基于51单片机的电量监测电压电流和温度报警系统设计(Proteus仿真+程序+流程图+配套资料等)

    方案选择 单片机的选择 方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节的闪存程序存储器,也就是说代码量可以写到128k字

    2024年02月16日
    浏览(35)
  • 基于51单片机的数字时钟设计

    目录 一、总体概述 1、计时控制方案 2、主控制器模块 3、显示电路模块 4、调试按键模块 5、电源模块 6、闹钟声光报警模块 二、系统总体结构 1.电路图 三、系统的硬件设计与实现 1、电源电路 2、显示电路 3、单片机基本电路 4、按键电路 四、功能测试及结果分析 五、程序附

    2024年02月07日
    浏览(32)
  • 【基于51单片机的数字钟】

    掌握单片机 C 语言判断语句、分支语句以及子程序调用等编程知识 此程序调试时间方式为先暂停再调时,故有调秒的功能。 (1) 实现正确稳定地显示小时(两位数)、分钟(两位数)、秒钟(两位数),同时数 码管应无闪烁问题 (2) 通过按键分别实现时、分、秒信息的调整,方便用户

    2024年02月11日
    浏览(38)
  • 基于单片机的数字温度计

    ** 单片机设计介绍   51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,

    2024年02月03日
    浏览(32)
  • 基于51单片机的数字电子钟

    目录 摘  要 1.课程设计任务 1.1课程设计题目 1.2设计的要求  2.设计总体方案 2.1初步设计方案 2.2芯片的选型 2.2.1时钟芯片的选择 2.2.2温度传感器的选择 2.2.3显示电路的选择 2.2.4输入按键的选择 2.2.5控制电路芯片的选择 2.3总体方案 3.单元模块设计 3.1显示模块 3.2按键模块 3.3蜂

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包