![單片機(jī)電壓采集與顯示_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/6/0c761b4c-842d-4068-b16b-8cda7a3c9d4f/0c761b4c-842d-4068-b16b-8cda7a3c9d4f1.gif)
![單片機(jī)電壓采集與顯示_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/6/0c761b4c-842d-4068-b16b-8cda7a3c9d4f/0c761b4c-842d-4068-b16b-8cda7a3c9d4f2.gif)
![單片機(jī)電壓采集與顯示_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/6/0c761b4c-842d-4068-b16b-8cda7a3c9d4f/0c761b4c-842d-4068-b16b-8cda7a3c9d4f3.gif)
![單片機(jī)電壓采集與顯示_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/6/0c761b4c-842d-4068-b16b-8cda7a3c9d4f/0c761b4c-842d-4068-b16b-8cda7a3c9d4f4.gif)
![單片機(jī)電壓采集與顯示_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/6/0c761b4c-842d-4068-b16b-8cda7a3c9d4f/0c761b4c-842d-4068-b16b-8cda7a3c9d4f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)電壓采集與顯示目錄 摘要引言一 課程設(shè)計(jì)題目及任務(wù)要求1.1 課程設(shè)計(jì)主要任務(wù)1.2 課程設(shè)計(jì)的要求二 電路設(shè)計(jì)方案及原理說明2.0課程設(shè)計(jì)的方案2.1 ADC0809f數(shù)轉(zhuǎn)換芯片2.2 AT89C5WL片機(jī)2.3 4 個(gè)共陽 7段數(shù)碼管顯示器2.4 系統(tǒng)整體工作原理2.4.1 硬件原理2.4.2 軟件原理分析三 設(shè)計(jì)總體框圖3.1 硬件總體框圖3.2 主程序流程圖3.3 待測信號源單元電路3.4 AT89C5WL片機(jī)3.5 單片機(jī)控制單元3.5.1 外部時(shí)鐘電路3.5.2 復(fù)位電路3.5.3 數(shù)碼管顯示模塊 四 實(shí)驗(yàn)仿真五 總結(jié)及設(shè)計(jì)心得六 致謝七 參考文獻(xiàn)摘要 本設(shè)計(jì)待測的輸入電壓為
2、 8 路 電壓范圍為 0 5V 使用目前廣泛使用 的AT89C51來做控制系統(tǒng)用ADC0809來進(jìn)行模擬電壓的采集及模數(shù)轉(zhuǎn)換實(shí)現(xiàn)采集 8 路數(shù)據(jù) 并將結(jié)果在四位一體數(shù)碼管上進(jìn)行顯示。該系統(tǒng)主要包括幾大 模塊數(shù)據(jù)采集模塊、AD轉(zhuǎn)換模塊、控制模塊、顯示模塊。顯示部分由 LED數(shù)碼顯示器構(gòu)成。 該數(shù)字電壓表具有電路簡單成本低等優(yōu)點(diǎn) 可以方便地進(jìn)8 路 A D轉(zhuǎn)換量的測量。關(guān)鍵詞電壓采集、ADC0809 A/D轉(zhuǎn)換、單片機(jī)89C51、數(shù)碼管顯示引言隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和普及數(shù)據(jù)采集系統(tǒng)在多個(gè)領(lǐng)域有著廣泛的應(yīng)用。數(shù)據(jù)采集是工、農(nóng)業(yè)控制系統(tǒng)中至關(guān)重要的一環(huán)在醫(yī)藥、化工、食品、等領(lǐng)域的生產(chǎn)過程中 往往需
3、要隨時(shí)檢測各生產(chǎn)環(huán)節(jié)的溫度、 濕度、 流量及電壓等參數(shù)。 同時(shí) 還要對某一檢測點(diǎn)任意參數(shù)能夠進(jìn)行隨機(jī)查尋將其在某一時(shí)間段內(nèi)檢測得到的數(shù)據(jù)經(jīng)過轉(zhuǎn)換提取出來 以便進(jìn)行比較做出決策調(diào)整控制方案提高產(chǎn)品的合格率產(chǎn)生良好的經(jīng)濟(jì)效益。隨著工、農(nóng)業(yè)的發(fā)展 多路數(shù)據(jù)采集勢必將得到越來越多的應(yīng)用 為適應(yīng)這一趨勢 作這方面的研究就顯得十分重要。 在科學(xué)研究中 運(yùn)用數(shù)據(jù)采集系統(tǒng)可獲得大量的動態(tài)信息也是獲取科學(xué)數(shù)據(jù)和生成知識的重要手段之一??傊?不論在哪個(gè)應(yīng)用領(lǐng)域中數(shù)據(jù)采集與處理將直接影響工作效率和所取得的經(jīng)濟(jì)效益。采集系統(tǒng)從嚴(yán)格的意義上來說應(yīng)該是用計(jì)算機(jī)控制的多路數(shù)據(jù)自動檢測或巡回檢測 并且能夠?qū)?shù)據(jù)實(shí)行存儲、 處
4、理、 分析計(jì)算以及從檢測的數(shù)據(jù)中提取可用的信息 供顯示、記錄、打印或描繪的系統(tǒng)。電壓測量成為廣大電子領(lǐng)域中必須掌握的過程并且對測量的精度和采集功能的要求也越來越高 而電壓的測量與顯示系統(tǒng)甚為重要。 在課程設(shè)計(jì)中對一路電壓采集系統(tǒng)與顯示系統(tǒng)作了基本的研究。 電壓采集與通信控制采用了模塊化的設(shè)計(jì) 并用單片機(jī)8051 來實(shí)現(xiàn) 硬件部分是以單片機(jī)為核心 還包括模-數(shù)轉(zhuǎn)換模塊 顯示模塊 和串行接口部分還有一些簡單的外圍電路。 1 路被測電壓通過通用ADC0809*g-數(shù)轉(zhuǎn)換實(shí)現(xiàn)對采集到的電壓進(jìn)行模擬量到數(shù)字量的轉(zhuǎn)換由單片機(jī)對數(shù)據(jù)進(jìn)行處理用數(shù)碼管顯示模塊來顯示所采集的結(jié)果 由相關(guān)控制器完成數(shù)據(jù)接收和顯示
5、匯編程序編寫了更加明了化數(shù)據(jù)顯示界面。 本系統(tǒng)主要包括四大模塊數(shù)據(jù)采集模塊、控制模塊、顯示模塊、 A/D 轉(zhuǎn)換模塊。繪制電路在軟件原理圖與工作流程圖 并進(jìn)行調(diào)試最終設(shè)計(jì)完成了該系統(tǒng)的硬件電路。編程上 采用了匯編語言進(jìn)行編程開發(fā)環(huán)境使用相關(guān)集成開發(fā)環(huán)境。 開發(fā)了顯 示模塊程序、 A/D 轉(zhuǎn)換程序。一、設(shè)計(jì)任務(wù)與要求1.1 課程設(shè)計(jì)主要任務(wù)A通過設(shè)計(jì)是學(xué)生掌握利用 ADC0809及其適當(dāng)?shù)耐鈬娐穼?shí)現(xiàn)直流電壓的采集以及利用LED顯示功能的方法。B、進(jìn)一步掌握ADC0809的功能特點(diǎn)、工作原理和正確使用方法。C、進(jìn)一步了解外圍器件接口的基本原理與使用技術(shù)。1.2課程設(shè)計(jì)的要求A、利J用ADC0809
6、及其適當(dāng)?shù)耐鈬娐穼?shí)現(xiàn)直流電壓的采集。B、采集2果在LED數(shù)碼管上顯示出來數(shù)據(jù)范圍為 0 5vC繪制硬件連接圖編寫相應(yīng)的控制程序。D、撰寫設(shè)計(jì)報(bào)告、調(diào)試報(bào)告、設(shè)計(jì)心得。二、電路設(shè)計(jì)方案及原理說明 依據(jù)綜合課程設(shè)計(jì)的要求利用ADC0809設(shè)計(jì)一個(gè)單通道模擬電壓采集顯示電路 要求對所接通道變化的模擬電壓值進(jìn)行采集采集來的數(shù)字量送至數(shù)碼管指示出來通過相關(guān)轉(zhuǎn)換在數(shù)碼管上精確顯示出來。 本課程設(shè)計(jì)相當(dāng)于測直流電壓的大小 通過對電壓值的采集與處理而由所學(xué)微控制器的知識可知 可以利用單片機(jī)的模數(shù)轉(zhuǎn)換來實(shí)現(xiàn)這一設(shè)計(jì)進(jìn)一步把相應(yīng)的電壓值精確顯示出來。模數(shù)轉(zhuǎn)換就是利用單片機(jī)控制模數(shù)轉(zhuǎn)換芯片 A/D ,讓它對外部的
7、一個(gè)模擬信號進(jìn)行采樣、 量化、 編碼然后轉(zhuǎn)化為一個(gè)離散的數(shù)字量提供給控制器作進(jìn)步處理。對于常用的A/D轉(zhuǎn)換芯片有ADC0809 ADC0808等。它們都是8位的模數(shù)轉(zhuǎn)換芯片 就是把模擬量轉(zhuǎn)換為一個(gè)8 位的二進(jìn)制數(shù)。 利用單片機(jī)AT89C51與ADC080破計(jì)一個(gè)電壓采集系統(tǒng)將模擬信號 實(shí)際設(shè)計(jì)時(shí)采用0 5 V 之間的直流電壓值轉(zhuǎn)換成數(shù)字量信號 0 FF以數(shù)碼管顯示。Proteus軟件啟動仿 真當(dāng)前輸入電壓為 25 0V 轉(zhuǎn)換成數(shù)字值為 7FH 用鼠標(biāo)指針調(diào)節(jié)電位器尺,可改變輸入模 數(shù)轉(zhuǎn)換器ADC0809的電壓 并通過虛擬電壓表觀察 ADC0809模擬量 輸入信號的電壓值LED數(shù)碼管實(shí)時(shí)顯示相應(yīng)
8、的數(shù)值量。此次電壓表總體的方案就是用單片機(jī)的 I/O 口輸出信號來控制 A/D 啟動轉(zhuǎn)換 將送入的模擬量轉(zhuǎn)換為一個(gè)8 位數(shù)字量然后再通過I/O 口送回單片機(jī)內(nèi)部進(jìn)行處理單片機(jī)進(jìn)行一系列的運(yùn)算和校準(zhǔn)后 通過數(shù)碼管將電壓值顯示出來。而在方案的實(shí)現(xiàn)上由兩部分組成 硬件部分和軟件部分。 硬件即電子元器件的選擇且將它們連接成一個(gè)可行的硬件系統(tǒng)軟件是硬件系統(tǒng)功能化的重要組成部分。硬件的設(shè)計(jì)可以在 Proteus上進(jìn)行 軟件可以用Proteus自帶的匯編工具然后在Proteus將硬軟件相結(jié)合進(jìn)行仿真再根據(jù)結(jié)果不斷對硬件進(jìn)行改進(jìn)對軟件進(jìn)行調(diào)試 實(shí)現(xiàn)電壓的采集與顯示功能。2.1 ADC0809模數(shù)轉(zhuǎn)換芯片1.A
9、DC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式 A/D轉(zhuǎn)換器 可以和單片機(jī)直接接口。1ADC0809的內(nèi)部邏輯結(jié)構(gòu)由下圖可知ADC0809由一個(gè)8路模擬開關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成。 多路開關(guān)可選通8 個(gè)模擬通道允許 8 路模擬量分時(shí)輸入 共用 A/D 轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D 轉(zhuǎn)換完的數(shù)字量 當(dāng)OE端為高電平時(shí)才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。2ADC0809引腳結(jié)構(gòu)ADC0809各腳功能如下D7-D08 位數(shù)字量輸出引腳。IN0-IN7 8位模擬量輸入引腳。VCC +5
10、V 工作電壓。GND 地。REF +參考電壓正端。REF -參考電壓負(fù)端。START A/D 轉(zhuǎn)換啟動信號輸入端。ALE 地址鎖存允許信號輸入端。以上兩種信號用于啟動A/D 轉(zhuǎn)換 .EOC 轉(zhuǎn)換結(jié)束信號輸出引腳 開始轉(zhuǎn)換時(shí)為低電平 當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平。OE 輸出允許控制端用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK 時(shí)鐘信號輸入端一般為 500KHz 。A、 B、 C 地址輸入線。ADC0809對輸入模擬量要求信號單極性電壓范圍是0 5V若信號太小 必須進(jìn)行放大輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變?nèi)缛裟M量變化太快則需在輸入前增加采樣保持電路。地址輸入和控制線4 條ALE為地址鎖存允許輸入線高電平有效
11、。當(dāng)ALE線為高電平時(shí)地址鎖存與譯碼器將 A B C 三條地址線的地址信號進(jìn)行鎖存 經(jīng)譯碼后被選中的通道 的模擬量進(jìn)入轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A B和C為地址輸入線 用于選通IN0 IN7上的一 路模擬量輸入。通道選擇表如下表所示。 CB A選擇的通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7數(shù)字量輸出及控制線11條ST為轉(zhuǎn)換啟動信號。當(dāng)ST上跳沿時(shí) 所有內(nèi)部寄存器清零下跳沿時(shí)開始進(jìn)行A/D轉(zhuǎn)換在轉(zhuǎn)換期間ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當(dāng)EOC為高電平時(shí) 表明轉(zhuǎn)換結(jié)束 否則 表明正在進(jìn)行A/D
12、轉(zhuǎn)換。OE為輸出允許信號 用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE 1 輸出轉(zhuǎn)換得到 的數(shù)據(jù) OE 0 輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0為數(shù)字量輸出線。CLK為時(shí)鐘輸入信號線。因ADC0809的內(nèi)部沒有時(shí)鐘電路所需時(shí)鐘信號必須由外界提供通常使用頻率為 500KHZVREFVREF 為參考電壓輸入。2 ADC0809應(yīng)用說明1 ADC0809內(nèi)部帶有輸出鎖存器可以與AT89S51單片機(jī)直接相連。2 初始化時(shí)使ST和OE信號全為低電平。3 送要轉(zhuǎn)換的哪一通道的地址到 A B C 端口上。4 在ST端給出一個(gè)至少有100ns寬的正脈沖信號。5 是否轉(zhuǎn)換完畢我們根據(jù)EOC信號來判斷。6 當(dāng)
13、EOC變?yōu)楦唠娖綍r(shí) 這時(shí)給OE為高電平 轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)了。2.2 AT89C5WL片機(jī)ADC0809與8051單片機(jī)的硬件接口有3種形式 分別是查詢方式、中斷方式和延時(shí)等待方式 本題中選用中斷接口方式。由于ADC0809無片內(nèi)時(shí)鐘 時(shí)鐘信號可由單片機(jī)的 ALE信號經(jīng)D觸發(fā)器二分頻后獲得。該題目中單片機(jī)時(shí)鐘頻率采用12MHz,則ALE輸出的頻率是2MHz 四分頻后為500KHz符合ADC0809對頻率的要求。由于ADC0809內(nèi)部設(shè)有地址鎖存器所以通道地址由P0 口的低3位直接與ADC0809的A、B、C相連。通道基本地址為 0000H 0007H。其對應(yīng)關(guān)系上 面已做介紹。控制信號
14、將P2.7作為片選信號 在啟動A/D轉(zhuǎn)換時(shí) 由單片機(jī)的寫信號和P2.7控制ADC的地址鎖存和啟動轉(zhuǎn)換。由于 ALE和START!在一起 因此ADC0809在鎖存通道地址的同時(shí)也啟動轉(zhuǎn)換。在讀取轉(zhuǎn)換結(jié)果時(shí)用單片機(jī)的P3.0產(chǎn)生正脈沖作為OE信號 用來打開三態(tài)輸出鎖存器。其接口電路如圖2-2 所示。當(dāng) 8051 通過對0000H 0007H 基本地址 中的某個(gè)口地址進(jìn)行一次寫操作 即可啟動相應(yīng)通道的A D轉(zhuǎn)換 當(dāng)轉(zhuǎn)換結(jié)束后,ADC0809的EOC®向8051發(fā)出中斷申請信號8051 通過對 0000H0007H 中的某個(gè)口地址進(jìn)行一次讀操作 即可得到轉(zhuǎn)換結(jié)果。2.3 4個(gè)共陽7段數(shù)碼管顯
15、示器共陽極7段LED數(shù)碼管和共陰極LED數(shù)碼管結(jié)構(gòu)類似其引腳配置 如圖所示。從圖中可以看出7段LED數(shù)碼管同樣由8個(gè)發(fā)光二極管組成其中7個(gè)發(fā)光二極管構(gòu)成字形“8”另一個(gè)發(fā)光二極管構(gòu)成小數(shù)點(diǎn)。共陽極7段LED數(shù)碼管的內(nèi)部結(jié)構(gòu)如圖所示。其中所有發(fā)光二極管的陽極為公共端接+5v電壓。如果發(fā)光二極管的陰極為低電平的時(shí)候 發(fā)光二極管導(dǎo)通 該字段發(fā)光反之 如果發(fā)光二極管的陰極為高電平的時(shí)候 發(fā)光二極管截止 該字段不發(fā)光。圖 2-2 ADC0809與 AT89C51 的接口電路共陽極7段LED弓唧配置共陽極7段LED結(jié)構(gòu)圖2.4 系統(tǒng)整體工作原理1 硬件設(shè)計(jì)1 系統(tǒng)構(gòu)成該系統(tǒng)主要包括幾大模塊數(shù)據(jù)采集模塊、
16、A D 轉(zhuǎn)換模塊、控制模塊、顯示模塊、按鍵模塊等。采用AT89C51作為控制模塊ADC0809#為A D轉(zhuǎn)換模塊的核心ADC0809本身具有8路模擬量輸入端口通過C、B、A3位地址輸入端能從8路中選擇一路進(jìn)行轉(zhuǎn)換。 如每隔一段時(shí)間依次輪流改變3 位地址輸入端的地址就能依次對8路輸入電壓進(jìn)行測量。LED數(shù)碼管的顯示采用軟件譯碼動態(tài)顯示通過按鍵模塊的操作可以選擇8 路循環(huán)顯示也可以選擇某條單路顯示。2 數(shù)據(jù)采集電路數(shù)據(jù)采集電路是系統(tǒng)的主要組成部分ADC0809具有8路模擬量輸入通道IN0IN7 通過3位地址輸入端C、B、A(引月卻2325)進(jìn)行選擇。引腳22為地址鎖存控制端ALE當(dāng)輸入為高電平時(shí)C
17、、B、A引腳輸入的地址鎖存于 ADC0809內(nèi)部鎖存器中 經(jīng)內(nèi)部譯碼電路譯碼選中相應(yīng)的模擬通道。引腳 6 為啟動轉(zhuǎn)換控制端START當(dāng)輸入一個(gè)2 US寬的高電平脈沖時(shí) 就啟動ADC0809開始對輸入通道的模擬量進(jìn)行轉(zhuǎn)換。引腳7為A D轉(zhuǎn)換器 當(dāng)開始轉(zhuǎn)換時(shí)EOC信號為低電平 經(jīng)過一段時(shí)間換結(jié)束 轉(zhuǎn)換結(jié)束信號EOC輸出高電平 轉(zhuǎn)換結(jié)果存放干ADC0809內(nèi)部的輸出 數(shù)據(jù)寄存器中。引腳 9 腳為 A D 轉(zhuǎn)換數(shù)據(jù)輸出允許控制端OE 當(dāng) 0E 為高電平時(shí)存放于輸出數(shù)據(jù)鎖存器中的數(shù)據(jù)通過 ADC0809的數(shù)據(jù)線DO D7輸出。引腳10為ADC0809的時(shí)鐘信號輸人端 CLOCK在連接時(shí) ADC0809的
18、數(shù)據(jù)線 D0 D7與AT89C51 的 P1 口相連接 ADC0809的地址弓唧、地址鎖存端 ALE啟動信號START數(shù)據(jù)輸出允 許控制端OE分別與AT89C51的P3 口相連接 轉(zhuǎn)換結(jié)束信號 EOCt AT89C52的P3 1 相連接。2 軟件設(shè)計(jì)1 主程序主程序包含初始化部分調(diào)用 A D 轉(zhuǎn)換子程序和調(diào)用顯示子程序。 2數(shù)據(jù)處理子程序ADC0809轉(zhuǎn)換之后輸出的結(jié)果是8位二進(jìn)制數(shù)。由公式(1)可知 當(dāng)ADC0809輸 出為(1l1l11111)時(shí) 輸入電壓值V =5 00V當(dāng)ADC0809t出為(00000000時(shí) 輸入電壓值為0.0O0V 當(dāng)ADC0809輸出為(10000000)時(shí) 輸
19、入電壓值 V =250V。由于單片機(jī)進(jìn)行數(shù)學(xué)運(yùn)算時(shí)結(jié)果只取整數(shù)部分 因此當(dāng)輸出為(10000000)時(shí)計(jì)算出的電壓值 V =2 OOV 很不準(zhǔn)確。為了提高精確度必須把小數(shù)部分保留 具體運(yùn)算方式如公式(2)。個(gè)位 Dout*196/10000 十分位 (Dout*196/1000)%10 百分位 (Dout*196/100)%10 千分位Dout*196/10%10 由此得到較為精確的數(shù)值。 對上面的硬件部分 按照軟件流程框圖進(jìn)行軟件設(shè)計(jì)。 用 C 語言進(jìn)行程序的編寫。(下面的是C語言程序最后面幾頁還有匯編程序及其算法說明 可自己選擇 )#include<reg51.h&g
20、t;#include<intrins.h>#define uchar unsigned charsbit P2_0=P2A0;sbit P2_1=P2A1;/定義數(shù)碼管位碼端口sbit P2_2=P2A2;sbit P2_3=P2A3;sbit OE=P3A0;/定義 ADC0808端口sbit EOC=P3A1;sbit ST=P3A2;sbit P3_4=P3A4;sbit P3_5=P3A5;sbit P3_6=P3A6;uchar code table1=0x40,0x79,0x24,0x30,0x19,0x12;附小數(shù)點(diǎn)的 05 六個(gè)uchar codet
21、ab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/ft陽極 09十個(gè)段碼 / 段碼uchar volt_data;void init();uchar i;/*/ 延時(shí)子程序/*void delay(uchar z)uchar x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/*/ 將 AD 轉(zhuǎn)換輸出的數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的/ 電壓值并且顯示出來/*void convert(uchar volt_data)P0=table1volt_data*196/10000; /AD 轉(zhuǎn)換的個(gè)位的電壓值
22、P2_0=1;delay(2);P2_0=0;P0=tabvolt_data*196/1000%10;P2_1=1;/ 顯示小數(shù)點(diǎn)的后的第一位delay(2);P2_1=0;P0=tabvolt_data*196/100%10;P2_2=1;/ 顯示小數(shù)點(diǎn)的后的第二位delay(2);P2_2=0;P0=tabvolt_data*196/10%10;P2_3=1;/ 顯示小數(shù)點(diǎn)的后的第二位delay(2);P2_3=0;void main()uchar volt_data;init();/ 初始化子程序while(1)if(i=5)i=0;ST=0;_nop_();ST=1;_nop_();S
23、T=0;/ 啟動 AD 轉(zhuǎn)換if(EOC=0) / 等待轉(zhuǎn)換結(jié)束delay(2);while(EOC=0);OE=1;/ 允許輸出volt_data=P1;convert(volt_data); / 調(diào)用數(shù)據(jù)處理子程序delay(2); / 暫存轉(zhuǎn)換結(jié)果/ 關(guān)閉輸出OE=0;void time0_int(void) interrupt 1TH0=(65536-1000)/256;TL0=(65536-1000)%256;i+;void init()P3_4=1;/ 選擇通道 3P3_5=1;P3_6=0;TMOD=0x01;TH0=(65536-1000)/256;TL0=(65536-100
24、0)%256;EA=1;ET0=1;i=0;TR0=1;三、設(shè)計(jì)框圖 31 硬件總體框圖該系統(tǒng)硬件總體框圖由四個(gè)模塊組成 如下圖 3 所示。在芯片的選擇中 一般的 A/D 芯片具有多路轉(zhuǎn)換通道本課程設(shè)計(jì)中我們只做一路通道該通道采集電壓 對采集的電壓值進(jìn)行采集、 處理并顯示我們還可以通過改變A/D 芯片的參考電壓來改變其量程達(dá)到對電壓值的多樣化顯示。 A/D 芯片將輸入的模擬電壓值轉(zhuǎn)換為一個(gè)8 位的二進(jìn)制數(shù)字再輸送到單片機(jī)控制單元 經(jīng)過處理顯示出相應(yīng)電壓值。3.2 主程序流程圖設(shè)計(jì)程序部分時(shí)主要應(yīng)包括主函數(shù)和和幾個(gè)功能子函數(shù)。主程序流程圖如下圖所示。直流電壓模數(shù)轉(zhuǎn)換模塊微器模塊數(shù)碼顯示模擬電壓數(shù)
25、字電壓程序控制 控制模塊3.3 待測信號源單元電路其電路圖如圖待測信號源就是直流電壓采集時(shí)所須測電壓值的信號源3-3-1 所示。該部分實(shí)際上是一個(gè)滑動變阻器均接在電源和地兩端 中間的滑線端提供兩路待測信號該部分提供給模數(shù)轉(zhuǎn)換的通道3。圖3-3-1待測信號源 3.4 AT89C51單片機(jī)如下圖所示3.5 單片機(jī)控制單元單片機(jī)控制單元是整個(gè)系統(tǒng)的核心中樞對外圍進(jìn)行控制 對數(shù)據(jù)進(jìn)行運(yùn)算處理是連接各部分的紐帶。它主要包括51 單片機(jī)芯片和其工作所必須的外圍電路如時(shí)鐘振蕩電路和復(fù)位電路等。3.6 1 外部時(shí)鐘電路主要是通過一個(gè)12MHZ 的時(shí)鐘晶振產(chǎn)生時(shí)鐘信號 以作為單片機(jī)工作的外部時(shí)鐘 其XTAL儕口
26、 XTAL6別接入到單片機(jī)上相對應(yīng)的弓唧。電路圖如圖3-5-1圖3-5-1外部時(shí)鐘電路(圖中晶振標(biāo)錯(cuò)了應(yīng)為12M,上圖中我就不改了 )外部時(shí)鐘的晶振頻率為12MHZ,則通過該電路提供給單片機(jī)的時(shí)鐘也為 12MHZ.3.7 2 復(fù)位電路當(dāng)對單片機(jī)的的 reset 引腳加超過兩個(gè)機(jī)器周期以上的高電平時(shí)可使單片機(jī)復(fù)位 即程序從頭開始執(zhí)行 。 設(shè)計(jì) 的復(fù)位電路如 圖 3-5-2 所示 ALER910kC310uF圖 3-5-2 復(fù)位電路3.53 數(shù)碼管顯示模塊選用了一片集成的共陰極數(shù)碼管每片是由 4 塊 8 段數(shù)碼管組成包括小數(shù)點(diǎn)位 。 這 4 塊 8 斷數(shù)碼管共用相同的數(shù)據(jù)輸入線 每塊有一根片選線
27、只有選中了該數(shù)碼管 它才會點(diǎn)亮并顯示。 而通過動態(tài)掃描原理可以使接在同一數(shù)據(jù)線的幾塊數(shù)碼管顯示不同的數(shù)。輸入 BCD 碼值 就可以在數(shù)碼管上顯示十進(jìn)制數(shù)字。其中有電壓表起校準(zhǔn)對比作用。四、實(shí)驗(yàn)仿真 在Proteus仿真軟件平臺上搭建硬件電路在keil uv2上編寫軟件并經(jīng)編譯連接生產(chǎn)可執(zhí)行的.hex文件把該文件添加到在Proteus平臺上搭建好的電路的單片機(jī)里。運(yùn)行進(jìn)行仿真調(diào)試。仿真時(shí) 數(shù)碼管有示數(shù)與標(biāo)準(zhǔn)電壓表的示數(shù)差不多 說明各模塊均在正常工作。例如在5V量程下標(biāo)準(zhǔn)電壓表的顯示值2.50V,而數(shù)碼管顯示2.406 標(biāo)準(zhǔn)電壓表顯示4.44V數(shù)碼管示值為4.4200數(shù)碼管顯示結(jié)果有誤差是由于AD
28、C0809輸出的二進(jìn)制碼數(shù)轉(zhuǎn)換為 BCD碼數(shù)的換算方法有一定誤差導(dǎo)致。仿真 結(jié)果如圖 4-1五、實(shí)驗(yàn)總結(jié)本設(shè)計(jì)是基于ADC0809設(shè)計(jì)的電壓檢測裝置。采用 AT89C51單片機(jī)進(jìn)行數(shù)據(jù)控制、 處理 結(jié)構(gòu)簡單元件較少成本較低軟件采用 c 語言實(shí)現(xiàn)程序簡單可讀寫性強(qiáng) 效率高。 能夠?qū)崿F(xiàn)八路待測電壓測量還能夠自由選擇要測量的通道與傳統(tǒng)的電路相比 具有方便操作、 處理速度快、 穩(wěn)定性高、 性價(jià)比高的優(yōu)點(diǎn)具有一定的使用價(jià)值。通過本次課程設(shè)計(jì)我對模數(shù)轉(zhuǎn)換芯片ADC0809有進(jìn)一步了解故我將此次設(shè)計(jì)的重點(diǎn)放在了功能的擴(kuò)展部分模塊的實(shí)現(xiàn)方法及顯示的改變上。 大三學(xué)期教學(xué)實(shí)驗(yàn)中 通過網(wǎng)上資料及課本信息 我會會了
29、簡單的編程和設(shè)計(jì)最重要的是排版效果 在這些過程中我獲益匪淺 加深了對模數(shù)轉(zhuǎn)換的了解 能對其功能進(jìn)行多元化的應(yīng)用 數(shù)碼管的顯示技術(shù)上我在以前所存靜態(tài)顯示的基礎(chǔ)上 又掌握了動態(tài)掃描方法 另一個(gè)收獲是在課程設(shè)計(jì)的過程中 我邊學(xué)邊用 C 語言 對簡單的C語言編程能夠獨(dú)立輕松的完成C語言在單片機(jī)的編程中靈活功能強(qiáng)大效率高 簡單明了 具有很多優(yōu)勢 學(xué)會它是此次課程設(shè)計(jì)的最大收獲。本次課程設(shè)計(jì)培養(yǎng)了我運(yùn)用互聯(lián)網(wǎng)查找資料和綜合應(yīng)用課本理論知識解決實(shí)際問題的能力。 啟發(fā)了我在今后的學(xué)習(xí)過程中不能懶懶散散 學(xué)的要懂不懂要把課本上的知識學(xué)精通 同時(shí)也要多學(xué)習(xí)課外知識來擴(kuò)張自己的知識面在計(jì)算和動手方面要更加的耐心加細(xì)
30、心才能把事情做得更好在生活和學(xué)習(xí)中要 和身邊的人團(tuán)結(jié)互助 能幫的就要盡力幫。由于能力有限 我的課程設(shè)計(jì)難免有一些誤差和錯(cuò)誤還望老師批評和指正致謝 本課程設(shè)計(jì)是在我的導(dǎo)師張斌張老師的親切關(guān)懷和悉心指導(dǎo)下完成的。 他嚴(yán)肅的科學(xué)態(tài)度 嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神精益求精的工作作風(fēng)深深地感染和激勵(lì)著我。 從課題的選擇到項(xiàng)目的最終完成 張老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。 雖然只有短短的一星期張老師去教會我們很多。在此謹(jǐn)向鄭老師致以誠摯的謝意和崇高的敬意。另外我還要感謝在一起愉快的度過這次課程設(shè)計(jì)的伙伴正是由于你們的幫助和支持我才能克服一個(gè)一個(gè)的困難和疑惑直至本文的順利完成。 特別感謝我的隊(duì)友他對本課題做了不少
31、工作 給予我不少的幫助。參考文獻(xiàn)1 .戴梅萼史嘉權(quán) 微型計(jì)算機(jī)技術(shù)及應(yīng)用 北京 清華大學(xué)出版社20032 .仇玉章32位微型計(jì)算機(jī)原理與接口技術(shù)北京 清華大學(xué)出版社20013 .鄭學(xué)堅(jiān)周斌 微型計(jì)算機(jī)原理及應(yīng)用 北京 清華大學(xué)出版社 19984 .李伯成候伯亭 微型計(jì)算機(jī)及應(yīng)用 西安 電子科技大學(xué)出版社 19985 .鄧元慶 賈鵬 數(shù)字電路與系統(tǒng)設(shè)計(jì)西安 電子科技大學(xué)出版社2003卜面是匯編程序其中的BCD的轉(zhuǎn)換算 法不同 不過后有解釋LED_0 EQU 30H;存放三個(gè)數(shù)碼管的段碼LED_1 EQU 31HLED_2 EQU 32HADC EQU 35H;存放AD轉(zhuǎn)換后的數(shù)據(jù)ST BITP3.2OE BITP3.0EOC BITP3.1ORG 0000HLJMP MAINORG 0030HMAIN: MOV LED_0,#00H;給顯示賦初值0MOV LED_1,#00HMOV LED_2,#00HSETB P3.4SETB P3.5CLR P3.6;選擇通道3WAIT: CLR STSETB STCLR ST ;啟動AD轉(zhuǎn)換JNB EOC,$ ;等待轉(zhuǎn)換結(jié)束SETB OE ;允許輸出MOV ADC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年第12課從明朝建立到清軍人關(guān)-勤徑學(xué)升高中歷史必修上同步練測(統(tǒng)編版2019)
- 園林養(yǎng)護(hù)人員雇傭合同范文2025年
- 2025年伙伴合同終止協(xié)議
- 2025年企業(yè)辦公用品綜合供需合同
- 2025年官方物流配送協(xié)議書高清
- 2025年企業(yè)設(shè)備抵押擔(dān)保貸款合同
- 2025年動物收養(yǎng)協(xié)議版式
- 2025年糧食供需雙方合同策劃大綱
- 2025年智能交通項(xiàng)目提案報(bào)告模式
- 2025年企業(yè)維修保養(yǎng)年合作協(xié)議
- 松下panasonic-視覺說明書pv200培訓(xùn)
- 單縣煙草專賣局QC課題多維度降低行政處罰文書出錯(cuò)率
- 毫針刺法(全)教學(xué)課件
- 金風(fēng)科技-風(fēng)電產(chǎn)業(yè)集團(tuán)-供應(yīng)商現(xiàn)場作業(yè)基礎(chǔ)安全考試附答案
- 人工智能機(jī)器人科學(xué)小報(bào)手抄報(bào)簡報(bào)
- 三年級下冊美術(shù)課件-第1課 燈彩輝映|浙美版 (共19張PPT)
- 硫酸銨廢水MVR蒸發(fā)結(jié)晶
- 原子物理學(xué)第五章-多電子原子:泡利原理
- 35kV輸電線路工程旋挖鉆孔專項(xiàng)施工方案
- 固定資產(chǎn)借用登記表
- 行業(yè)會計(jì)比較ppt課件(完整版)
評論
0/150
提交評論