2 系统原理及基本框图

如图2.1所示,模拟电压经过档位切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/D转换,然后送到单片机中进行数据处理。处理后的数据送到LCD中显示,同时通过串行通讯与上位机通信。
在这里插入图片描述

                                       图2.1系统基本方框图

3硬件设计

3.1 输入电路在这里插入图片描述

图3.1.1量程切换开关 图3.1.2衰减输入电路
输入电路的作用是把不同量程的被测的电压规范到A/D转换器所要求的电压值。智能化数字电压表所采用的单片双积分型ADC芯片ICL7135,它要求输入电压0-±2V。本仪表设计是0-1000V电压,灵敏度高所以可以不加前置放大器,只需衰减器,如图3.1.2所示9M、900K、90K、和10K电阻构成1/10、1/100、1/1000的衰减器。衰减输入电路可由开关来选择不同的衰减率,从而切换档位。为了能让CPU自动识别档位,还要有图3.1.1的硬件连接。
3、基准电压反积分(DE);4、积分回零(ZI)。具体内部转换过程这里不做祥细介绍,主要介绍引脚的使用。
①R/H(25脚)当R/H=“1”(该端悬空时为“1”)时,7135处于连续转换状态,每40002个时钟周期完成一次A/D转换。若R/H由“1”变“0”,则7135在完成本次A/D转换后进入保持状态,此时输出为最后一次转换结果,不受输入电压变化的影响。因此利用R/H端的功能可以使数据有保持功能。若把R/H端用作启动功能时,只要在该端输入一个正脉冲(宽度≥300ns),转换器就从AZ阶段开始进行A/D转换。注意:第一次转换周期中的AZ阶段时间为9001-10001个时钟脉冲,这是由于启动脉冲和内部计数器状态不同步造成的。
②/ST(26脚)每次A/D转换周期结束后,ST端都输出5个负脉冲,其输出时间对应在每个周期开始时的5个位选信号正脉冲的中间,ST负脉冲宽度等于1/2时钟周期。
第一个ST负脉冲在上次转换周期结束后101个时钟周期产生。因为每个选信号(D5–D1)的正脉冲宽度为200个时钟周期(只有AZ和DE阶段开始时的第一个D5的脉冲宽度为201个CLK 周期),所以ST负脉冲之间相隔也是200个时钟周期。需要注意的是,若上一周期为保持状态(R/H=“0”)则ST无脉冲信号输出。ST信号主要用来控制将转换结果向外部锁存器、UARTs或微处理器进行传送。在这里插入图片描述

4 系统的软件设计

4.1主程序设计
ICL7135A/D与单片机连接电路的软件设计系统的程序流程图如图所示。主程序一开始运行则设置堆栈起始地址为70H,设置中断寄存器,用来对ICL7135的中断进行计数,每5次后清零,完成一次数据采集工作,然后设置ICL7135的STB端的中断的优先级。紧接着LCDM1601B进行一次清屏,使其各个指令、数据寄存器的值进行清空,屏幕不显示任何字符。以前面对1601B的介绍,只要将01H送到数据总线,使RS=0,R/W=0,E有个下降沿的脉冲就可以完成清屏工作。用以下指令实现 MOV P2,#01H ;送到数据DB7—DB0,调用子程序 ENABLE,由于下降沿时,内部数据要送到RAM区,所以要有一个延时子程序,使这个下降沿持续2.5毫秒。内部RAM有指令代码后就开始对RAM进行清零,所以屏幕原有的字符将被清除。接着对1601进行功能的设定。MOV P2,#01111000B,按表3.4.5来看是设定显示器按2行显示,每行8位,5×7点阵。调用一次子程序ENABLE程序,写入CPU的指令寄存器中。每次向LCDM中写入一个指令,就调用一次ENABLE,然后再对显示器进行闪烁、光标等功能进行设定。显示器的RAM地址按加1方法进行读写。再设定第一行字符,也就是‘Voltage’的显示地址80H。字符‘Voltage’的TABLE表地址送到DPTR中,然后调用远程查表命令,依次把数据送到P2口,这时再调用子程序WRITE3,使LCD1601的RS=1,R/W=0使使能端E产生一个下降沿脉冲,将数据送入到数据寄存器中,接下来执行子程序DISPLAY1,它的主要功能是将TABLE表中的字符输出到LCD中去。调定好显示字符数即远程查表的次数,就开始查表了。在这里插入图片描述

例如第一个字符“V”的ASCII码是56H,就将这个码送到P2口,再调用使能数据子程序,使RS=1(数据区使能)写入显示数据区,R/W=0表示写,E=来个下降沿延时2.5毫秒,使数据写入RAM内。完成TABLE表输出以后,向指令RAM中写入第2行的起始地址为OCH,再调用显示采样数据的子程序。采样数据存放的数据地址安排如下图所示,首先将60H中的数显示在正负号的位置上,按照ASCII码表,正号不显示(#20H),负号显示“-”(#2DH)。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9e9a845734634c99b58e9f8b46211ec3.png)

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

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

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

相关文章

[NLP]UPF基本语法及其在 native low power verification中的典型流程

UPF基本语法及其在 native low power verification中的典型流程 摘要:本文首先简要介绍 UPF(Unified Power Format),然后解释其在 native low power verification(原生低功耗验证)中的典型流程。最后,我将使用50个具体例子来完整展示 UPF 的关键语法。这些例子基…

fish-speech 在50系列显卡使用 --compile加速兼容

#环境说明 GPU: NVIDIA GeForce RTX 5080 Laptop GPU (sm_120) win11家庭版 24H2 #问题汇总 baize.exceptions.HTTPException: (500, "RuntimeError: ptxas failed with error code 4294967295: \\n\\n") 问题汇总 1 baize.exceptions.HTTPException: (500, "…

UI自动化测试实战

Python接口自动化测试零基础入门到精通(2025最新版)一、设计背景 随着IT行业的发展,产品愈渐复杂,web端业务及流程更加繁琐,目前UI测试仅是针对单一页面,操作量大。为了满足多页面功能及流程的需求及节省工…

面试实战,问题六,被问数据库索引,怎么回答

Java开发面试:数据库索引的原理及常见问题解答 在Java开发面试中,数据库索引是核心知识点,涉及数据库优化和性能调优。索引通过高效的数据结构加速数据检索,降低磁盘IO成本,并支持排序操作。下面我将逐步解释索引的原理…

ARM-I2C硬实现

硬件I2C-GD32F4系列的实现初始化操作在初始化函数里执行以下代码uint32_t i2cx_scl_port_rcu RCU_GPIOB; uint32_t i2cx_scl_port GPIOB; uint32_t i2cx_scl_pin GPIO_PIN_6; uint32_t i2cx_scl_af GPIO_AF_4;uint32_t i2cx_sda_port_rcu RCU_GPIOB; uint32_t i2cx_sda_po…

WinUI3开发_过渡动画

简介 过渡动画是当发生事件时控件UI状态发生改变时以一种动画形式来演变到另外一种状态,而非瞬间改变,使用一种更加平滑的方式来进行切换,例如下图是文字切换的交叉栅栏效果:还有页面切换动画:在或者是图标动画&#x…

Linux下提权root权限

现在AI工具这么丰富,稍微搜一下就有一个差不多的总结输出。但是,可能还不够详细,或者给得太多~~~今天时间关系,今天只总结了在Linux如何提权到root,并没有写如何进行防护。后面有时间,我再总结一下。命令实…

焊接机器人节能先锋

汽车制造业中,机器人技术的应用已成为推动工业自动化和生产效率提升的重要力量。机器人在焊接、组装、涂装等关键制造环节中扮演着不可或缺的角色。随着工业生产规模的不断扩大,能源消耗和成本控制成为了企业必须面对的重大挑战。尤其是工业焊接用气的大…

MinIO:云原生对象存储的终极指南

MinIO 是什么? MinIO 是一款高性能、云原生的对象存储服务,具有以下优势: 轻量级部署:采用 Go 语言编写,资源占用低,支持快速部署 兼容性强:完全兼容 Amazon S3 API,轻松对接现有应用 高可用架构:支持分布式部署,确保数据持久性和服务可用性 高性能表现:专为云环境…

Spring AOP `MethodInvocation` 工作原理

⚙️ 一、通知到 MethodInterceptor 的转换机制 Spring AOP 通过适配器模式将开发者定义的注解型通知(如 Before)统一转换为 MethodInterceptor 接口实现,确保所有通知类型能接入同一调用链。以下是转换细节: 1. 适配器实现原理 核…

PPO原论文阅读

一、Introduction1.目前存在的问题:(deep)Q-learning:在一些简单问题上表现不佳,可理解性差基础的policy gradient算法:(如REINFORCE)鲁棒性差,需要大量数据TRPO:复杂,在包含噪音&am…

零基础也能创作专属歌曲:文心一言+蘑兔AI协同教程

在AI技术飞速发展的今天,音乐创作已不再是专业音乐人的专属领域。通过文心一言与蘑兔AI的协同使用,即使没有音乐基础,也能轻松完成从歌词创作到作曲编曲的全流程。本文将详细拆解操作步骤,助你快速上手,实现音乐创作梦…

图论:搜索问题

提到图论中的搜索问题,首先想到的也就是DFS和BFS了,而提到这两种搜索,那么最典型的题目就是岛屿问题了,下面就练习几道相关的题目,为之后的更深奥的图论学习打下基础! 孤岛的总面积 题目链接:…

AI驱动攻防升级,API安全走到关键档口

在数字化转型与AI技术快速发展的双重驱动下,API已成为企业业务与外部世界连接的神经中枢。然而,随着API的深度应用,针对API的攻击规模与复杂性也在持续升级。 API为何频频成为黑客重点盯防的突破口?企业常见的API防护手段是否还能…

网络基础DAY18-动态路由协议基础

动态路由协议基础知识回顾:1.什么是路由? 答:是三层设备转发IP报文的路径信息。 2.路由有哪些来源? 答:1.直连路由2.静态路由3.动态路由 3.有直连路由的条件? 答:1.二层和三层物理接口状态为UP …

axios统一封装规范管理

新建/api/ 1.新建统一处理文件/api/axios.ts import axios from "axios"const http axios.create({baseURL: import.meta.env.VITE_API_BASE_URL, // 从环境变量读取timeout: 10000, });// 请求拦截器(如添加 Token) http.interceptors.reque…

Java学习第七十四部分——Elasticsearch(ES)

目录 一、前言提要 二、核心特性 三、应用场景 四、主要优势 五、集成方式 六、基础操作 七、高级特性 八、概念类比——与关系型数据库 九、简单示例——实现存储与搜索 十、生态集成——基于Spring Data Elasticsearch 十一、性能优化建议 十二、总结归纳概述 一…

TDengine 转化函数 TO_UNIXTIMESTAMP 用户手册

TDengine TO_UNIXTIMESTAMP 函数用户使用手册 函数概述 TO_UNIXTIMESTAMP 是 TDengine 中的标量函数,用于将符合 ISO8601/RFC3339 标准的日期时间字符串转换为 Unix 时间戳。与 TO_TIMESTAMP 不同,该函数专门处理标准格式的时间字符串,无需指…

Java 中的排序算法详解

目录 一、冒泡排序(Bubble Sort) 原理​ 二、选择排序(Selection Sort) 原理​ 三、插入排序(Insertion Sort) 原理​ 四、快速排序(Quick Sort) 原理​ 五、归并排序&…

Gitee如何成为国内企业DevOps转型的首选平台?

Gitee如何成为国内企业DevOps转型的首选平台? 在数字化转型浪潮中,DevOps已成为提升企业研发效能的关键引擎。作为国内领先的代码托管与协作平台,Gitee凭借本土化优势与全流程支持能力,正成为越来越多企业DevOps实践的核心载体。本…