0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

设计分享|基于51单片机的多量程数字电压表

罗婺彝人 来源:罗婺彝人 作者:罗婺彝人 2022-12-17 20:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

目录

具体实现功能

设计介绍

51单片机简介

资料内容

仿真实现(protues8.7)

程序(Keil5)

全部内容

具体实现功能

1、输入直流电压值,自动选择量程,处理后利用LCD1602进行显示。
2、仿真模拟实现直流电压的测量与显示,可进行四个量程的切换(2V、20V、200V、500V)。

pYYBAGOdtUuAVBlaAAEyoRI0fX0045.png

设计介绍

poYBAGOdtUuAR8nXAADioXJXF0A304.png

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

pYYBAGOdtUyATONjAAG1ksi-aaA864.png

资料内容

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

poYBAGOdtUyAEtoiAAFAHbllPbs390.png

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

主函数如下:

void main()
{
   float DATA,temp2;
   char temp1;
   LcdInit(); 	   //LCD初始化
   LCD_word(0x80,"voltage:");
   while(1)
   {
  	   P2=0xFF;
       temp1=P2;
	   temp1=temp1&0xf0;
	   switch(temp1)
	   {
	       case 0x80: {P2=P2&0xF8;A=0;break;}
	   	   case 0xc0: {P2=P2&0xF9;BB=0;break;}
	   	   case 0xE0: {P2=P2&0xFA;C=0;break;}
	   	   case 0xF0: {P2=P2&0xFB;D=0;break;}
	   }
     AD_START=0; 
	   AD_OE=0;
	   AD_START=1;
	   _nop_();
	   AD_START=0;
	    
	   while(!AD_EOC);
       AD_OE=1;
	   temp2=P1;
	   AD_OE=1;
	   DATA=temp2/255.0*5.0;
	   temp1=P2;
	   temp1=temp1&0x0f;
	   switch(temp1)
	   {
	   	  case 0x08:DATA=DATA*1;break;
		  case 0x09:DATA=DATA*10;break;
		  case 0x0A:DATA=DATA*100;break;
	   	  case 0x0B:DATA=DATA*1000;break;
	   }
       LCD_DATA(0x89,DATA);
	   LCD_word(0x80+15,"V");
  }
 }

程序运行结果如图:

pYYBAGOdtU2AW6f-AANO0eh2vyo147.png

全部内容

全部内容如下:

poYBAGOdtU2AbqD4AAFjo6k2L-c542.png

资料链接:https://docs.qq.com/doc/DT0ZleG9PZ0NhSWxU

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电压表
    +关注

    关注

    3

    文章

    324

    浏览量

    40991
  • 仿真
    +关注

    关注

    53

    文章

    4406

    浏览量

    137664
  • 51单片机
    +关注

    关注

    277

    文章

    5714

    浏览量

    132092
  • 数字电压表
    +关注

    关注

    4

    文章

    197

    浏览量

    34049
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    51单片机RS485编程实例资料

    详细介绍51单片机RS485通信接线和编程代码
    发表于 10-20 14:57 2次下载

    基于FPGA和LTC2308模数转换芯片的数字电压表设计

    通过FPGA对模数转换芯片(LTC2308)的采样控制,实现一个简易的数字电压表
    的头像 发表于 08-16 08:58 5111次阅读
    基于FPGA和LTC2308模数转换芯片的<b class='flag-5'>数字</b><b class='flag-5'>电压表</b>设计

    AT89C51 单片机中文资料

    电子发烧友网站提供《AT89C51 单片机中文资料.pdf》资料免费下载
    发表于 06-24 15:29 1次下载

    Analog Devices Inc. ADMX3652Z ±20V数字电压表数据手册

    Analog Devices ADMX3652Z ±20V数字电压表是一款6½位数字电压表 (DVM),具有1kSPS的快速吞吐量。Analog Devices ADMX3652Z具有
    的头像 发表于 06-11 11:47 649次阅读

    51单片机模块化编程设计与实例要点分析

    51单片机模块化开发教程
    发表于 02-24 16:40 4次下载

    数字电压表的主要指标_数字电压表由什么构成

     数字电压表的主要技术指标包括以下几个方面:   一、测量范围   测量范围指数字电压表可测量的电压区间。不同的
    的头像 发表于 01-28 14:19 1585次阅读

    数字电压表的使用方法

    数字电压表的使用方法通常包括以下几个步骤:   一、准备阶段   了解电压表:   在使用前,先了解数字电压表的基本功能、
    的头像 发表于 01-28 14:18 2832次阅读

    数字电压表概述_数字电压表的作用

    数字电压表(Digital Voltmeter,简称DVM)是一种采用数字化测量技术,将连续的模拟量转换成不连续、离散的数字形式并加以显示的电子仪器。以下是对
    的头像 发表于 01-28 14:14 2257次阅读

    数字电压表的工作特性_数字电压表工作原理

     数字电压表的工作特性主要体现在以下几个方面:   一、高精度   数字电压表采用数字化技术,其精度远高于模拟
    的头像 发表于 01-28 13:54 2131次阅读

    51单片机pwm和spwm

    51单片机pwm
    发表于 01-08 15:54 3次下载

    51单片机温度报警器

    电子发烧友网站提供《51单片机温度报警器.zip》资料免费下载
    发表于 12-30 14:16 4次下载

    ADC0809测对地(理论应为0V)的电压时,结果却显示为2.5V,是哪里出了问题?

    ADC0809参考电压-和+分别接的是0V和5V,结合STC90C51单片机做0-5V量程数字电压表
    发表于 12-26 07:51

    3456A数字电压表操作和维修手册

    电子发烧友网站提供《3456A数字电压表操作和维修手册.pdf》资料免费下载
    发表于 12-19 14:15 1次下载

    51单片机核心板原理图

    51单片机核心板原理图
    发表于 12-16 11:30 4次下载

    模数转换器SC1641替换AD7793应用于数字电压表(DVM)

    模数转换器SC1641替换AD7793应用于数字电压表(DVM)
    的头像 发表于 12-13 10:03 911次阅读
    模数转换器SC1641替换AD7793应用于<b class='flag-5'>数字</b><b class='flag-5'>电压表</b>(DVM)