基于51单片机的电压表-数码管显示

一.硬件方案

本设计基于STC89C52单片机的一种电压测量电路,该电路采用ADC0832A/D转换芯片,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单, 可以测量0~9V的电压值,并在四位LED数码管上显示电压值。

二.设计功能

(1)ADC0832模数转换,0-9V电压测量;
(2)4位数码管显示测量电压值;
(3)10K可调电阻模拟电压测试;
(4)当提供电源电源为精准的5V电源时,精度为正负0.02V;

三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:
在这里插入图片描述

(2)Protues仿真图如下:
在这里插入图片描述

四.软件设计

主程序源码

/*****************主函数********************/
void main()
{static uchar i,j;uint temp;while(1){display();		  //数码管显示函数if(i % 3 == 0)	  //循环10次{	pingjun_zhi(p1);         //把数从小到大排序p1[j++] = ad0832read(1,0);	//循环255个周期读取一次0832,因CPU运行比较快,没必要每次循环都去读取,选择通过CH0输入		if(j >= 9){j = 0;temp = p1[3] ;    //取个中间值 temp = temp * 100 / 255 * 4.5 * 2;dis_smg[2]=smg_du[temp/100%10] & 0xdf;	//得到百位				dis_smg[1]=smg_du[temp/10%10];	//十位dis_smg[0]=smg_du[temp%10];	    //个位	ADC0832为8位ADC,数值为0~255,我们将其分开放入l_tmpdate数组中显示}}i++;}
}/************ 排序***************/
void pingjun_zhi(uint *p)
{static uint value;static uchar i,j;for(j=1;j<9;j++)		   //先对整个数组的9个值进行从小到大的排列for(i=0;i<9 - j;i++){if(p[i] > p[i+1]){value = p[i];p[i] = p[i+1];p[i+1] = value;		}	}
}

链接:https://pan.baidu.com/s/1C4gM1O25vXmcElER6dSEhw?pwd=ou47

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业网关设备:HiWoo Box网关

在数字化、智能化的工业浪潮中&#xff0c;工业网关以其卓越的性能和广泛的应用场景&#xff0c;成为了工业互联的核心驱动力。作为一款高效、稳定、智能的工业网关设备&#xff0c;HiWoo Box网关不仅实现了工业现场设备与网络的高效连接&#xff0c;更为企业提供了智能化的数据…

使用 Spring 事件监听机制实现跨模块调用

之前一个项目&#xff0c;有两个模块&#xff0c;A 模块需要依赖 B 模块&#xff0c;但现在 B 模块有地方需要调用 A 模块的方法&#xff0c;如果直接依赖&#xff0c;又会产生循环依赖问题。最终选择使用 spring 的事件监听来解决该问题。 思路就是&#xff0c;B 模块去发布事…

JAVA ---JAVA运算符详解

运算符:对操作数进行操作的符号 运算符分为:算术运算符 关系运算符 逻辑运算符 位运算符 移位运算符 条件运算符 1.算术运算符 基本四则运算符 增量运算符 自增自减运算符 1.1 基本四则运算符&#xff1a;加减乘除模( - * / %) int a 20; int b 10; System.out.println(a…

【linux】linux中免交互命令expect原理与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

智能客服新突破:大型模型训练助力提升客户服务体验

项目场景&#xff1a;训练大模型智能客服 智能客服新方法在金融服务领域的科技前沿应用 ** 一、 引言 随着科技的飞速发展&#xff0c;智能客服作为金融服务领域的一大创新点&#xff0c;正在逐渐改变传统的客户服务模式。特别是在自然语言处理&#xff08;NLP&#xff09;等…

【C++】多态:编程中的“一人千面”艺术

目录 一、多态的概念二、多态的定义及实现1.多态的构成条件2.虚函数的重写2.1 什么是虚函数&#xff1f;2.2 虚函数的重写是什么&#xff1f;2.3 虚函数重写的两个例外2.4 C11 override 和 final2.5 重载、覆盖(重写)、隐藏(重定义)的对比 三、抽象类3.1 概念3.2 接口继承和实现…

重学java 47.集合 ② 迭代器

金榜题名&#xff0c;前程似锦 —— 24.5.27 一、迭代器的介绍和使用 1.概述 Iterator接口 2.主要作用 遍历集合 3.获取 Collection中的方法&#xff1a; Iterator<E> iterator() 4.方法 boolean hasNext() —> 判断集合中有没有下一个元素 E.next() —> 获取下一个…

《QT实用小工具·六十六》基于QT开发的界面收缩栏

1、概述 源码放在文章末尾 该项目实现了一个界面收缩栏的效果&#xff0c;该收缩栏包含如下功能&#xff1a; 1、可以在收缩栏中添加若干个界面 2、鼠标点击收缩栏可以展开或收起界面 3、鼠标拖动收缩栏可以和其他界面互换位置 项目demo演示如下所示&#xff1a; 使用方式&…

iptables 规则参数

本文只是记录常用的命令行规则&#xff0c;如果想了解和学习 iptables&#xff0c;请移步《IPtables》 每一条匹配规则都可以使用 ! 进行取反。如 ! --dport 22 表示所有目标端口不为 22 的请求 下表为链和表的对应关系 ChainTablePREROUTINGraw表&#xff0c;mangle表&…

小甲零基础入门学习Python(全96集)

介绍 本课程旨在为学者提供关于Python 3.x版本的基础教学&#xff0c;确保学员能够熟练掌握其语法结构。通过整合讲师的实际工作经验&#xff0c;课程内容不仅覆盖了Python的应用技巧&#xff0c;还深入讨论了相关的数据结构知识。为了增强学习效果&#xff0c;我们精心准备了…

Unable to find a node that satisfies the following conditions [port xxxx]

Unable to find a node that satisfies the following conditions [port xxxx] 原因&#xff1a;当容器使用端口映射(docker run -p xxxx:xxxx或 compose模板中的 ports)之后 系统会在宿主机上创建一个port&#xff0c;通过NAT来访问容器的指定port。如果宿主机上的端口被容器或…

版本控制(Version Control)(GIT )

版本控制系统的基本概念 版本库&#xff08;Repository&#xff09;&#xff1a;存储项目版本的本地或远程存储库。工作副本&#xff08;Working Copy&#xff09;&#xff1a;可编辑的项目本地副本。文件&#xff08;File&#xff09;&#xff1a;项目中的单个文件。版本&…

jenkins 用户权限(Manage-Roles)

本次需求将DEV环境和SIT环境分开,SIT用户登录上来只能看他的SIT项目和视图 安装roles插件 进入 manage role 项目授权 用户 正则匹配你需要的项目 dev .*-dev*或者.*-dev$ sit .*-sit最后细分assign role 测试使用sit账号登录 ,视图和项目都是SIT账号的

爬虫视图展示之 Power BI

实现方式 读取数据的实现 selenium 库 requests 库 存储媒介 MysqlElasticSearch 图表展示 GrafanaPower BI 是什么&#xff1f; Power BI 简单且快速&#xff0c;能够从 Excel 电子表格或本地数据库创建快速见解。 同时 Power BI 也可进行丰富的建模和实时分析&#xff…

移动云:开发者手中的未来钥匙

《移动云&#xff1a;开发者手中的未来钥匙》 引言一、无缝集成&#xff0c;加速开发进程二、数据智能&#xff0c;洞悉用户心声三、安全合规&#xff0c;护航创新之旅四、成本优化&#xff0c;助力轻装前行总结 引言 在科技日新月异的今天&#xff0c;移动云已成为推动行业变革…

kube-apiserver内存占用过多 go tool pprof 入门

目录 环境问题排查1、kube-apiserver %CPU 146 正常&#xff0c;%MEM 高达70&#xff0c;&#xff0c;load average 400&#xff0c;出现kswapd0进程。2、k describe node 看到 SystemOOM3、是否大量连接导致&#xff1f;4、通过prom查看指标5、访问K8s API6、pprof 火焰图 解决…

云服务器购买之后到部署项目的流程

1.通过账号密码登录百度智能云控制台; 2.进入对应的服务器‘云服务器BBC’ 找到’实例‘即找到对应的服务器列表; 此时通过本地电脑 1.cmd命令提示符 PING 服务器公网地址不通&#xff1b; 2.通过本地电脑进行远程桌面连接不通 原因&#xff1a;没有关联安全组&#xff0c;或者…

持续总结中!2024年面试必问 20 道 Redis面试题(十)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 20 道 Redis面试题&#xff08;九&#xff09;-CSDN博客 十九、Pipeline有什么好处&#xff0c;为什么要用pipeline Pipeline&#xff08;管道&#xff09;是 Redis 提供的一种功能&#xff0c;它允许客户端将多…

Linux的nload/nettraf命令实时网卡流量监测

对于linux的网卡上下行流量监测方法有很多 例如nload 现成的nload命令 现成的有 nload 安装 yum -y install nload 查看所有网卡实时网速 sudo nload -m 按enter/上下翻页键即可切换网卡 查看指定网卡实时网速 sudo nload eth0 -m 基于nettraf编译的rpm包 当然也可以你…

MySQL:如果用left join的话,左边的表一定是驱动表吗

一、前言 在日常开发过程中关于MySQL的优化方面&#xff0c;我们知道小表驱动大表原理。例如left join&#xff0c;放在左边的表作为驱动表。但是用left join的话&#xff0c;左边的表一定是驱动表吗&#xff0c;本文将通过案例分析给出详细分析。 二、概念 在MySQL中&#xf…