【Proteus仿真】【51单片机】数字电压表设计

文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使用数码管、分压电路、ADC模块等。

系统运行后,数码管显示AD转换电压,范围0-50V。
主要功能如下:
1、0-50V电压测量
2、数码管显示
3、电压精度0.4V


二、软件设计

/*
作者:嗨小易(QQ:3443792007)
*/


//系统数据获取
void sys_data_get(void)
{
	u16 advalue=0;
	float vol;
	
	while(1)
	{
		//读取AD值
		advalue=pcf8591_read_adcvalue(0);
		//将AD值转换为检测的电压值0-5V
		vol=(float)advalue*5.0/255;
		//将检测电压换算为转换前电压值
		vol=vol*(9+1);
		sys_ctrl.vol=vol*100;//保留小数点后2位

		break;
	}
}

//系统数据显示
void sys_data_show(void)
{
	u8 buf[4];

	while(1)
	{
		//电压显示
		buf[0]=gsmg_code[sys_ctrl.vol/1000];
		if(buf[0]==gsmg_code[0])buf[0]=0x00;
		buf[1]=gsmg_code[sys_ctrl.vol%1000/100]|0x80;//加小数点
		buf[2]=gsmg_code[sys_ctrl.vol%1000%100/10];
		buf[3]=gsmg_code[sys_ctrl.vol%1000%100%10];
		smg_display(buf,1);

		break;
	}
}

//抢答器控制系统
void sys_demo(void)
{
	SMG_A_DP_PORT=0;
	
	while(1)
	{
		sys_data_get();//系统数据获取
		sys_data_show();//系统数据显示		
	}	
}



三、实验现象

B站演示视频:https://space.bilibili.com/444388619

【Proteus仿真】【51单片机】数字电压表设计_第1张图片
【Proteus仿真】【51单片机】数字电压表设计_第2张图片
【Proteus仿真】【51单片机】数字电压表设计_第3张图片


联系作者

B站演示视频:https://space.bilibili.com/444388619
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

你可能感兴趣的:(单片机,proteus,51单片机)