编号:43
基于51单片机的数字电压表(AD1674)
功能描述:
本设计由51单片机最小系统+AD1674模块+一路模拟量输入模块+液晶1602显示模块
1、主控制器是89C82单片机
2、AD1674模块模数转换器进行A/D转换,读取电压数据,电压检测范围0-10V 或0-12V可切换,精度(12位);
3、利用电位器模拟 模拟量输入
4、液晶1602显示电压值
Proteus7.8以上版本均可使用
视频演示链接:
仿真图:
程序源码:
#include "reg52.h"
#include "LCD1602.h"
#include "delay.h"
#include "AD1674.h"
void main(void)
{
unsigned int AD_Result = 0; //A/D转换结果
unsigned int Voltage0 = 0; //电压值 这个值是扩大了一百倍的 为了方便显示
Lcd1602_Init(); //LCD1602液晶初始化
Lcd1602_String(0,0," ");
Lcd1602_String(0,1," ");
while(1)
{
AD_Result = AD1674_Read(); //读取AD1674A/D转换结果数据
Voltage0 = (double)AD_Result * 1000/ 4095; //转换为电压值 10.00是对应0-10V范围
// Voltage0 = Voltage0 * 2;
Lcd1602_String(0,0,"V0:"); //显示电压
Lcd1602_Write_Data(Voltage0/1000+0x30);
Lcd1602_Write_Data(Voltage0%1000/100+0x30);
Lcd1602_Write_Data('.');
Lcd1602_Write_Data(Voltage0%1000%100/10+0x30);
Lcd1602_Write_Data(Voltage0%1000%100%10+0x30);
Lcd1602_Write_Data('V');
delay_ms(100);
}
}
软件免费下载地址:
1、Proteus仿真软件
文件内容:Proteus7.8安装包、Proteus8.6安装包、Proteus.8.10安装包、Proteus Professional 8.11 SP0安装包
链接:https://pan.baidu.com/s/11LNUZ9BJXWvXf1C4dPc3_w
提取码:2756
3、KEIL5 MDK软件(STM32开发软件)
链接:https://pan.baidu.com/s/1t3eY-3yRdTa7jZMlijq_jg
提取码:ab58
文件下载:
链接:https://pan.baidu.com/s/14YawRlhu023U45rT9N7Rag?pwd=iyzl
提取码:iyzl