AD數(shù)據(jù)采集卡設(shè)計_第1頁
AD數(shù)據(jù)采集卡設(shè)計_第2頁
AD數(shù)據(jù)采集卡設(shè)計_第3頁
AD數(shù)據(jù)采集卡設(shè)計_第4頁
AD數(shù)據(jù)采集卡設(shè)計_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、微機原理課程設(shè)計微機原理課程設(shè)計報告設(shè)計題目:A/D數(shù)據(jù)采集卡設(shè)計一. 課程設(shè)計目的通過課程設(shè)計,提高理論聯(lián)系實際的解決實際問題的能力;提高對接口技術(shù)等相關(guān)硬件知識的深入理解;掌握8255A的控制字的設(shè)置、工作方式、編程原理和微機接口方法。加深理解逐次逼近法模數(shù)轉(zhuǎn)換器的特征和工作原理,掌握ADC0809的接口方法以及A/D輸入程序的設(shè)計和調(diào)試方法。熟悉ADC0809模數(shù)轉(zhuǎn)換器的特性和接口方法,掌握A/D輸出程序的設(shè)計和調(diào)試方法,進而提高動手能力和學(xué)習(xí)興趣為順利進入畢業(yè)環(huán)節(jié)做必要的準(zhǔn)備。二. 課程設(shè)計內(nèi)容設(shè)計一塊A/D卡,該卡具有對05V的模擬電壓進行采集功能的能力,該卡通過系統(tǒng)的I/O擴展接口

2、與微機系統(tǒng)連接。選用芯片:ADC0809等。三. 設(shè)計要求畫出電路原理圖,說明工作原理,編寫利用該卡進行256個數(shù)據(jù)的采集并顯示在顯示器上的程序.四. 概要設(shè)計ADC0809是一種8路模擬輸入、8位數(shù)字輸出的逐次逼近法A/D器件,轉(zhuǎn)換時間約100us,轉(zhuǎn)換精度1/512到+1/512,適合于多路采集系統(tǒng)。ADC0809片內(nèi)有三態(tài)輸出的數(shù)據(jù)鎖存器,故可以與8088微機總線直接接口。ADC0809的CLK信號接系統(tǒng)的CLK輸入,基準(zhǔn)電壓Vref(+)接Vcc。一般實際應(yīng)用系統(tǒng)中應(yīng)該接精度+5v,以提高轉(zhuǎn)換精度,ADC0809片選信號0809CS和/IOW、/IOR經(jīng)邏輯組合后,去控制ADC0809

3、的ALE、START、ENABLE信號。ADC0809CS連譯碼輸出的00H-0FH。ADC0809的轉(zhuǎn)換結(jié)束信號EOC接IOR。本試驗以延時方式等待A/D轉(zhuǎn)換結(jié)束,ADC0809的通道號選擇線ADD-A 、ADD-B、ADD-C接系統(tǒng)數(shù)據(jù)線的低3位,因此ADC0809的8個通道值地址分別為00H、01H、02H、03H、04H、05H、06H、07H。調(diào)節(jié)電位器W1,以改變模擬電壓值,用ADC0809做A/D轉(zhuǎn)換,其模擬量與數(shù)字量對應(yīng)關(guān)系的典型值為+5VFFH、2.5V80H、0V00H。譯碼器:通過一片SN74AHC138N實現(xiàn)對ADC0809、8255A二片芯片的選擇,138的OE1接+

4、5v的Vcc。OE2A、OE2B接地,通過AD4、AD5、AD6實現(xiàn)對芯片0809、8255的選擇五. 實驗原理及程序流程圖1A/D轉(zhuǎn)換器的一般工作原理A/D轉(zhuǎn)換方法很多,最常用的有以下兩種:逐次逼近式A/D轉(zhuǎn)換器和雙積公式A/D轉(zhuǎn)換器。逐次逼近式A/D轉(zhuǎn)換器的主要原理為:將一個待轉(zhuǎn)換的模擬輸入信號VIN與一個“推測”信號V1相比較,根據(jù)推測信號是大于還是小于輸入信號來決定減小還是增大該推測信號,以便模擬輸入信號逼近。推測信號由D/A變換器的輸出獲得,當(dāng)推測信號與模擬輸入信號“相等”時,向D/A轉(zhuǎn)換器輸入的數(shù)字即為對應(yīng)的模擬輸入的數(shù)字。其“推測”的算法是這樣的,它使二進制計數(shù)器的二進制數(shù)的每一

5、位從最高位起依次置1。每接一位時,都要進行測試。若模擬輸入信號VIN小于推測信號V1,則比較器的輸出為零,并使該位置零;否則比較器的輸出為1,并使該位保持1。無論哪種情況,均應(yīng)繼續(xù)比較下一位,直到最末位為止。此時在D/A變換器的數(shù)字輸入即為對應(yīng)于模擬輸入信號的數(shù)字量,將此數(shù)字輸出,即完成其A/D轉(zhuǎn)換過程。雙積分式A/D轉(zhuǎn)換器先對未知的輸入電壓進行固定時間的積分,然后轉(zhuǎn)為對標(biāo)準(zhǔn)電壓進行反向積分,直至積分輸出返回到起始值。則對標(biāo)準(zhǔn)電壓進行積分的時間T正比于輸入模擬電壓。輸入電壓大,則反向積分時間長。用高頻率標(biāo)準(zhǔn)時鐘脈沖來測量這個時間,即可得到相應(yīng)于輸入模擬電壓的數(shù)字量。逐次逼近式A/D轉(zhuǎn)換器的轉(zhuǎn)換

6、速度較快,一般在幾微秒到上百微秒之間,但成本較高。雙積分A/D轉(zhuǎn)換器容易做到較高的分辨率(位數(shù)),抗擾性能好,對時間和溫度也有較好的穩(wěn)定性,缺點是轉(zhuǎn)換速度比逐次逼近式A/D轉(zhuǎn)換器要慢得多(尤其在位數(shù)較多的情況下)。2A/D轉(zhuǎn)換器的主要參數(shù)及其連接特性由A/D轉(zhuǎn)換器一般工作原理分析得知其轉(zhuǎn)換性能的主要參數(shù)有:(1)分辨率:指A/D轉(zhuǎn)換器可轉(zhuǎn)換成數(shù)字量的最小模擬電壓值,如果要再小于這個電壓值,則A/D轉(zhuǎn)換器就分辨不出來。(2)轉(zhuǎn)換時間:指從輸入啟動轉(zhuǎn)換信號開始到轉(zhuǎn)換結(jié)束,所得到穩(wěn)定的數(shù)字輸出量為止的時間。A/D轉(zhuǎn)換器的外部特性: A/D轉(zhuǎn)換芯片一般具有輸入/輸出信號線為:轉(zhuǎn)換啟動線,由系統(tǒng)控制器發(fā)

7、出的控制信號,表明A/D轉(zhuǎn)換立即開始;轉(zhuǎn)換結(jié)束線,轉(zhuǎn)換完畢后由ADC發(fā)出的狀態(tài)信號,表明轉(zhuǎn)換結(jié)束,用它申請中斷或DMA傳送,或作查詢信號之用;模擬信號輸入線,來自被轉(zhuǎn)換的對象,有單通道輸入與多通道輸入之分;數(shù)字量輸出線,由ADC送給CPU的數(shù)據(jù)線。3ADC0809芯片ADC0809是CMOS材料的8位單片A/D轉(zhuǎn)換器件。片內(nèi)有8路模擬開關(guān)、模擬開關(guān)的地址鎖存與譯碼電路、比較器、256R電阻T型網(wǎng)絡(luò)、樹狀電子開關(guān)、逐次逼近寄存器SAR、三態(tài)輸出鎖存緩沖器、控制與時序電路等。ADC0809通過引腳IN0、IN1、IN7可輸入8路單片模擬輸入電壓。ALE將三位地址線ADDA、ADDB、ADDC進行鎖

8、存,然后由譯碼器選通8路中的一路進行A/D轉(zhuǎn)換。三態(tài)輸出鎖存器輸出對應(yīng)于數(shù)字量最高位的D7,對應(yīng)于最低位D0。OE端為輸出允許信號,當(dāng)OE端為最高電平時,將三態(tài)輸出鎖存器中的數(shù)字量放在數(shù)據(jù)總線上,以供CPU讀入。START和EOC分別為啟動信號和轉(zhuǎn)換結(jié)束信號,EOC用來申請中斷。ADC0809芯片 引腳圖48255芯片8255是可編程IO口擴展芯片。對8255輸入不同的指令可改變IO口的工作方式。8255與單片機系統(tǒng)連接方式簡單,工作方式由程序設(shè)定。8255內(nèi)部有4個寄存器:分別為寄存器A、B、C和控制寄存器。A、B、C寄存器的數(shù)據(jù)就是引腳PA7PA0、PB7PB0、PC7PC0上輸入或輸出的

9、數(shù)據(jù)。而控制寄存器的數(shù)據(jù)則表明PA、PB、PC的工作方式。通過CS、A0、A1、RD和WR對4個寄存器進行操作。 1)CS為低電平時選通8255;2)A1、A0為地址選通;3)RD和WR為讀、寫信號:RD為低、WR為高時為讀方式,RD為高、WR為低時為寫方式。4)D0D7為數(shù)據(jù)口。向控制寄存器寫入不同的數(shù)據(jù)可以使8255工作在三種不同的方式下。這里只介紹應(yīng)用最多的方式0。方式0下8255的PA、PB及PC口上半部分(PC7PC4)和下半部分(PC3PC0)中任何一個端口都可以設(shè)定為輸入或輸出,PC口還可以進行位操作。RESET:復(fù)位輸入線,當(dāng)該輸入端外于高電平時,所有內(nèi)部寄存器(包括控制寄存器

10、)均被清除,所有I/O口均被置成輸入方式。 CS:片選信號線,當(dāng)這個輸入引腳為低電平時,表示芯片被選中,允許8255與CPU進行通訊。 RD:讀信號線,當(dāng)這個輸入引腳為低電平時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。 WR:寫入信號,當(dāng)這個輸入引腳為低電平時,允許CPU將數(shù)據(jù)或控制字寫8255。 D0D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU 執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。 PA0PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入鎖存器。

11、 PB0PB7:端口B輸入輸出線,一個8位的I/O鎖存器, 一個8位的輸入輸出緩沖器。 PC0PC7:端口C輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。8255方式0是基本輸入/輸出方式,A、B、C三個口中任何一個口都可提供簡單的輸入和輸出操作,不需要應(yīng)答聯(lián)絡(luò)信號,即可用于無條件傳送的場合,也可以用作查詢方式傳送。當(dāng)采用查詢方式傳送時,原則上可用A、B和C三個口的任一位充當(dāng)查詢信號,但通常都是選用C口充當(dāng)查詢信號

12、,這和C口的編程有關(guān)。通常把C口的4位(高4位或低4位)規(guī)定為輸出口,用以輸出一些控制信號,把C口的另4位規(guī)定為輸人口,用以輸入外設(shè)的狀態(tài)。方式1是一種選通輸人偷出方式,A口和B口均可工作在這種方式。方式1可作為查詢式傳送方式,此時握手聯(lián)絡(luò)信號,C口要用6位(分成兩個3位)分別作為A口和B口的應(yīng)答聯(lián)絡(luò)信號。方式1也可用作中斷方式,此時要寫對應(yīng)的C口的按位置位字,打開中斷。方式2是A口獨有的雙向傳送方式,一般使用中斷傳送方式。5流程圖主程序流程圖:1)、初始化8255:A,B,C均為方式0,A入B出,CL入。由工作方式可得到,控制字為91H從電路圖可知A口地址為37BH;2)、A/D轉(zhuǎn)化:256

13、個數(shù) 要設(shè)置一個256次的循環(huán);每次循環(huán)應(yīng)包括:選擇通道0;ALE信號產(chǎn)生上升沿;START信號產(chǎn)生下降沿;判斷EOC的狀態(tài),若為0表示這種轉(zhuǎn)換結(jié)束,若不為0繼續(xù)等待EOC直到其狀態(tài)為0 ;將轉(zhuǎn)換結(jié)果,從8255的A口輸入到AL中,再將AL中的內(nèi)容存入存儲器中。模塊開始初始化DS 調(diào)用8255初始化過程將計數(shù)次數(shù)256置于CX選擇通道0送出ALE信號(上升沿)START信號(下降沿)將轉(zhuǎn)換結(jié)果從8255A口輸入到ALEOC= ?0把AL中的值存于SI中SI位置加1CX=?0模塊結(jié)束YNYN子流程圖:(1)顯示高四位1)、流SI中的值存放在AL中,由于后面的顯示低4位時還用到AL中的數(shù)據(jù),所以先

14、將AL中的數(shù)據(jù)存放到BX中已備后面調(diào)用,AL中的高4位保持低4位置0,由于該程序中循環(huán)用到CX中的內(nèi)容所以需用CX時得保護CX中的內(nèi)容,將AL中的數(shù)據(jù)左移4位,AL中的內(nèi)容加上30H,判斷AL中的值與39H進行比較,若(AL)<=39H則直接顯示,否則將AL中的值加上07H然后再在屏幕上顯示。2)流程圖模塊開始SI存的數(shù)據(jù)調(diào)到AL中將AL中數(shù)存于BXAL高四位保持;低4位置0AL左移4位PUSH CX保護CX的內(nèi)容POP CX AL內(nèi)容加30H(AL) >39H屏幕顯示AL中的內(nèi)容模塊結(jié)束YN(AL)加上07H(2)顯示低四位1)、將AL中低4位保持.高4位置0,AL中的內(nèi)容加30

15、H,由于015在ASCII中用09,AF表示,故需要判斷低4位表示的ASCII是09還是AF,若是09直接在屏幕上顯示,若是AF則需將AL中的值加上07H再在屏幕上顯示。模塊開始將(AL)低4位保持 高4位置0(AL)加30H(AL)<=39H顯示低4位(AL)加07H模塊結(jié)束YN這個圖好像不對,你到時候改一下吧六:原程序:DATA SEGMENTRESULT DB 256 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATAINT_8255 PROC NEAR ;8255初始化 MOV DX,37BH MOV AL,91H ;A,B,C

16、均為方式0,A入B出,cL入 OUT DX,AL RETINT_8255 ENDPSTART: MOV AX,SEG DATA MOV DS,AX MOV SI,OFFSET DATA CALL INT_8255 ;8255初始化 MOV BL,0 ;選擇通道0 MOV CX,256AGAIN: MOV AL,BL MOV DX,379H OUT DX,AL ;送通道地址 OR AL,10H OUT DX,AL ;送ALE信號(上升沿) AND AL,0EFH OUT DX,AL ;輸出START信號(下降沿) MOV DX,37AHWAIT1: IN AL,DX ;讀EOC狀態(tài) AND AL

17、,02H JZ WAIT1 ;若EOC為低電平則等待 MOV AL,BL MOV DX,379H OR AL,20H OUT DX,AL ;EOC端為高電平則輸出讀允許信號;OE=1 MOV DX,378H IN AL,DX ;讀入轉(zhuǎn)換結(jié)果 MOVSI,AL ;將轉(zhuǎn)換的數(shù)字量送存儲器 INC SI ;修改指針 LOOP AGAIN DISPLAY: MOV AL,SI MOV BX, AL AND AL,0F0H ;高位十六進制轉(zhuǎn)ASCII碼 PUSH CX MOV CL,04H SHR AL ,CL POP CX ADD AL, 30H CMP AL, 39H JBE AS1 ADD AL,

18、 07H JMP AS1AS1: MOV DL,AL ;顯示高位 MOV AH, 02H INT 21H MOV AL, BX AND AL, 0FH ADD AL, 30H CMP AL, 39H JBE AS2 ADD AL, 07H JMP AS2AS2: MOV DL,AL ;顯示低位 MOV AH, 02H INT 21H MOV DL,20H ;顯示兩個空格 MOV AH,02H INT 21H INC SI LOOP DISPLAY MOV AH,4CH ;返回DOS INT 21HCODE ENDS END START七:硬件連接圖1、電路圖模塊設(shè)計思路本設(shè)計采用的芯片有AD轉(zhuǎn)換器ADC0809,并行接口芯片8255,以及用于譯碼的74LS138.基本采集過程如下:外界模擬信號通過AD轉(zhuǎn)換器ADC0809的0通道輸入,由于需要采集

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論