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

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

物联沃分享整理
物联沃-IOTWORD物联网 » 基于单片机的数字电压表设计

发表评论