數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、長江大學(xué)工程技術(shù)學(xué)院課程設(shè)計報告課 設(shè) 題 目數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)課 程 名 稱匯編語言+微型計算機技術(shù)系 部信息系班 級學(xué) 生 姓 名學(xué) 號序 號指 導(dǎo) 教 師時 間2012年8月28日2012年9月9日目 錄目錄長江大學(xué)工程技術(shù)學(xué)院1一、設(shè)計目的1二、設(shè)計內(nèi)容1三、硬件設(shè)計及分析21總體結(jié)構(gòu)圖22.各部件端口地址設(shè)計及分析23.各部件的組成及工作原理2四、軟件設(shè)計及分析31總體流程圖32.主要程序編寫及分析4五、系統(tǒng)調(diào)試41.調(diào)試環(huán)境介紹42. 各部件的調(diào)試43.調(diào)試方法及結(jié)果9六、總結(jié)與體會9七、附錄10數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)一、設(shè)計目的1.通過本設(shè)計,使學(xué)生綜合運用微型計算機技術(shù)

2、、匯編語言程序設(shè)計以及電子技術(shù)等課程的內(nèi)容,為以后從事計算機檢測與控制奠定一定的基礎(chǔ)。2.主要掌握并行I/O接口芯片8253、8255A、ADC0809及中斷控制芯片8259A等可編程器件的使用,掌握譯碼器74LS138的使用。3.學(xué)會用匯編語言編寫一個較完整的實用程序。4.掌握微型計算機技術(shù)應(yīng)用開發(fā)的全過程:分析需求、設(shè)計原理圖、選用元器件、布線、編程、調(diào)試、撰寫報告等步驟。二、設(shè)計內(nèi)容1. 功能要求 利用匯編語言+微型計算機系統(tǒng)課程中所學(xué)的可編程接口芯片8253、8255A、ADC0809和微機內(nèi)部的中斷控制器8259A(從保留的IRQ2或TRQ10端引入)設(shè)計一個數(shù)據(jù)采集系統(tǒng)、并且編程與

3、調(diào)試。 用8253定時器定時10MS,每次定時10MS后啟動一次模/數(shù)轉(zhuǎn)換,要求對所接通道變化的模擬電壓值進行采集。 每次模/數(shù)轉(zhuǎn)換結(jié)束后,產(chǎn)生一次中斷,在中斷服務(wù)程序中,采集來的數(shù)字量被讀入微處理器的累加器AL中,然后通過8255A輸出到8個LED發(fā)光二極管顯示。2. 設(shè)計所需器材與工具 微機原理與接口綜合仿真實驗平臺。 可編程接口芯片8253、8255A、ADC0809和譯碼器芯片74LS138、74LS245等。 可調(diào)電位器4.7K一個。 其他邏輯器件、導(dǎo)線若干。 萬用表、常用工具等。三、硬件設(shè)計及分析1總體結(jié)構(gòu)圖 CPU數(shù)據(jù)顯示中斷管理模塊復(fù)位電路數(shù)據(jù)采集模塊定時模塊電源模塊時鐘電路模

4、塊圖1框架總圖2.各部件端口地址設(shè)計及分析8255端口地址:208-20FH,端口A輸入,端口B輸出。A口地址:208H,B口地址:209H。C口地址:20AH。8259端口地址:210-217H,ICW1應(yīng)寫入8259A偶地址端口,它的D7D5位,當(dāng)8259A應(yīng)用于8088/8086系統(tǒng)時無效,故以0填充。D4位是ICW1的標志位,為1。需要多片8259A級聯(lián)時才需要輸入ICW3。D0位表示初始化編程時是否需要寫入ICW4。這樣,ICW1的命令字就是:,即十六進制的1BH。8253端口地址:200-207H。本實驗中計數(shù)器按方式0工作。即十六位二進制計數(shù)器。當(dāng)計數(shù)設(shè)置好后,計數(shù)器就開始計數(shù)。

5、如果要讀入計數(shù)器的值,要先鎖存計數(shù)值,才能讀到計數(shù)值。同時OUT腳輸出一個高電平。實驗時,可以將OUT0接到LED上,觀察計數(shù)器是否工作。ADC0809端口地址:218-21FH,CS79接譯碼處21821FH這個插孔。A/D的CS插譯碼處20820F這個插孔,0809的IN0接至電位器W1的中心抽頭插孔。3.各部件的組成及工作原理8255A有三個并行輸入/輸出接口,分別為A、B、C三個端口。分別為:方式0 :基本的輸入輸出方式,即無須聯(lián)絡(luò)就可以直接進行的 I/O方式。其中A、B、C口的高四位或低四位可分別設(shè)置成輸入或輸出。 方式1 :選通I/O,此時接口和外圍設(shè)備需聯(lián)絡(luò)信號進行協(xié)調(diào),只有A口

6、和B口可以工作在方式1,此時C口的某些線被規(guī)定為A口或B口與外圍設(shè)備的聯(lián)絡(luò)信號,余下的線只有基本的I/O功能,即只工作在方式0。 方式2: 雙向I/O方式,只有A口可以工作在這種方式,該I/O線即可輸入又可輸出,此時C口有5條線被規(guī)定為A口和外圍設(shè)備的雙向聯(lián)絡(luò)線,C口剩下的三條線可作為B口方式1的聯(lián)絡(luò)線,也可以和B口一起方式0的I/O線。然后根據(jù)在程序中是設(shè)置的那種工作方式去與74LS245進行連接。在程序中我所使用的是B口輸入,A口輸出的輸出方式。在這個模塊中最主要的就是去怎樣設(shè)置好輸入與輸出端口。這就要要求我們在對8255A進行初始化的時候就要考慮清楚這個問題。圖2-8255中斷管理模塊主

7、要74LS138來完成,74LS138為3-8譯碼器,可以產(chǎn)生8片選,但是在這個程序中只要用四個片選,即200-207、208-20F、210-217、218-21F。74LS138其工作原理如下:當(dāng)一個選通端(G1)為高電平,另兩個選通端(/(G2A)和/(G2B))為低電平。可將地址端(A、B、C)的二進制編碼在一個對應(yīng)的輸出端以低電平譯出。同時,中斷管理模塊需要做的工作有設(shè)置中斷向量。在對中斷進行設(shè)置的時候可以對中斷類型號進行修改。其實中斷類型號的設(shè)置在對8259進行初始化的時候就完成了。數(shù)據(jù)采集模塊是用ADC0809來完成的,通過ADC0809來進行模數(shù)轉(zhuǎn)換,ADC0809所采集的模擬

8、信號轉(zhuǎn)換為數(shù)字信號。這個模塊是用來對數(shù)據(jù)進行采集、處理、轉(zhuǎn)換的部分。在這個模塊里我們要注意的是如何去處理在設(shè)計過程中該怎樣去處理送入軟件里面的信號的頻率,我們在實驗中ADC0809所接入的頻率為1MHZ,但是也可以去使用2MHZ的這樣一個頻率,因為是8253的ADC0809是模/數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換。IN3連接一個滑動電阻器,通過該電阻器改變電阻得到不同的電壓值,經(jīng)過數(shù)據(jù)采集并轉(zhuǎn)換后通過LED顯示得到結(jié)果圖3-ADC08098253內(nèi)部有三個計數(shù)器,分別成為計數(shù)器0、計數(shù)器1和計數(shù)器2,他們的機構(gòu)完

9、全相同。每個計數(shù)器的輸入和輸出都決定于設(shè)置在控制寄存器中的控制字,互相之間工作完全獨立。每個計數(shù)器通過三個引腳和外部聯(lián)系,一個為時鐘輸入端CLK,一個為門控信號輸入端GATE,另一個為輸出端OUT。每個計數(shù)器內(nèi)部有一個8位的控制寄存器,還有一個16位的計數(shù)初值寄存器CR、一個計數(shù)執(zhí)行部件CE和一個輸出鎖存器OL。 8253可編程計數(shù)器/定時器,內(nèi)部有三個計數(shù)器,分別成為計數(shù)器0、計數(shù)器1和計數(shù)器2,他們的機構(gòu)完全相同。每個計數(shù)器的輸入和輸出都決定于設(shè)置在控制寄存器中的控制字,互相之間工作完全獨立。工作原理:8253具有3個獨立的計數(shù)通道,采用減1計數(shù)方式。在門控信號有效時,每輸入1個計數(shù)脈沖,

10、通道作1次計數(shù)操作。當(dāng)計數(shù)脈沖是已知周期的時鐘信號時,計數(shù)就成為定時。圖4-8253四、軟件設(shè)計及分析1總體流程圖8259的初始化設(shè)置中斷向量8255初始化8253初始化開中斷等待中斷圖5-主程序流程圖2.主要程序編寫及分析1.8255A I/o調(diào)通端口地址:208H20FH從端口A輸入開關(guān)的狀態(tài),端口B輸出接到發(fā)光二極管上,然后由二極管是否發(fā)光來判斷芯片是否正常start: mov dx,20bhmov al,90hout dx,alabc: mov dx,208h ;端口A讀入in al,dxmov dx,209h ;端口B輸出out dx,aljmp abc2. 通過按鈕產(chǎn)生中斷脈沖,向

11、8259申請中斷,在中斷服務(wù)程序中8255A I/o思路:設(shè)置ICW1,ICW2和ICW4,設(shè)置ICW1用于指定中斷觸發(fā)方式和芯片的數(shù)量,ICW2設(shè)置用于中斷類型號,設(shè)置ICW4主要用于中斷結(jié)束的方式start: mov al,13h; icw1 mov dx,210h; 8259 out dx,al mov al,8; icw2 mov dx,211h out dx,al mov al,1; icw4 out dx,al mov ax,0 mov ds,ax lea ax,int0 mov ds:4*8,ax mov ax,cs mov ds:4*8+2,ax in al,dx and al

12、,0feh out dx,al mov dx,203h mov al,80h out dx,al mov bl,1 mov al,bl mov dx,200h out dx,al ;pa0 sti repeat:hlt jmp repeatint0 proc near rol bl,1 mov al,bl mov dx,200h out dx,al mov dx,210h mov al,20h out dx,al iret int0 endp3. 用8253定時,產(chǎn)生中斷,重復(fù)第二步。思路:將中斷服務(wù)程序的段基地址和偏移地址保存在中斷向量表中,即設(shè)置ip和cs,可以將中斷類型號改為8,中斷從I

13、R0端啟動。start: mov al,13h ;設(shè)置ICW1初始化命令字() mov dx,210h out dx,al ;將ICW1輸出到偶地址端口 mov al,0ah ;ICW2中斷類型號基值(0ah),IR2啟動 mov dx,211h out dx,al ;將ICW2輸出到奇地址端口 mov al,1 ;ICW4,一般結(jié)束中斷的方式 out dx,al mov ax,0 mov ds,ax lea ax,int0 mov ds:4*0ah,ax ;INT0中斷偏移地址,即設(shè)置ip mov ax,cs mov ds:4*0ah+2,ax ;中斷向量指針,設(shè)置cs ;in al,dx

14、;and al,0feh ;out dx,al ;8255初始化 mov dx,203h ;控制端口地址,送控制字 mov al,80h out dx,al mov bl,1 mov al,bl mov dx,200h out dx,al ;端口A輸出,輸出1 ;8253初始化(200H-207H)f=1mhz,t=1us,T=10ms啟動 mov dx, 20bH mov al,B ;選擇計數(shù)器0,方式3,先低后高 out dx ,al ;送計數(shù)方式控制字 mov dx,208H ;選擇計數(shù)器0 mov ax,1000 out dx,al ;后送高八位 mov al,ah out dx,al

15、 ;先送低八位 mov dx, 20bH mov al,B ;選擇計數(shù)器1,方式3,先低后高 out dx ,al ;送計數(shù)方式控制字 mov dx,209H ;選擇計數(shù)器0 mov ax,1000 out dx,al ;后送高八位 mov al,ah out dx,al ;先送低八位 sti repeat: hlt ;等待中斷 jmp repeat ;中斷服務(wù)程序 int0 proc near rol bl,1 mov al,bl ;移位后從端口A輸出 mov dx,200h out dx,al mov dx,210h mov al,20h out dx,al iret int0 endp4

16、. 定時中斷,ADC 8255 I/o思路:設(shè)置控制端口,初始化8253,使用計數(shù)器0和計數(shù)器1,采用方式3,OUT端輸出方波,送數(shù)據(jù)時先送低8位,后送高8位,Clock1使用1MHZ的脈沖頻率。將兩個計數(shù)器級聯(lián),最后OUT端輸出的方波的周期是:T=1us*1000*1000start: mov al,13h ;設(shè)置ICW1初始化命令字() mov dx,210h out dx,al ;將ICW1輸出到偶地址端口 mov al,0ah ;ICW2中斷類型號基值(0ah),IR2啟動 mov dx,211h out dx,al ;將ICW2輸出到奇地址端口 mov al,1 ;ICW4,一般結(jié)束

17、中斷的方式 out dx,al mov ax,0 mov ds,ax lea ax,int0 mov ds:4*0ah,ax ;INT0中斷偏移地址,即設(shè)置ip mov ax,cs mov ds:4*0ah+2,ax ;中斷向量指針,設(shè)置cs ;in al,dx ;and al,0feh ;out dx,al ;8255初始化 mov dx,203h ;控制端口地址,送控制字 mov al,80h out dx,al mov bl,1 mov al,bl mov dx,200h out dx,al ;端口A輸出,輸出1 ;8253初始化(200H-207H)f=1mhz,t=1us,T=10m

18、s啟動 mov dx, 20bH mov al,B ;選擇計數(shù)器0,方式3,先低后高 out dx ,al ;送計數(shù)方式控制字 mov dx,208H ;選擇計數(shù)器0 mov ax,1000 out dx,al ;后送高八位 mov al,ah out dx,al ;先送低八位 mov dx, 20bH mov al,B ;選擇計數(shù)器1,方式3,先低后高 out dx ,al ;送計數(shù)方式控制字 mov dx,209H ;選擇計數(shù)器0 mov ax,1000 out dx,al ;后送高八位 mov al,ah out dx,al ;先送低八位 STI ;開中斷 ABC: HLT ;等待中斷 JMP ABC ;中斷服務(wù)程序 INT0 Pro

溫馨提示

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

最新文檔

評論

0/150

提交評論