基于單片機的數字電壓表設計

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實踐的核心載體。本…