基于51單片機的正負5V數字電壓表( proteus仿真+程序+設計報告+講解視頻)

基于51單片機的正負5V數字電壓表( proteus仿真+程序+設計報告+講解視頻)

仿真圖proteus7.8及以上

程序編譯器:keil 4/keil 5

編程語言:C語言

設計編號:S0101

1. 主要功能:

設計一個基于51單片機數字電壓表

1、能夠測量 -5V到+5V間的直流電壓。

2、通過數碼管顯示測量結果。

3、以51單片機為核心,可以通過proteus仿真驗證。

51單片機、數碼管、運放

需注意仿真中51單片機芯片是兼容的,AT89C51,AT89C52是51單片機的具體型號,內核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片可以替換為STC89C52/STC89C51/AT89C52/AT89C51等51單片機芯片。

img

以下為本設計資料展示圖:

2. 講解視頻:

講解視頻包含仿真運行講解和代碼講解

3. 仿真

打開仿真工程,雙擊proteus中的單片機,選擇hex文件路徑,然后開始仿真。開始仿真后數碼管顯示測量的電壓值。

調整滑動變阻器改變測量值。下圖是5V,0V和-5V測量

img

img

img

4. 程序代碼

使用keil4或者keil5編譯,代碼有注釋,可以結合視頻理解代碼含義。

#include "reg51.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
sbit smg1=P2^0;//數碼管
sbit smg2=P2^1;
sbit smg3=P2^2;
sbit smg4=P2^3;
//--定義使用的IO口--// P1數據口
sbit adc0808_clk  =P3^7;
sbit adc0808_start=P3^6;
sbit adc0808_eoc  =P3^5;
sbit adc0808_oe	  =P3^4;
//數碼管編碼
uchar code smgduan0[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//顯示0~9,無小數點
uchar code smgduan1[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//顯示0~9,有小數點
uchar time=0,mode=0;//系統變量
float volt=0;
uchar num=0,fu=0;void adc0808_init()//初始化
{adc0808_start=0;adc0808_oe=0;
}uchar adc0808_read()//讀取  
{uchar i;_nop_();adc0808_clk=!adc0808_clk;adc0808_start=1;//啟動轉換for(i=0;i<10;i++)//產生脈沖{_nop_();adc0808_clk=!adc0808_clk;}adc0808_start=0;while(!adc0808_eoc)//等待轉換結束{_nop_();adc0808_clk=!adc0808_clk;}adc0808_oe=1;//讀取_nop_();i=P1;adc0808_oe=0;return i;
}
void delay(uint i)//延時
{while(i--);
}void main()//主函數
{adc0808_init();TMOD|=0X01;TH0=0X3C;TL0=0XB0;	ET0=1;//打開定時器0中斷允許EA=1;//打開總中斷TR0=1;//打開定時器while(1){//顯示if(fu)P0=0x40;elseP0=0;smg2=0;delay(100);smg2=1; P0=smgduan1[num/10];smg3=0;delay(100);smg3=1; P0=smgduan0[num%10];smg4=0;delay(100);smg4=1; }
}
//定時器中斷
void Timer0() interrupt 1
{uint i=0;if(time<10)//0.5stime++;else{time=0;i=adc0808_read();//測量volt=i;volt=(volt-127.5)*5/128;//計算電壓volt=volt*5/4.9;}TH0=0X3C;TL0=0XB0;
}

img

5. 設計報告

5276字設計報告,內容包括硬件設計、軟件設計、軟硬件框圖、調試、結論等

img

隨著現代電子技術的持續進步與革新,數字電壓表在電子測量領域的應用范圍愈發廣泛,其重要性也日益凸顯。傳統的指針式電壓表,盡管在早期的電子測量中發揮了重要作用,但其固有的缺陷,如讀數誤差較大、精度相對較低以及讀數不夠直觀等問題,已經難以滿足當前高精度、高效率的測量需求。相比之下,數字電壓表以其讀數準確無誤、測量精度高、顯示結果直觀明了等顯著優勢,成為了電子測量領域的主流工具。

鑒于數字電壓表的諸多優點,我們計劃設計一款基于51單片機和ADC0808模數轉換器的數字電壓表。這款設計不僅具備重要的實際應用價值,能夠廣泛應用于各種需要精確測量電壓的場合,如電子實驗室、工業生產線等,而且對于學生而言,更是一次深入理解單片機應用技術和模數轉換原理的絕佳機會。通過親手設計并制作這款數字電壓表,學生將能夠親身體驗從理論到實踐的轉化過程,從而更加深入地掌握單片機的硬件電路設計、軟件編程以及模數轉換技術的核心要點。同時,這一過程也將極大地鍛煉學生的實踐能力、創新能力和解決問題的能力,為他們未來的學習和職業生涯奠定堅實的基礎。

6. 設計資料內容清單&&下載鏈接

資料設計資料包括仿真,程序代碼、講解視頻、功能要求、設計報告、軟硬件設計框圖等。

0、常見使用問題及解決方法–必讀!!!!

1、程序代碼注釋

2、proteus仿真

3、功能要求

4、軟硬件流程圖

5、開題報告

6、設計報告

7、原理圖

8、講解視頻

Altium Designer 安裝破解

KEIL+proteus 單片機仿真設計教程

KEIL安裝破解

Proteus元器件查找

Proteus安裝

Proteus簡易使用教程

單片機學習資料

相關數據手冊

答辯技巧

設計報告常用描述

鼠標雙擊打開查找嘉盛單片機51 STM32單片機課程畢業設計.url

img

資料下載鏈接(可點擊):

通過網盤分享的文件:KEY_S0101

鏈接: https://pan.baidu.com/s/1Ifsm-4HxnM3Y_E0HbJDZGg?pwd=983s

提取碼: 983s

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/75830.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/75830.shtml
英文地址,請注明出處:http://en.pswp.cn/web/75830.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

hive數倉要點總結

1.OLTP和OLAP區別 OLTP&#xff08;On-Line Transaction Processing&#xff09;即聯機事務處理&#xff0c;也稱為面向交易的處理過程&#xff0c;其基本特征是前臺接收的用戶數據可以立即傳送到計算中心進行處理&#xff0c;并在很短的時間內給出處理結果&#xff0c;是對用…

【實戰手冊】8000w數據遷移實踐:MySQL到MongoDB的完整解決方案

?? 本文將帶你深入解析大規模數據遷移的實踐方案,從架構設計到代碼實現,手把手教你解決數據遷移過程中的各種挑戰。 ??博主其他匠心之作,強推專欄: 小游戲開發【博主強推 匠心之作 拿來即用無門檻】文章目錄 一、場景引入1. 問題背景2. 場景分析為什么需要消息隊列?為…

運行小程序需要選擇什么配置的服務器

主要是看有多少人瀏覽&#xff0c;如果是每天有幾十個人瀏覽&#xff0c;通常2核或者4核就可以滿足需求&#xff0c;內存的話建議4g或者8g&#xff0c;足夠的內存可以使服務器同時處理多個請求&#xff0c;避免因內存不足導致的卡頓或程序崩潰。 硬盤存儲方面&#xff0c;50GB…

基于SpringBoo的地方美食分享網站

作者&#xff1a;計算機學姐 開發技術&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源碼”。 專欄推薦&#xff1a;前后端分離項目源碼、SpringBoot項目源碼、Vue項目源碼、SSM項目源碼、微信小程序源碼 精品專欄&#xff1a;…

Solidity私有函數和私有變量區別,私有變量可以被訪問嗎

web3面試題 私有函數和私有變量區別&#xff0c;私有變量可以被訪問嗎 ChatGPT said: 在 Web3 開發&#xff0c;尤其是使用 Solidity 編寫智能合約時&#xff0c;關于私有函數和私有變量的區別是常見的面試題。下面是詳細解析&#xff1a; ? 私有函數&#xff08;Private Fu…

mongodb 安裝配置

1.下載 官網下載地址&#xff1a;MongoDB Community Download | MongoDB 2.使用解壓包 解壓包安裝&#xff1a;https://pan.baidu.com/s/1Er56twK9UfxoExuCPlJjhg 提取碼: 26aj 3.配置環境&#xff1a; &#xff08;1&#xff09;mongodb安裝包位置&#xff1a; &#xf…

多模態大語言模型arxiv論文略讀(十九)

MLLMs-Augmented Visual-Language Representation Learning ?? 論文標題&#xff1a;MLLMs-Augmented Visual-Language Representation Learning ?? 論文作者&#xff1a;Yanqing Liu, Kai Wang, Wenqi Shao, Ping Luo, Yu Qiao, Mike Zheng Shou, Kaipeng Zhang, Yang Yo…

[LeetCode 45] 跳躍游戲2 (Ⅱ)

題面&#xff1a; LeetCode 45 跳躍游戲2 數據范圍&#xff1a; 1 ≤ n u m s . l e n g t h ≤ 1 0 4 1 \le nums.length \le 10^4 1≤nums.length≤104 0 ≤ n u m s [ i ] ≤ 1000 0 \le nums[i] \le 1000 0≤nums[i]≤1000 題目保證可以到達 n u m s [ n ? 1 ] nums[…

前端面試寶典---閉包

閉包介紹 使用閉包&#xff1a; 在函數內聲明一個變量&#xff0c;避免外部訪問在該函數內再聲明一個函數訪問上述變量&#xff08;閉包&#xff09;返回函數內部的函數使用完畢建議閉包函數null;譯放內存 function createCounter() {let count 0;return function () {coun…

GPT4O畫圖玩法案例,不降智,非dalle

網址如下&#xff1a; 玩法1&#xff1a;吉卜力&#xff08;最火爆&#xff09; 提示詞&#xff1a;請將附件圖片轉化為「吉卜力」風格&#xff0c;尺寸不變 玩法2&#xff1a;真人繪制 提示詞&#xff1a;創作一張圖片&#xff0c;比例4:3&#xff0c;一個20歲的中國女孩…

4.12~4.14【Q】cv homework6

我正在寫GAMES101作業6&#xff0c;在這段代碼中&#xff0c;我十分想知道inline Intersection Triangle::getIntersection(Ray ray) 是由哪個函數&#xff0c;哪段代碼調用的&#xff1f;什么是Inline&#xff1f;詳細解釋&#xff0c;越細節越好 我正在寫GAMES101作業6&…

MATLAB雙目標定

前言&#xff1a; 現在有許多雙目攝像頭在出廠時以及標定好&#xff0c;用戶拿到手后可以直接使用&#xff0c;但也有些雙目攝像頭在出廠時并沒有標定。因而這個時候就需要自己進行標定。本文主要介紹基于matlab工具箱的自動標定方式來對雙目相機進行標定。 1、MATLAB工具箱標…

visual studio 常用的快捷鍵(已經熟悉的就不記錄了)

以下是 Visual Studio 中最常用的快捷鍵分類整理&#xff0c;涵蓋代碼編輯、調試、導航等核心場景&#xff1a; 一、生成與編譯 ?生成解決方案 Ctrl Shift B 一鍵編譯整個解決方案&#xff0c;檢查編譯錯誤&#xff08;最核心的生成操作&#xff09;?編譯當前文件 Ctrl F…

Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.

今天寫項目的時候碰到一個報錯&#xff0c;在網上查找到了解決方法&#xff0c;這里備份一下。防止下次再次遇到 原文章鏈接&#xff1a;Sass import rules are deprecated and will be removed in Dart Sass 3.0.0. 報錯內容如下&#xff1a; Deprecation Warning: Sass i…

【QT】QWidget 概述與核心屬性(API)

&#x1f308; 個人主頁&#xff1a;Zfox_ &#x1f525; 系列專欄&#xff1a;Qt 目錄 一&#xff1a;&#x1f525; 控件概述 &#x1f98b; 控件體系的發展階段 二&#xff1a;&#x1f525; QWidget 核心屬性 &#x1f98b; 核心屬性概覽&#x1f98b; 用件可用&#xff08…

Redis 在處理并發請求時,如何保證高效性和數據一致性

1. 單線程模型&#xff08;核心命令處理&#xff09; 單線程優勢&#xff1a;Redis 的核心命令處理是單線程的&#xff08;基于內存操作&#xff0c;避免多線程競爭&#xff09;&#xff0c;所有命令按順序執行&#xff0c;天然避免了多線程的鎖競爭和上下文切換開銷。非阻塞 …

flutter-Text等組件出現雙層黃色下劃線的問題

文章目錄 1. 現象2. 原因3. 解決方法 1. 現象 這天我正在寫Flutter項目的頁面功能&#xff0c;突然發現我的 Text 文字出現了奇怪的樣式&#xff0c;具體如下&#xff1a; 文字下面出現了雙層黃色下劃線文字的空格變得很大&#xff0c;文字的間距也變得很大 我百思不得其解&a…

cursor+高德MCP:制作一份旅游攻略

高德開放平臺 | 高德地圖API (amap.com) 1.注冊成為開發者 2.進入控制臺選擇應用管理----->我的應用 3.新建應用 4.點擊添加Key 5.在高德開發平臺找到MCP的文檔 6.按照快速接入的步驟&#xff0c;進行操作 一定要按照最新版的cursor, 如果之前已經安裝舊的版本卸載掉重新安…

使用 IP 代理改 IP 后注意事項如何防封號

在使用一鍵換IP軟件輔助網絡營銷賬號切換時&#xff0c;需注意以下關鍵事項以確保賬號安全并降低封號風險。 一、IP有效性及質量驗證 確保更換的IP地址有效且質量高&#xff0c;低質量或失效的IP可能導致賬號存活時間縮短。優先選擇動態住宅IP&#xff08;如“兔子IP代理”提…

qt designer 創建窗體選擇哪種屏幕大小

1. 新建窗體時選擇QVGA還是VGA 下面這個圖展示了區別 這里我還是選擇默認&#xff0c;因為沒有特殊需求&#xff0c;只是在PC端使用