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

    文章

    297

    浏览量

    38447
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132154
  • 51单片机
    +关注

    关注

    269

    文章

    5649

    浏览量

    120698
  • 数字电压表
    +关注

    关注

    4

    文章

    180

    浏览量

    32768
  • 单片机
    +关注

    关注

    0

    文章

    168

    浏览量

    16658
收藏 人收藏

    评论

    相关推荐

    基于单片机AT89C51数字电压表仿真实现,原理图,论文,源码

    设计要求 1.以MCS-51系列单片机为核心器件,设计一个简单的直流数字电压表; 2.电压量程
    发表于 04-03 20:16

    数字电压表的固有误差由什么构成

    数字电压表的固有误差是指在一定条件下,由于仪器本身存在的不确定因素所导致的测量结果与待测量真值之间的偏差。数字电压表的固有误差主要由以下几个方面构成:
    的头像 发表于 01-16 15:35 374次阅读

    基于51单片机的比赛计分系统

    电子发烧友网站提供《基于51单片机的比赛计分系统.rar》资料免费下载
    发表于 01-12 10:26 3次下载

    基于51单片机的比赛计分设计

    电子发烧友网站提供《基于51单片机的比赛计分设计.rar》资料免费下载
    发表于 01-07 09:35 0次下载

    基于51单片机电压表设计

    电子发烧友网站提供《基于51单片机电压表设计.rar》资料免费下载
    发表于 01-07 09:25 1次下载

    基于MCS-51单片机为核心的数据采集系统

    本文介绍了一个以MCS-51单片机为核心的数据采集系统。通过ADC 0809的A/D转换实现数据采集,即将模拟量(如:温度)通过0809转换后送至89C51然后再进行处理,显示。该系统由单片机
    发表于 09-22 07:57

    电压表的符号是什么样的,电压表分几种类型

    用于测量交流电压。它通过固定在校准刻度上的指针显示读数。指针的偏转取决于作用在其上的扭矩。产生的扭矩的大小与测量电压成正比。   数字电压表   以
    发表于 09-01 16:43

    51单片机ADC0809数字电压表

    本资源内容概要: 这是基于51单片机的ADC0809数字电压表设计包含了C语言程序源代码(keil软件打开)。 本资源适合人群: 单片机爱好
    发表于 07-27 16:57 0次下载

    51单片机的ADC0832数字电压表设计

    本资源内容概要: 这是基于51单片机的ADC0832数字电压表设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单(excel
    发表于 07-24 14:37 1次下载

    如何使用8051单片机制作一个简单的0-5V电压表

    在本文中,使用8051单片机制作一个简单的0-5V电压表。该数字电压表的灵敏度为200mV,这有点低,但该项目旨在演示如何将ADC和七段显示器连接到8051
    的头像 发表于 07-07 11:29 1170次阅读
    如何使用8051<b class='flag-5'>单片机</b>制作一个简单的0-5V<b class='flag-5'>电压表</b>

    基于单片机数字电压表proteus仿真程序

    基于单片机数字电压表proteus仿真资料
    发表于 05-22 15:32 1次下载

    基于单片机的两路电压表Proteus仿真程序

    基于单片机的两路电压表Proteus仿真设计资料
    发表于 05-22 15:20 0次下载

    基于51单片机数字电压表Proteus仿真程序

    基于51单片机数字电压表Proteus仿真设计资料
    发表于 05-22 15:20 2次下载

    基于51单片机的自制电压表源代码

    基于51单片机的自制电压表例程源代码
    发表于 05-12 16:29 3次下载

    基于AT89C51单片机用ADC0832设计的两路电压表Proteus仿真及程序

    基于AT89C51单片机用ADC0832设计的两路电压表Proteus仿真及程序
    发表于 05-05 09:54 6次下载