当前位置: 首页 > news >正文

基于单片机数码管20V电压表仿真设计

**单片机设计介绍,基于单片机数码管20V电压表仿真设计

文章目录

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

一 概要

  基于单片机数码管20V电压表仿真设计的主要目的是通过单片机和数码管显示电路实现一个能够测量0到20V直流电压的电压表。以下是该设计的概要:

一、设计概述

本设计采用单片机作为核心控制器,通过A/D转换电路将输入的模拟电压信号转换为数字信号,再由单片机处理并控制数码管显示电路显示出相应的电压值。设计的主要目标是实现精确的电压测量、清晰的数码管显示以及稳定的系统性能。

二、硬件设计

A/D转换电路设计:采用ADC0808或类似功能的A/D转换芯片,将输入的模拟电压信号转换为数字信号,以供单片机处理。
数码管显示电路设计:设计合适的数码管驱动电路,用于将单片机处理后的电压值以数字形式显示在数码管上。
电源电路设计:为整个系统提供稳定可靠的电源供应,确保各个模块的正常工作。
三、软件设计

数据采集与处理:通过单片机控制A/D转换芯片进行数据采集,并对采集到的数据进行处理,转换为实际的电压值。
数码管显示控制:根据处理后的电压值,通过单片机控制数码管显示电路,显示出相应的电压值。
超限报警控制(可选):在软件中预设报警值,当实际测量的电压值超过该值时,触发声光报警功能。
四、仿真设计

系统模型建立:根据实际需求,建立准确的系统模型,包括单片机的控制逻辑、A/D转换过程、数码管显示电路的工作方式等。
仿真环境搭建:选择合适的仿真软件,搭建仿真环境,对建立的系统模型进行仿真分析。
仿真结果分析:通过仿真分析,验证设计的正确性和可行性,找出可能存在的问题并进行优化。
五、总结与展望

本设计通过单片机和数码管显示电路实现了一个能够测量0到20V直流电压的电压表,具有结构简单、测量准确、显示清晰等优点。在实际应用中,可以根据具体需求进行扩展和优化,例如增加更多的功能、提高测量精度等。

需要注意的是,在设计和仿真过程中要充分考虑各种可能的影响因素,如电磁干扰、温度变化等,以确保系统的稳定性和可靠性。同时,还需要遵守相关的法律法规和安全标准,确保设计的安全性和合规性。

最后,通过本次设计,可以进一步加深对单片机、A/D转换、数码管显示等技术的理解和掌握,提高解决实际问题的能力。

二、功能设计

数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。因此AD转换是此次设计的核心元件。输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。

本次设计的作品要求制作数字电压表的量程为0到20v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为+5v。同时设计的精度为小数点后两位,满足要求的两位小数的精度,在不考虑AD芯片的量化误差的前提下,此次设计的精度能够满足一般测量的要求。

【关键词】AT89C51 ADC0809 4位数码管

设计思路

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

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

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

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

三、 软件设计

本系统原理图设计采用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

相关文章:

  • LeetCode-热题100:152. 乘积最大子数组
  • 自动驾驶中的传感器融合算法:卡尔曼滤波器和扩展卡尔曼滤波器
  • 无人机飞行知识
  • Vue的模块化开发初探
  • 十四款大型语言模型在《街头霸王III》中一决雌雄
  • Gradle系列(五)-常用的gradle命令
  • 牛顿:Archetype AI 的开创性模型,实时解读真实世界的新宠儿
  • 蓝桥杯 经验技巧篇
  • Http Download
  • UE4_动画基础_ 使用分层动画(Using Layered Animations)
  • 探索算力(云计算、人工智能、边缘计算等):数字时代的引擎
  • 【机器学习】一文掌握机器学习十大分类算法(下)。
  • 基于Spring Boot 3 + Spring Security6 + JWT + Redis实现登录、token身份认证
  • 无人机概述
  • 【Python】无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • avalon2.2的VM生成过程
  • Debian下无root权限使用Python访问Oracle
  • Git初体验
  • java8 Stream Pipelines 浅析
  • Java反射-动态类加载和重新加载
  • python 学习笔记 - Queue Pipes,进程间通讯
  • python大佬养成计划----difflib模块
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • vue-router 实现分析
  • 后端_ThinkPHP5
  • 机器学习 vs. 深度学习
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 微服务核心架构梳理
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • ionic异常记录
  • 阿里云重庆大学大数据训练营落地分享
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #FPGA(基础知识)
  • #在 README.md 中生成项目目录结构
  • (翻译)terry crowley: 写给程序员
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转) Android中ViewStub组件使用
  • (转)Scala的“=”符号简介
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .FileZilla的使用和主动模式被动模式介绍
  • .net 8 发布了,试下微软最近强推的MAUI
  • .net 发送邮件
  • .Net6 Api Swagger配置
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • /var/lib/dpkg/lock 锁定问题
  • @Autowired 与@Resource的区别