數字電壓表微控制器課程設計

2022-10-14 12:39:05 字數 4362 閱讀 5765

《微控制器技術及其應用》

課程設計報告

題目: 數字電壓表的設計

班級: 11通訊本2班

學號: 1011028432

姓名段苓苓

同組人員: 鐘夢為梅韶田趙赫宇周洋

指導教師: 劉少敏薛蓮

2023年06月26日

數字電壓表的設計

1 引言

1.1 設計意義

我們學習的是微控制器這門課程,這門課程最顯著的特點就是它是一門實用技術課程,它要求我們不僅僅要掌握紮實的理論基礎,更重要的是要學會如何去真真利用它為我們的電路設計服務,也只有通過課程設計這樣的動手實踐才是我們掌握這門技術的最佳途徑,因此,我們開設這樣的實踐是很重要的,也是我們努力去學習鑽研的動力。

數字電壓表是採用數位化檢測技術,把連續的模擬量(直流輸入電壓)換成不連續的、離散的數字形式並加以現實的儀表,克服了傳統模擬電壓表的讀書不方便和不精確等問題。不能滿足數位化時代的需求,採用微控制器的數字電壓表,由精度高、抗干擾能力強,可擴充套件性強整合方便,還可以與pc進行實時通訊。目前,由各種單片a/d轉換器構成的數字電壓表,已廣泛應用於電子電工測量、工業自動化儀表、自動測試系統等智慧型化測量領域,展現了強大的生命力。

與此同時,由數字電壓表擴充套件而成的各種通用及專用數位化儀器,也把電量及非電量測量技術提高到了嶄新的水平,因此,通過這次課程設計能讓我們了解這些知識,為以後研究相關技術打下堅實的基礎。

1.2 系統功能要求

採用51系列微控制器和adc設計乙個數字電壓表,測量0~5v範圍內的8路輸入電壓值,並在4位led數碼管上輪流顯示或單路選擇顯示,要求顯示兩位小數。

2 設計內容

2.1 設計思路

(1)根據設計要求,選擇at89c51微控制器為核心控制器件。

(2)a/d轉換採用adc0808實現,與微控制器的介面為p1口和p2口的高四位引腳。

(3)電壓顯示採用4位一體的led數碼管。

(4)led數碼的段碼輸入,由並行埠p0產生:位碼輸入,用並行埠p2低四位產生。

2.2 主要功能

(1)以mcs-51系列微控制器為核心器件,組成乙個簡單的直流數字電壓表

(2)1路模擬量輸入,能夠測量0-5v之間的直流電壓值。

(3)電壓顯示用4位一體的led數碼管顯示,至少能夠顯示兩位小數。

3 方案論證

3.1 程式設計

為了在c語言源程式中直接編寫中斷服務函式的需要,keilcx51編譯器對函式的定義進行了擴充套件,增加了乙個擴充套件關鍵字interrupt,它是函式定義是的乙個選項,加上這個選項即可以將乙個函式定義成中斷服務函式。定義中斷服務函式的一般形式為:

函式型別函式名(形式參數列) [interrupt n] [using n]

由於adc0809的clock的時鐘頻率不高於640khz,在這利用定時器t0的中斷產生時鐘頻率,則可設定為:

void t0(void) interrupt 1 using 0

adc0809的時序圖如下:

圖3-1 adc0808的時序圖

由時序圖可知,只有在轉換期間,eoc處於低電平,因此在ad轉換開始前eoc置為低電平,start在上公升沿期間將晶元內的所有暫存器清零,在下降沿來臨時開始轉換,由於所用的時鐘為100khz,比較的緩慢不需要再延時,在此等待轉換結束,結束後將其數字量輸出。

根據上述分析及原理,可設計程式流程圖如下:

圖3-2 程式流程圖

3.2 電路設計原理

模擬電壓經過檔位切換到不同的分壓電路篩減後,經隔離干擾送到a/d轉換器進行a/d轉換。然後送到微控制器中進行資料處理。處理後的資料送到led中顯示。

同時通過序列通訊與上位通訊。硬體電路及軟體程式。而硬體電路又大體可分為a/d轉換電路、led顯示電路,各部分電路的設計及原理將會在硬體電路設計部分詳細介紹;程式的設計使用組合語言程式設計,利用keil和proteus 軟體對其編譯和**。

一般i/o介面晶元的驅動能力是很有限的,在led顯示器介面電路中,輸出口所能提供的驅動電流一般是不夠的尤其是設計中需要用到多位led,此時就需要增加led驅動電路。驅動電路有多種,常用的是ttl或mos積體電路驅動器,在本設計中採用了74ls244驅動電路。

本實驗採用at89c51微控制器晶元配合adc0809模/數轉換晶元構成乙個簡易的數字電壓表,原理電路如圖1所示。該電路通過adc0809晶元取樣輸入口in0輸入的0~5 v的模擬量電壓,經過模/數轉換後,產生相應的數字量經過其輸出通道d0~d7傳送給at89c51晶元的p0口。at89c51負責把接收到的數字量經過資料處理,產生正確的7段數碼管的顯示段碼,並通過其p1口傳送給數碼管。

同時它還通過其三位i/o口p1.0、p1.1、p1.

2、p1.3產生位選訊號,控制數碼管的亮滅。另外,at89c51還控制著adc0809的工作。

其ale管腳為adc0809提供了1mhz工作的時鐘脈衝;p2.4控制adc0809的位址鎖存端(ale);p2.1控制adc0809的啟動端(start);p2.

3控制adc0809的輸出允許端(oe);p2.0控制adc0808的轉換結束訊號(eoc)。

3.3 軟體設計方案

系統剛上電時,初始化程式主要執行70h-77h記憶體單元清0和p2口置0等準備工作 。在剛上電時,系統預設為迴圈顯示8個通道的電壓值狀態。當進行一次測量後,將顯示每一通道的a/d轉換值,每個通道的資料顯示時間在1s左右。

主程式在呼叫顯示子程式與測試子程式之間迴圈。

圖3-3 a/d 轉換測試子程式流程圖

a/d轉換測量子程式用來控制對adc0809的8路模擬輸入電壓的a/d轉換,並將對應的數值移入70h~77h記憶體單元。

3.4 硬體設計方案

3.4.1 主控晶元

選用微控制器at89c52和a/d轉換晶元adc0809實現電壓的轉換和控制,用四位數碼管顯示出最後的轉換電壓結果。缺點是**稍貴;優點是轉換京都高,且轉換的過程和控制、顯示部分可以控制。

3.4.2 顯示部分

基於課程設計的要求和實驗室所能提供的儀器,選用乙個四聯的共陰極數碼管,外加四個三極體驅動。這個電路幾乎沒有缺點;優點是便於控制,**低廉,焊接簡單。

圖3-4 數字電壓表系統設計方框圖

4 單元電路設計

4.1 數碼管顯示器

數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。

數碼管動態顯示介面是微控制器中應用最為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極com增加位選通控制電路,位選通由各自獨立的i/o線控制,當微控制器輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決於微控制器對位選通com端電路的控制,所以我們只要將需要顯示的數碼管的選通控制開啟,該位就顯示出字形,沒有選通的數碼管就不會亮。。在輪流顯示過程中,每位數碼管的點亮時間為1~2ms,由於人的視覺暫留現象及發光二極體的餘輝效應,儘管實際上各位數碼管並非同時點亮,但只要掃瞄的速度足夠快,給人的印象就是一組穩定的顯示資料,不會有閃爍感,動態顯示的效果和靜態顯示是一樣的,能夠節省大量的i/o埠,而且功耗更低。

圖4-1 共陰極數碼管及其介面電路

4.2 微控制器的晶振電路

晶振是晶體振盪器的簡稱,在電氣上它可以等效成乙個電容和乙個電阻併聯再串聯乙個電容的二端網路,電工學上這個網路有兩個諧振點,以頻率的高低分其中較低的頻率是串聯諧振,較高的頻率是併聯諧振。由於晶體自身的特性致使這兩個頻率的距離相當的接近,在這個極窄的頻率範圍內,晶振等效為乙個電感,所以只要晶振的兩端併聯上合適的電容它就會組成併聯諧振電路。這個併聯諧振電路加到乙個負反饋電路中就可以構成正弦波振盪電路,由於晶振等效為電感的頻率範圍很窄,所以即使其他元件的引數變化很大,這個振盪器的頻率也不會有很大的變化。

晶振有乙個重要的引數,那就是負載電容值,選擇與負載電容值相等的併聯電容,就可以得到晶振標稱的諧振頻率。一般的晶振振盪電路都是在乙個反相放大器(注意是放大器不是反相器)的兩端接入晶振,再有兩個電容分別接到晶振的兩端,每個電容的另一端再接到地,這兩個電容串聯的容量值就應該等於負載電容,請注意一般ic的引腳都有等效輸入電容,這個不能忽略。 本設計採用12mhz晶振,併聯兩個30pf電容構成晶振電路。

圖4-2 微控制器晶振電路

4.3 顯示模組

該模組為數字電壓表的顯示模組,主要由4位7端共陽led數碼管和pnp三極體構成的選通電路構成。其中,我們需注意共陽數碼管的數字0-9的編碼,另外,每個位選管要與程式對應。位選是通過微控制器p3.

0-p3.3口控制三極體的基極從而控制每位數碼管的選通。

圖4-3 顯示模組電路

4.4 adc0808模數轉換晶元

圖4-4 adc0808的引腳

adc0808是取樣解析度為8位的、以逐次逼近原理進行模/數轉換的器件。其內部有乙個8通道多路開關,它可以根據位址碼鎖存解碼後的訊號,只選通8路模擬輸入訊號中的乙個進行a/d轉換。adc0808是adc0809的簡化版本,功能基本相同。

一般在硬體**時採用adc0808進行a/d轉換,實際使用時採用adc0809進行a/d轉換。

微控制器數字電壓表設計

唐山學院 微控制器課程設計 題目微控制器數字電壓表設計 系 部 班級姓名 學號指導教師 2012 年 12 月 24 日至 12 月 28 日共 1 周 微控制器原理及應用課程設計任務書 課程設計成績評定表 1引言 1 2 微控制器簡介 2 2.1 概述 2 2.2 發展歷史 2 2.3 基本結構 ...

微控制器數字電壓表實習報告

成都航空職業技術學院 微控制器技術 數字電壓表 課程設計 班級 組號 成員 學號 時間 2009年11月9 11月20日 前言隨著電子技術的迅速發展,特別是隨著大規模積體電路產生而出現的微型計算機,給人類生活帶來了根本的改變,如果說微型計算機的出現體現了現代科學研究得到了質的飛躍,那麼可以毫不誇張的...

微控制器課程設計

課程設計報告 題目微控制器控制步進電機 課程名稱微控制器原理及接 術 院部名稱 專業自動化 班級 m10自動化 學生姓名 學號課程設計地點 課程設計學時 指導教師高峰 金陵科技學院教務處制 注 根據課程設計大綱第四項具體要求撰寫課程設計報告 目錄1設計任務和要求 3 2設計思路 4 3系統硬體設計 ...