微機原理課設_簡易電壓表_第1頁
微機原理課設_簡易電壓表_第2頁
微機原理課設_簡易電壓表_第3頁
微機原理課設_簡易電壓表_第4頁
微機原理課設_簡易電壓表_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 南京工程學院通信工程學院課程設計說明書(論文)題 目 簡易電壓表 課 程 名 稱 微機原理與接口技術 專 業(yè) 班 級 學 生 姓 名 學 號 設 計 地 點 指 導 教 師 設計起止時間:2013年12月23日至2010年12月27日目錄目錄21.設計目的22.設計內(nèi)容及要求33.設計原理31、主體框架32、實驗主要器材43、設計流程圖44、相關電子元器件及其功能介紹5(1)8255A芯片5(2)8259A芯片6(3)ADC0809芯片9(4)數(shù)碼管114.實驗原理圖與硬件電路圖125.測試結(jié)果及問題分析121) 測試結(jié)果122) 問題分析12 3)設計不足136.心得體會137. 程序代碼

2、131.設計目的通過本次課程設計進一步鞏固我們所學的微機原理和接口技術理論知識,培養(yǎng)事跡分析問題、編程和動手能力,最終通過課程設計達到理論和實際應用相結(jié)合,把學到的知識用到實際中去,提高對硬件微機結(jié)構(gòu)和軟件設計方法的理解。能夠根據(jù)實際應用初步實現(xiàn)硬件和軟件的基本設計,并且對硬件開發(fā)有更深層次的認識,從而學以致用。2.設計內(nèi)容及要求基本內(nèi)容:利用STAR ES598PCI實驗儀的硬件資源8259中斷控制器、8255可編程并行接口芯片和數(shù)碼管、電位器和ADC0809設計一個簡易電壓表,編寫響應的程序,使電壓表能夠正常運行,3位數(shù)碼管顯示電位器的電壓,精確度要求小數(shù)點后兩位。附加內(nèi)容:用5位數(shù)碼管顯

3、示電位器的電壓,精確度要求小數(shù)點后四位。基本任務:軟件查詢的方式獲取AD轉(zhuǎn)換結(jié)束信息附加任務:中斷方式獲取AD轉(zhuǎn)換結(jié)束信息3.設計原理1、主體框架ADC0809是逐次逼近型A / D轉(zhuǎn)換器,具有較好的精度和速度,其采集結(jié)果為8位二進制數(shù),每采集一次一般需要100s。設計程序時可采用中斷方式讀取A / D轉(zhuǎn)換結(jié)果數(shù)據(jù)。在中斷方式下,A / D轉(zhuǎn)換結(jié)束后會自動產(chǎn)生EOC信號,將其與8259的中斷輸入端相接即可。電壓模擬量可由實驗箱上的電位器提供,電壓范圍0 5V,其經(jīng)ADC0809轉(zhuǎn)換得到的數(shù)字量范圍為0 255,再將轉(zhuǎn)換的結(jié)果通過軟件編碼得到相應的原始電壓值并在LED數(shù)碼管上顯示??傮w框架如下圖

4、:總體模塊設計LED數(shù)碼管顯示模塊ADC0809數(shù)模轉(zhuǎn)換模塊8259A中斷處理模塊8255A并行接口模塊2、實驗主要器材實驗器材數(shù)量備注PC機1裝有實驗所需星研軟件ES598PCI實驗儀18255A芯片18259A芯片1ADC0809芯片1數(shù)碼管1事先檢驗完好可用電位器13、設計流程圖4、相關電子元器件及其功能介紹(1)8255A芯片a.概述: Intel 8086/8088 系列的可編程外設接口電路(Programmable Peripheral Interface)簡稱 PPI,型號為8255(改進型為8255A及8255A-5),具有24條輸入/輸出引腳、可編程的通用并行輸入/輸出接口電

5、路。它是一片使用單一+5V電源的40腳雙列直插式大規(guī)模集成電路。8255A的通用性強,使用靈活,通過它CPU可直接與外設相連接。b.8255A 工作方式:l 方式0:基本輸入輸出方式適用于無條件傳送和查詢方式的接口電路l 方式1:選通輸入輸出方式適用于查詢和中斷方式的接口電路l 方式2:雙向選通傳送方式適用于與雙向傳送數(shù)據(jù)的外設適用于查詢和中斷方式的接口電路c.8255A控制字格式:(a)工作方式控制字 (b)c口按位置位/復位控制字(2)8259A芯片a.概述: 8259A是專門為了對8085A和8086/8088進行中斷控制而設計的芯片,它是可以用程序控制的中斷控制器。單個的8259A能管

6、理8級向量優(yōu)先級中斷。在不增加其他電路的情況下,最多可以級聯(lián)成64級的向量優(yōu)先級中斷系統(tǒng)。8259A有多種工作方式,能用于各種系統(tǒng)。各種工作方式的設定是在初始化時通過軟件進行的。 在總線控制器的控制下,8259A芯片可以處于編程狀態(tài)和操作狀態(tài).編程狀態(tài)是CPU使用IN或OUT指令對8259A芯片進行初始化編程的狀態(tài)。 b.初始化命令字:1)ICW1寫入雙數(shù)地址。 2) ICW2寫入單數(shù)地址。3) ICW3寫入單數(shù)地址。4) ICW4寫入單數(shù)地址5) 初始化命令字的設置過程 c.操作命令字:1) OCW1寫入單數(shù)地址。2) OCW2寫入雙數(shù)地址。3) OCW3寫入雙數(shù)地址。(五)d.主要功能:

7、在有多個中斷源的系統(tǒng)中,接受外部的中斷請求,并進行判斷,選中當前優(yōu)先級最高的中斷請求,再將此請求送到cpu的INTR端;當cpu響應中斷并進入中斷子程序的處理過程后,中斷控制器仍負責對外部中斷請求的管理。(3)ADC0809芯片a.概述:ADC0809是采樣分辨率為8位的、以逐次逼近原理進行模數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個8通道多路開關,它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A / D轉(zhuǎn)換。b.主要特性:1) 8路輸入通道,8位AD轉(zhuǎn)換器,即分辨率為8位。 2) 具有轉(zhuǎn)換起停控制端。 3) 轉(zhuǎn)換時間為100s 4) 單個5V電源供電 5) 模擬輸入電壓范圍05V,不需

8、零點和滿刻度校準。 6) 工作溫度范圍為-4085攝氏度 7) 低功耗,約15mW。c.引腳功能: ADC0809芯片有28條引腳,采用雙列直插式封裝。引腳圖見右圖1-1IN0IN7:8路模擬量輸入端。 2-12-8:8位數(shù)字量輸出端。 ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路 ALE:地址鎖存允許信號,輸入,高電平有效。 START: AD轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復位,下降沿啟動A/D轉(zhuǎn)換)。 圖1-1EOC: AD轉(zhuǎn)換結(jié)束信號,輸出,當AD轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。

9、OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當AD轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。 REF(+)、REF(-):基準電壓。 Vcc:電源,單一5V。 GND:地。d.工作過程: 圖1-2 首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復位。下降沿啟動 AD轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到AD轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示AD轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平 時,

10、輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。(4)數(shù)碼管 七段式LED顯示部件(a) 典型的七段式LED器件 (b) 共陽極LED (c) 共陰極LED數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應用時應將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰數(shù)碼

11、管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。4.實驗原理圖與硬件電路圖1、實驗原理圖附圖:2、硬件電路連線圖:5.測試結(jié)果及問題分析1) 測試結(jié)果當調(diào)節(jié)電位器左端旋轉(zhuǎn)至右端時,數(shù)碼管顯示電壓0.004.99,可通過改變電阻來改變電壓值,再通過A/D轉(zhuǎn)換為數(shù)字量通過數(shù)碼管發(fā)出二極管顯示數(shù)字。 2) 問題分析 (1)當將顯示兩位小數(shù)改為顯示四位小數(shù)時,通過改動LED處的算法程序后,經(jīng)調(diào)試發(fā)現(xiàn)總在小數(shù)點后第三位處多個小數(shù)點,后來

12、通過討論發(fā)現(xiàn),是算法問題,不應該取AL中的商,而應去AH中的余數(shù)。 (2)重新編寫LED段程序后發(fā)現(xiàn)數(shù)碼管發(fā)光不穩(wěn)定,閃爍比較嚴重,通過更改延時主程序參數(shù)問題得到解決。 (3)修改后的程序當調(diào)為0時,發(fā)現(xiàn)只能顯示三位0,后來通過修改申請的字節(jié)數(shù)空間得以解決。3)設計不足最后我們還發(fā)現(xiàn),我的設計還有一定的缺陷,就是將數(shù)碼管顯示放在中斷程序中,這樣只有當有中斷時才會顯示,我們可以將該程序放在終端外面。6.心得體會 通過這短短一周的微機原理與接口技術的課程設計,我學習到了很多知識。在這次課程設計中我也獲得了很多的樂趣,最主要的是實驗成功的喜悅感,以及對知識掌握的開心。 課程設計前,我覺得無從下手,后

13、來我仔細閱讀了有關ADC0809、8259A 和8255A方面的知識,了解了它們的芯片功能、工作原理及初始化等等。這次課程設計是軟件與硬件相結(jié)合,與我們以往單純的軟件課程設計不同,這次我們需要使用的是匯編語言。這就要求我們掌握各種指令以及偽指令的用法,以及各種尋址方式。通過這次的課程設計,我不僅僅鞏固了課堂上學習到的微機原理與接口技術方面的知識。這次課程設計成功,不僅僅有自己的專研,還有與同學一起協(xié)作探討問題,最終完善了我的設計,這讓我知道了團隊合作的重要性。這次課程設計并不是一帆風順的,過程中也遇到了好多問題,不過只有在遇到問題解決問題的過程中,我們才會前進,才會提高自己的能力,遇到問題不能

14、逃避,要迎難而上,才會真正的戰(zhàn)勝難題,戰(zhàn)勝自己。7. 程序代碼 (顯示四位小數(shù)的代碼)MODE EQU 082H ;10000010H,方式0,A和C輸出,,AC口輸出PORTA EQU 09000H ;A口地址 PORTB EQU 09001H ;B口地址PORTC EQU 09002H ;C口地址CONTROL EQU 09003H ;命令口地址CS0809 EQU 08000H ;0809地址 ICW1 EQU 00010011B ;上升沿觸發(fā),單片8259A,需要ICW4ICW2 EQU 08H ;中斷類型號02H,/4,p257ICW4 EQU 00001001B ;正常全嵌套,非自

15、動EOI,工作在8086/8088方式p268OCW1 EQU 11111110B ;IR1-IR7上的中斷請求被屏蔽,只響應INT0中斷CS8259A EQU 0A000H CS8259B EQU 0A001HDATA SEGMENTNUM DB 5 DUP(?) ;開辟五個空間的緩存LEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;數(shù)碼管顯示0到9的字型代碼DB 7FH,6FHLEDDMAP: DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87HDB 0FFH,0EFH ;包括小數(shù)點的顯示DATA ENDSCODE SEGM

16、ENT ASSUME CS:CODE, DS:DATA DELAY PROC NEAR ;延時子程序 PUSH BX PUSH CX MOV BX,0 MOV CX,100A1: INC BX LOOP A1 POP CX POP BX RET DELAY ENDPIENTER PROC NEAR ;中斷服務程序 PUSH AX PUSH DX MOV DX,CS0809 ;0809端口地址 IN AL,DX ;讀入結(jié)果LED: ;轉(zhuǎn)換為原始電壓值顯示程序MOV BL,0C4H ;乘以5/256*10000=196 MUL BL ;AX=AL*BL,得16位結(jié)果 PUSH AX ;壓棧,存入結(jié)

17、果 MOV BX,0001H POP AX MUL BX ;將AX擴展為32位,結(jié)果在DX:AX中 MOV BX,64H ;100 DIV BX ;DX:AX/BX,得32位,商在AX中,余數(shù)在DX中 DIV BL ;AX/BL,得16位,商在AL中,余數(shù)在AH中 MOV SI,AL ;整數(shù)部分,結(jié)果放進NUM MOV SI,OFFSET NUM ;段碼地址,指向七段碼表 MOV AL,AH MOV AH,00H MOV BL,0AH DIV BL;再除10 MOV SI+1,AL ;AL中為小數(shù)點后第一位 MOV SI+2,AH ;AH中為小數(shù)點后第二位 DIV BL;再除10 MOV SI

18、+3,AH ;AL中為小數(shù)點后第三位 DIV BL MOV SI+4,AH ;AH中為小數(shù)點后第四位 MOV AL,SI MOV DI,OFFSET LEDDMAP ;段碼地址,查表,顯示第一位包括小數(shù)點 MOV AH,0 ADD DI,AX MOV AL,DI MOV DX,PORTA OUT DX,AL MOV DX,PORTC MOV AL,11101111B OUT DX,AL ;選通第一位數(shù)碼管,整數(shù)位 CALL DELAYMOV AL,SI+1 MOV DI,OFFSET LEDMAP MOV AH, 0 ADD DI,AX MOV AL,DI MOV DX,PORTA OUT D

19、X,AL MOV DX,PORTC MOV AL,11110111B OUT DX,AL ;選通第二位數(shù)碼管,小數(shù)點后第二位 CALL DELAY MOV AL,SI+2 MOV DI,OFFSET LEDMAP MOV AH, 0 ADD DI,AX MOV AL,DI MOV DX,PORTA OUT DX,AL MOV DX,PORTC MOV AL,11111011B OUT DX,AL ;選通第三位數(shù)碼管,小數(shù)點后第二位 CALL DELAY MOV AL,SI+3 MOV DI,OFFSET LEDMAP MOV AH, 0 ADD DI,AX MOV AL,DI MOV DX,P

20、ORTA OUT DX,AL MOV DX,PORTC MOV AL,11111101B OUT DX,AL ;選通第三位數(shù)碼管,小數(shù)點后第三位 CALL DELAY MOV AL,SI+4 MOV DI,OFFSET LEDMAP MOV AH, 0 ADD DI,AX MOV AL,DI MOV DX,PORTA OUT DX,AL MOV DX,PORTC MOV AL,11111110B OUT DX,AL ;選通第三位數(shù)碼管,小數(shù)點后第四位位 CALL DELAY MOV DX,CS0809 MOV AL,0 OUT DX,AL MOV DX,CS8259A XOR AX,AX ;AX置零 MOV AL,20H ;中斷服務程序結(jié)束指令 OUT DX,AL POP DX POP AX IRETIENTER ENDPIINIT PROC NEAR ;初始化8259A MOV DX,CS8259A ;偶地址 MOV AL,ICW1 ;00010011B,上升沿觸發(fā),單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論