基于单片机和ICL7135多档位数字电压表设计

news2024/11/24 18:51:49

**单片机设计介绍,基于单片机和ICL7135多档位数字电压表设计

文章目录

  • 一 概要
  • 二、功能设计
    • 设计思路
  • 三、 软件设计
    • 原理图
  • 五、 程序
  • 六、 文章目录

一 概要

  基于单片机和ICL7135的多档位数字电压表设计是一个结合了硬件与软件技术的综合性项目。这种设计旨在实现一个能够精确测量多档位电压值的数字电压表,适用于实验室、工业现场等多种应用场景。以下是关于该设计的概要描述:

一、设计概述

该设计采用单片机作为核心控制器,结合ICL7135高精度A/D转换器,实现电压信号的采集、转换和显示。通过设计不同的档位,可以满足不同电压范围的测量需求。同时,通过优化硬件和软件设计,提高电压表的测量精度和稳定性。

二、硬件设计

单片机模块:选用合适的单片机作为核心控制器,负责整个系统的运行和控制。单片机需要具备足够的处理能力和稳定性,以满足电压表的测量需求。
ICL7135模块:利用ICL7135高精度A/D转换器,将模拟电压信号转换为数字信号。ICL7135具有高的测量精度和稳定性,能够满足多档位电压表的测量要求。
显示模块:采用数码管或液晶显示屏作为显示模块,用于显示测量得到的电压值。显示模块需要具备清晰、易读的特性,方便用户查看测量结果。
档位切换模块:设计档位切换电路,通过不同的电阻组合实现不同电压范围的测量。档位切换模块需要具备可靠的切换性能,确保不同档位之间的测量精度和稳定性。
三、软件设计

数据采集与处理:编写程序使单片机能够实时采集ICL7135转换后的数字信号,并进行必要的处理和分析。包括滤波、校准等算法,以提高测量精度和稳定性。
档位控制:根据用户需求,实现档位的切换和控制。当切换到不同档位时,程序需要调整ICL7135的参考电压和测量范围,以适应不同电压范围的测量需求。
显示控制:将处理后的电压值转换为可显示的格式,并控制显示模块进行显示。显示内容需要清晰明了,方便用户读取。
四、功能特点与扩展性

多档位测量:通过设计不同的档位,满足不同电压范围的测量需求。用户可以根据实际需要选择合适的档位进行测量。
高精度测量:利用ICL7135的高精度特性,实现电压值的精确测量。通过优化硬件和软件设计,进一步提高测量精度和稳定性。
易于扩展:该设计具有良好的扩展性,可以根据需求添加更多的功能或模块。例如,可以加入无线通信模块实现远程监控,或加入更多的传感器实现多通道电压测量等。
五、应用前景

基于单片机和ICL7135的多档位数字电压表设计具有较高的实用价值和应用前景。它可以广泛应用于实验室、工业现场、教学等多种场合,为电压测量提供精确、可靠的解决方案。同时,随着技术的不断发展,该设计还可以不断进行优化和改进,以满足更多应用场景的需求。

综上所述,基于单片机和ICL7135的多档位数字电压表设计是一个结合了硬件与软件技术的创新项目,具有广泛的应用前景和市场需求。

二、功能设计

文件夹内包含工程文件,可直接运行或者二次开发;

此设计可作为毕业设计和课程设计资料,包含原理图、程序代码(嵌入式类设计)、软件资料等等,非常完善;

设计思路

设计思路
文献研究法:搜集整理相关单片机系统相关研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体试用等方法,发现单片机系统的现状、存在问题和解决办法;

比较分析法:比较不同系统的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。

三、 软件设计

本系统原理图设计采用Altium Designer19,具体如图。在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次设计需求。

————————————————

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

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。
————————————————

原理图

在这里插入图片描述

五、 程序

本设计利用KEIL5软件实现程序设计,具体如图。作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。
在这里插入图片描述

————————————————

在这里插入图片描述

六、 文章目录

目 录

摘 要 I
Abstract II
引 言 1
1 控制系统设计 2
1.1 主控系统方案设计 2
1.2 传感器方案设计 3
1.3 系统工作原理 5
2 硬件设计 6
2.1 主电路 6
2.1.1 单片机的选择 6
2.2 驱动电路 8
2.2.1 比较器的介绍 8
2.3放大电路 8
2.4最小系统 11
3 软件设计 13
3.1编程语言的选择 13
4 系统调试 16
4.1 系统硬件调试 16
4.2 系统软件调试 16
结 论 17
参考文献 18
附录1 总体原理图设计 20
附录2 源程序清单 21
致 谢 25

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

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

相关文章

VLAN间路由

部署了VLAN的传统交换机不能实现不同VLAN间的二层报文转发,因此必须引入路由技术来实现不同VLAN间的通信。VLAN路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现; VLAN间通讯限制 每个VLAN都是一个独立的广播域&#xff…

DolphinScheduler on k8s 云原生部署实践

文章目录 前言利用Kubernetes技术云原生平台初始化迁移基于Argo CD添加GitOpsDolphinScheduler 在 k8s 上的服务自愈可观测性集成服务网格云原生工作流调度从HDFS升级到S3文件技术总结 前言 DolphinScheduler 的高效云原生部署模式,比原始部署模式节省了95%以上的人…

SpringBoot整合Activiti7——实战之出差流程(分支)

文章目录 代码实现部署流程启动流程查询任务填写出差审批单经理审批xml文件 出差流程:开始 - 填写出差表单 - 判断(出差天数大于等于5)- 副经理审批 - 否则总经理审批 - 完成 代码实现 部署流程 Testpublic void testDeployProcess() throws …

Vue2(完结):replace属性、编程式路由导航、缓存路由组件、两个新钩子、路由守卫、history与hash

一、router-link的replace属性 1、作用:控制路由跳转时操作浏览器历史记录的模式 2、浏览器的历史记录有两种写入方式:分别为push和replace,push是追加历史记录,replace是替换当前记录。路由跳转时候默认为push 3、如何开启repla…

golang语言系列:Web框架+路由 之 Echo

云原生学习路线导航页(持续更新中) 本文是golang语言系列文章,本篇主要对 Echo 框架 的基本使用方法 进行学习 1.Echo是什么 Go 有众多Web框架,Echo 是其中的一个,官网介绍Echo有高性能、可扩展性、极简的特点。使用E…

spark3.x新特性

Adaptive Query Execution自适应查询(SparkSQL) 由于缺乏或者不准确的数据统计信息(元数据)和对成本的错误估算(执行计划调度)导致生成的初始执行计划不理想 在Spark3.x版本提供Adaptive Query Execution自适应查询技术 通过在”…

[计算机效率] 文本编辑工具:Notepad++

3.12 文本编辑工具:Notepad Notepad是一款免费的文本编辑器,适用于Windows操作系统。它具有轻量级、高效、可定制性强等特点,并且支持多种语言。以下是关于Notepad的详细介绍: 功能特点: 多语言支持:Note…

JVM 组成

文章目录 概要JVM 是 Java程序的运行环境(java二进制字节码的运行环境)JVM 的主要组成部分运行流程:程序计数器堆元空间方法区常量池运行时常量池 概要 JVM 是 Java程序的运行环境(java二进制字节码的运行环境) 好处&…

DHCP工具分配IDRAC IP

环境: 使用windows 笔记本网线直连R440 IDRAC管理口; 服务器保持关机状态;主板有供电。 DHCP工具下载链接: https://www.dhcpserver.de/cms/download/ 以下为具体测试使用方法: 1.给自己的本地网卡配置一…

idea快速找到maven中冲突的依赖,解决依赖冲突

红色实线:冲突,红色虚线:依赖于同一个包的多版本 选择包,右键Excluede,排除 问题原因: 一个项目中需要jar包A和jar包B,而jar包A和jar包B都需要依赖jar包C,但A需要1.2.16版本的C,B需要1.2.17版本的C,这时候就可能会产…

debian的使用笔记

1. XP风格任务栏 安装 debian-live-12.5.0-amd64-xfce.iso 后,把下面的任务栏删除,把上面的任务栏移到下面,然后设置如下选项 2. 命令自动补全 sudo apt install bash-completion 3. 找不到命令 sudo apt install command-not-found sudo…

手写简易操作系统(二十一)--硬盘驱动

前情提要 上面一节我们实现了 malloc 和 free 的系统调用,这一节我们来实现硬盘驱动。 一、硬盘分区 我们的文件系统安装在一块全新的硬盘中,我们先创建它,然后在给他分区。 1.1、创建硬盘 首先是创建,这个之前我们已经干过一…

coooooode

1.局部变量在栈上初始化:.stack .const 2.未初始化的全局变量在.bss区 3.初始化的全局变量在.data和.const区

PyQt ui2py 使用PowerShell将ui文件转为py文件并且将导入模块PyQt或PySide转换为qtpy模块开箱即用

前言 由于需要使用不同的qt环境(PySide,PyQt)所以写了这个脚本,使用找到的随便一个uic命令去转换ui文件,然后将导入模块换成qtpy这个通用库(支持pyside2-6,pyqt5-6),老版本的是Qt.py(支持pysid…

顶顶通呼叫中心中间件-话术编辑器机器人转人工坐席配置(mod_cti基于FreeSWITCH)

顶顶通呼叫中心中间件-话术编辑器机器人转人工座席配置(mod_cti基于FreeSWITCH) 配置方法 一、ACD排队转接 二、伴随转接 比如你设置的通知规则是任意满足一个就通知那么通话时间设置为10 秒那样他只要通话时间到10秒他就会转坐席。 如果要转人工的时侯转手机可以这样配置 把…

JVM垃圾收集——相关概念

本贴讲解的内容包括System.gc()、内存溢出、内存泄漏、STW机制以及垃圾收集的串行、并行、并发三种情况,还有强引用、软引用、弱引用、虚引用四种引用。 1、System.gc()的理解 在默认情况下,通过System.gc()或者Runtime.getRuntime().gc()的调用&#…

深度学习500问——Chapter05: 卷积神经网络(CNN)(4)

文章目录 5.18 卷积神经网络凸显共性的方法 5.18.1 局部连接 5.18.2 权值共享 5.18.3 池化操作 5.19 全连接、局部连接、全卷积与局部卷积 5.20 局部卷积的应用 5.21 NetVLAD池化 参考文献 5.18 卷积神经网络凸显共性的方法 5.18.1 局部连接 我们首先了解一个概念&#xff0c…

牛客NC181 单词拆分(一)【中等 动态规划,前缀树 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/c0d32c1ce5744472a01b2351a2c2767f 思路 前缀树动态规划参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规…

Flutter Don‘t use ‘BuildContext‘s across async gaps.

Flutter提示Don‘t use ‘BuildContext‘s across async gaps.的解决办法—flutter里state的mounted属性

基于Pytorch+昇腾NPU部署baichuan2-7B大模型

一、模型介绍 Baichuan 2 是百川智能推出的新一代开源大语言模型,采用 2.6 万亿 Tokens 的高质量语料训练。Baichuan 2 在多个权威的中文、英文和多语言的通用、领域 benchmark 上取得同尺寸最佳的效果。 它基于 Transformer 结构,在大约1.2万亿 tokens…