微機原理與接口技術實驗指導書_第1頁
微機原理與接口技術實驗指導書_第2頁
微機原理與接口技術實驗指導書_第3頁
微機原理與接口技術實驗指導書_第4頁
微機原理與接口技術實驗指導書_第5頁
已閱讀5頁,還剩48頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、實驗安排第一次實驗:存儲區1中存放著ASCII碼表(00H7FH),要求編寫程序,將存儲區1中的內容復制到存儲區2。然后,將存儲區2中的數字編碼轉換為如下編碼: 30HAAH,31HBBH,32HCCH 33HDDH,34HEEH,35HFFH,36HA8H,37HBFH 38HC9H, 39HD1H。第二次實驗:1、兩個數組的多位數加法操作(比如數組是100個字節的數據等),可以考慮數組中的數據既可以是二進制數,也可以是十進制數。2、編程完成以下公式的運算:(假設公式中的所有變量均為16位有符號的數)1)W=X+Y*300 要求乘積的高位在W中,低位在R中2)W=P / (Q-15) 要求商

2、存入W,余數存入R 第三次實驗:1、編程實現各種進制之間的轉換,例如十進制到二進制、二進制到十進制,十六進制到二進制、二進制到十六進制等;2、編寫數字排序子程序,通過主程序調用實現數組數據的排序(升序或降序);第四次實驗:基本I/O和地址譯碼實驗1、8/32位I/O接口設計實驗2、地址譯碼電路設計實驗第五次實驗: 8259中斷控制器實驗1、8259查詢中斷應用實驗2、點陣漢字滾動顯示實驗第六次實驗:8255和8254實驗,應用中斷方式等 1、連接8255與鍵盤掃描單元,編寫程序完成鍵盤掃描功能,并將讀到的按鍵值依次顯示在數碼管上2、利用8254的定時功能,編寫程序完成在數碼管上循環顯示任意字符

3、串第七次實驗:A/D和D/A實驗 1、A/D轉換實驗2、D/A產生任意波形的實驗微機原理與接口技術實 驗 指 導 書吉林大學儀器科學與電氣工程學院2010年12月目錄第一章軟件實驗部分2實驗一顯示程序與數據傳送實驗2實驗二數碼轉換程序實驗6實驗三運算類指令編程實驗8第二章硬件實驗部分11實驗四8/32位I/O接口實驗11實驗五8255并口控制器應用實驗16實驗六 8259中斷控制器實驗18實驗七 8254定時/計數器應用實驗22實驗八16550串行控制器應用實驗27實驗九8237 DMA控制器應用實驗33實驗十 A/D轉換與D/A轉換實驗39附錄A TD-PIT+實驗系統硬件介紹43附錄B T

4、DPIT集成操作軟件介紹46第一章 軟件實驗部分本章主要通過實驗來學習80X86的指令系統、尋址方式以及程序的設計方法,同時掌握集成操作軟件Tdpit的使用。實驗一 顯示程序與數據傳送實驗1、實驗目的1)掌握在PC機上以十六進制形式顯示數據的方法。2)掌握部分DOS功能調用使用方法。3)掌握與數據有關的不同尋址方式。3)熟悉Windows集成操作軟件Tdpit的操作環境和操作方法。2、實驗設備PC微機一臺、TD-PIT+實驗系統一套。3、實驗內容及說明1顯示程序實驗一般來說,有很多程序需要顯示輸出提示運行的狀況和結果,有的還需要將數據區中的內容顯示在屏幕上。本實驗要求將指定數據區的數據以十六進

5、制數形式顯示在屏幕上,并利用DOS功能調用完成一些提示信息的顯示。通過本實驗,初步掌握實驗系統配套操作軟件的使用。實驗中所使用DOS功能調用(INT 21H)說明如下。(1) 顯示單個字符輸出入口:AH=02H 調用參數:DL=輸出字符(2) 顯示字符串入口:AH=09H 調用參數:DS:DX=串地址,$為結束字符(3) 鍵盤輸入并回顯入口:AH=01H 返回參數:AL=輸出字符(4) 返回DOS系統入口:AH=4CH 調用參數:AL=返回碼2數據傳送實驗本實驗要求將數據段中的一個字符串傳送到附加段中,并輸出附加段中的目標字符串到屏幕上。4、實驗步驟1顯示程序實驗(1) 運行Tdpit集成操作

6、軟件,進入編輯調試集成環境。(2) 根據程序設計使用語言不同,在“語言設置”菜單項中設置所使用的語言。如圖1-1所示。該項一經設置,會再下次啟動后仍保持不變。圖1-1設置語言環境(3) 開始新建文件進行編程。點擊“文件”菜單項中的“新建”,可以新建一個空白文檔。默認名為Td-pit1。如圖1-2所示。圖1-2新建空白文檔(4) 編寫程序,如圖1-3所示,并保存,此時軟件會提示輸入新的文件名,輸入文件名后點擊保存。圖1-3程序編輯界面(5) 點擊,編譯文件,若程序編譯無誤,然后再點擊,鏈接程序。編譯連接成功會在輸出信息欄顯示輸出信息,如圖1-4所示。圖1-4編譯連接輸出信息(6) 編譯連接成功后

7、可以點擊,運行程序,查看運行結果。(7) 可以點擊,調試程序,進入調試界面,進行程序的調試。2數據傳送實驗(1) 運行Tdpit集成操作軟件,編寫實驗程序。(2) 編譯連接無誤后,點擊,進入調試環境,進行程序的調試。如圖1-5所示。圖1-5進入調試環境(3) 按F8鍵單步運行程序,執行完MOV DS,AX語句后,觀察DS寄存器中出現的段地址。激活Dump數據顯示區,用CtrlG命令,輸入要查看的數據區地址“0C69:0000”。如圖1-6所示。可以在Dump數據區看到DS數據段中MSR源數據串"HELLO,WORLD!$"。如圖1-7所示。圖1-6根據DS值查看數據段圖1-

8、7 DS源數據段數據(4) 繼續單步運行程序,執行MOV ES,AX語句后,可以看到ES附加數據段出現的段地址,用同樣的方法可以查看ES:0000的數據。如圖1-8所示。圖1-8根據ES值查看附加數據段(5) 數據傳輸還沒開始進行,此時ES段的數據為空。繼續單步執行完程序,可以看到ES數據段逐漸被寫入源數據段DS的數據。直到數據傳輸完畢,可以看到ES數據段中目的數據串MSD已經被寫入了數據串"HELLO,WORLD!$"。如圖2-2-5所示。圖1-9根據ES值查看附加數據段(6) 可以更改程序中聲明的源數據區數據,考察程序的正確性。實驗二數碼轉換程序實驗1、實驗目的掌握不同

9、進制數及編碼相互轉換的程序設計方法。2、實驗設備PC微機一臺、TD-PIT+實驗系統一套。3、實驗內容及說明計算機輸入設備輸入的信息一般是由ASCII碼或BCD碼表示的數據或字符,CPU一般均用二進制數進行計算或其他信息處理,處理結果的輸出又必須依照外設的要求變為ASCII碼、BCD碼或七段顯示碼等。因此,在應用軟件中,各類數制的轉換和代碼的轉換是必不可少的。計算機與外設間的數碼對應關系如表2-1所示。數碼轉換關系如圖2-1所示。圖2-1 計算機與外設間的數碼轉換關系表2-1 數碼轉換對應關系十六進制BCD碼二進制機器碼ASCII碼七段碼共陽共陰00000000030H40H3FH100010

10、00131H79H06H20010001032H24H5BH30011001133H30H4FH40100010034H19H66H50101010135H12H6DH60110011036H02H7DH70111011137H78H07H81000100038H00H7FH91001100139H18H67HA101041H08H77HB101142H03H7CHC110043H46H39HD110144H21H5EHE111045H06H79HF111146H0EH71H1將ASCII碼表示的十進制數轉換為二進制數十進制數可以表示為:Dn×10n+Dn-1×10n-1+

11、D0×100=Di×10i 其中Di代表十進制數1、2、39、0。上式可以轉換為:Di×10i=(Dn×10+Dn-1)×10)+Dn-2)×10+D1)×10+D0 由上式可歸納十進制數轉換為二進制的方法:從十進制數的最高位Dn開始作乘10加次位的操作,依次類推,則可求出二進制數結果。本實驗要求將緩沖區中的一個五位十進制數00012的ASCII碼轉換成二進制數,并將轉換結果按位顯示在屏幕上。2將十進制數的ASCII碼轉換為BCD碼本實驗要求將鍵盤輸入的一個五位十進制數54321的ASC碼存放在數據區中,轉換為BCD 碼后,

12、并將轉換結果按位分別顯示于屏幕上。若輸入的不是十進制數的ASC碼,則輸出“FF”。提示:一字節ASC碼取其低四位即變為BCD碼。3將十六進制數的ASCII碼轉換為十進制數十六位二進制數的值域為0-65535,最大可轉換為五位十進制數。五位十進制數可表示為:ND=D4×104+D3×103+D2×102+D1×10+D0因此,將十六位二進制數轉換為五位ASC碼表示的十進制數,就是求D1-D4,并將它們轉化為ASC碼。本實驗要求將緩沖區中存放的000CH的ASCII碼轉換成十進制數,并將轉換結果顯示在屏幕上。4BCD碼轉換為二進制碼本實驗要求將四個二位十進制

13、數的BCD碼存放在某一內存單元中,轉換出的二進制數碼存入其后的內存單元中,轉換結束,送屏幕顯示。4、實驗步驟(1) 運行Tdpit集成操作軟件,按照各實驗要求分別編寫實驗程序。(2) 對實驗程序進行編譯、鏈接。(3) 使用運行功能執行程序,觀察運行結果。(4) 使用調試功能調試程序,觀察在調試過程中,程序指令執行之后各寄存器及數據區的內容。(5) 更改數據區中的數據,反復測試,驗證程序功能。實驗三 運算類指令編程實驗1、實驗目的1)掌握運算類指令編程及調試方法。2)掌握運算類指令對各狀態標志位的影響及測試方法。2、實驗設備PC微機一臺、TD-PIT+實驗系統一套。3、實驗內容及說明80x86指

14、令系統提供了實現加、減、乘、除運算的基本指令,可對表3-1所示的數據類型進行算術運算。表3-1 數據類型算術運算表數制二進制BCD碼帶符號無符號組合非組合運算符、÷、×、÷、×操作數字節、字、多精度字節(二位數字)字節(一位數字)1二進制雙精度加法運算本實驗要求計算X+Y=Z,將結果Z輸出到屏幕,其中X=001565A0H,Y=0021B79EH。實驗利用累加器AX,先求低十六位和,并存入低址存儲單元,后求高16位和,再存入高址存儲單元。由于低位和可能向高位有進位,因而高位字相加語句需用ADC指令,則低位相加有進位時,CF=1,高位字相加時,同時加上CF

15、中的1。在80386以上微機中可以直接使用32位寄存器和32位加法指令完成本實驗的功能。2十進制數的BCD碼減法運算本實驗要求計算X-Y=Z,其中,X、Y、Z為BCD碼,其中X=0400H,Y=0102H。3乘法運算本實驗要求實現十進制數的乘法,被乘數和乘數均以BCD碼形式存放于內存中,被乘數為54320H,乘數為3H,運算結束后,將乘積在屏幕上顯示。4用減奇數開平方運算80x86指令系統中有乘除法指令但沒有開平方指令,因此,開平方運算是通過程序來實現的。用減奇數法可求得近似平方根,獲得平方根的整數部分。我們知道,N個自然數中的奇數之和等于N2,即:1+3+5=9=321+3+5+7=16=4

16、21+3+5+7+9+11+13+15=64=82若要做S的開方運算,那麼就可以從S中逐次減去自然數中的奇數1,3,5,7,一直進行到相減數為0或不夠減下一個自然數的奇數為止,然后統計減去自然數的奇數個數,它就是S的近似平方根。本實驗要求利用減奇法計算0040H的開平方值,并將運算結果顯示在屏幕上。4、實驗步驟(1) 運行Tdpit集成操作軟件,按各實驗要求編寫實驗程序。(2) 分別對實驗程序進行編譯、鏈接。(3) 使用運行功能運行程序,觀察運行結果。(4) 使用調試功能調試程序,觀察在調試過程中,各運算指令執行后,各寄存器、標志位及數據區內容的變化。(5) 更改數據區中的數據,反復測試,驗證

17、程序功能。第二章 硬件實驗部分接口技術是把由處理器、存儲器等組成的基本系統與外部設備連接起來,從而實現CPU與外部設備通信的一門技術,任何微機應用開發工作都離不開接口的設計、選用及連接。微機應用系統需要設計的硬件是一些接口電路,所要編寫的軟件是控制這些接口電路按要求工作的驅動程序。因此,接口技術是微機應用中必不可少的基本技能。實驗四 8/32位I/O接口實驗1、實驗目的1)掌握基本I/O接口電路的設計方法。2)熟悉I/O操作指令及8 /32位I/O端口的操作方法。3)了解LED點陣的基本結構。4)學習LED點陣掃描顯示程序的設計方法。2、實驗設備PC微機一臺、TD-PIT+實驗系統一套。3、實

18、驗內容(1) 利用8位I/O接口,實現微機對外部輸入數據的讀取和對輸出數據的輸出。用撥動開關和數據燈作為輸入和輸出顯示設備,將讀到開關的數據顯示在數據燈上。(2) 利用32位的I/O接口,按照32位的I/O操作方式,操作點陣LED顯示單元的16行×16列點陣。(3) 使用32位I/O接口單元的32位輸出O0O31控制點陣LED單元R0R15和L0L15。編寫程序,在16×16點陣上顯示漢字(學生姓名)。4、實驗原理1輸入接口設計輸入接口一般用三態緩沖器實現,外部設備輸入數據通過三態緩沖器,通過數據總線傳送給微機系統。74LS245是一種8通道雙向的三態緩沖器,其管腳結構如圖

19、4-1所示。DIR引腳控制緩沖器數據方向,DIR為1表示數據由A7:0至B7:0,DIR為0表示數據由B7:0至A7:0。G引腳為緩沖器的片選信號,低電平有效。圖4-1 74LS245雙向三態緩沖器管腳圖2輸出接口設計輸出接口一般用鎖存器實現,從總線送出的數據可以暫存在鎖存器中。74LS374/74LS574是一種8通道上沿觸發鎖存器。74LS574管腳結構如圖4-2所示。D7:0為輸入數據線,Q7:0為輸出數據線。CLK引腳為鎖存控制信號,上升沿有效。當上升沿到時,輸出數據線鎖存輸入數據線上的數據。OE引腳為鎖存器的片選信號,低電平有效。圖4-2 74LS574上沿觸發鎖存器管腳圖38位I/

20、O接口設計用一組74LS245和74LS374/574可以構成一個8位的I/O接口電路,既實現數據的輸入又實現數據的輸出,輸入輸出可以占用同一個端口。是輸入還是輸出用總線讀寫信號來區分。總線讀信號IOR和片選信號CS相“或”來控制輸入接口74LS245的使能信號G。總線寫信號IOW和片選信號CS相“或”來控制輸出接口74LS574的鎖存信號CLK。實驗系統中基本I/O接口單元就實現了這種的電路,8位I/O電路連接如圖4-3所示。IN AL,DX ;將IA7:0連接設備的8位數據通過數據總線D7:0輸入到AL。OUT DX,AL ;將AL中的數據通過數據總線D7:0輸出到OA7:0連接的設備。圖

21、4-3 用74LS245和74LS574組成的8位I/O接口電路432位I/O接口設計用四組8位的I/O接口電路可以構成一個32位的I/O接口電路,可以一次進行32位數據寬度的I/O操作。I/O讀、寫、片選信號對輸入輸出的控制基本和8位I/O接口電路相同,但是,對于32位數據總線,每個字節都對應著一位字節使能信號,共有4位字節使能信號BE0BE3,因此每個8位I/O接口電路是否有效要受BE3:0的控制。IN EAX,DX ;將I31:0連接設備的32位數據通過數據總線D31:0輸入到EAX。OUT DX,EAX ;將EAX中的數據通過數據總線D31:0輸出到O31:0連接的設備。516

22、5;16點陣工作原理8×8點陣LED相當于8×8個發光管組成的陣列,對于共陽極LED來說,其中每一行共用一個陽極(行控制),每一列共用一個陰極(列控制)。行控制和列控制滿足正確的電平就可使相應行列的發光管點亮。實驗平臺上點陣LED的管腳及相應的行、列控制位如圖4-4所示。圖4-4點陣LED管腳圖共陽極和共陰極LED的內部結構分別如圖4-5和4-6所示。圖4-5共陽極LED內部結構圖 圖4-6共陰極LED內部結構圖4、實驗說明及步驟18位I/O操作實驗本實驗實現的是將開關K7:0的數據通過輸入數據通道讀入CPU的寄存器,然后再通過輸出數據通道將該數據輸出到數據燈顯示,該程序循

23、環運行,直到按動PC鍵盤上任意按鍵再退出程序。實驗程序流程如圖4-7所示。參考實驗接線如圖5-8所示。實驗步驟如下:(1)按圖4-8連接實驗線路圖。(2)運行Tdpit集成操作軟件,根據實驗內容,編寫實驗程序,對實驗程序進行編譯、鏈接。(3)運行程序,撥動開關,觀看數據燈顯示是否正確。圖4-7 8位I/O接口設計實驗參考流程圖 圖4-8 8位I/O接口設計實驗參考接線圖232位I/O操作實驗本實驗利用點陣LED顯示單元的16×16點陣,將16行控制和16列控制合成一個32位端口來操作(列控制連接到發光管的陽極,行控制連接發光管的陰極,列為“1”,相應的行為“0”,則對應的一列發光管點

24、亮)。用32位I/O接口單元中的32位輸出O31:0的高16位控制16列,低16位控制16行,即一次I/O操作就可完成LED點陣的一次顯示。實驗要求控制點陣循環逐行顯示,直到按動PC鍵盤上任意按鍵再停止程序退出。圖4-9 32位I/O操作實驗參考接線圖實驗步驟如下:(1)實驗接線圖如圖4-9所示,按圖連接實驗線路圖。(2)運行Tdpit集成操作軟件,根據實驗內容,編寫實驗程序,對實驗程序進行編譯、鏈接。(3)運行程序,觀看LED點陣顯示是否正確。3點陣顯示實驗利用取字模軟件得到漢字字符數組,設計程序,在點陣上顯示學生姓名。實驗參考接線如圖4-9所示。實驗步驟如下:(1) 按圖4-9連接實驗線路

25、圖。(2) 運行Tdpit集成操作軟件,根據實驗要求編寫實驗程序,編譯、鏈接。(3) 運行程序,觀察點陣的顯示,驗證程序功能。使用點陣顯示符號時,必須首先得到顯示符號的編碼,這可以根據需要通過不同的工具獲得。實驗五 8255并口控制器應用實驗1、實驗目的1)學習并掌握8255的工作方式及其應用。2)掌握8255典型應用電路的接法。2、實驗設備PC微機一臺、TD-PIT+實驗系統一套。3、實驗內容1. 基本輸入輸出實驗。編寫程序,使8255的A口為輸出,B口為輸入,完成撥動開關到數據燈的數據傳輸。要求只要開關撥動,數據燈的顯示就發生相應改變。2. 流水燈顯示實驗。編寫程序,使8255的A口和B口

26、均為輸出,數據燈D7D0由左向右,每次僅亮一個燈,循環顯示,D15D8與D7D0正相反,由右向左,每次僅點亮一個燈,循環顯示。3計數器顯示實驗。編寫程序,使8255的A口和B口均為輸出,數據燈D15D0顯示二進制形式的計數結果。4、實驗原理8255可編程外圍接口芯片是Intel公司生產的通用并行I/O接口芯片,它具有A、B、C三個并行接口,用+5V單電源供電,能在以下三種方式下工作:方式0-基本輸入/輸出方式、方式1-選通輸入/輸出方式、方式2-雙向選通工作方式。8255的內部結構及引腳如圖5-1所示,8255工作方式控制字和C口按位置位/復位控制字格式如圖5-2所示。圖5-1 8255內部結

27、構及外部引腳圖圖5-2 8255控制字格式8255實驗單元電路圖如圖5-3所示:圖5-3 8255實驗單元電路圖5、實驗步驟1. 基本輸入輸出實驗本實驗使8255端口A工作在方式0并作為輸出口,端口B工作在方式0并作為輸入口。用一組開關信號接入端口B,端口A輸出線接至一組數據燈上,然后通過對8255芯片編程來實現輸入輸出功能。具體實驗步驟如下述:(1)實驗接線圖如圖5-4所示,按圖連接實驗線路圖。(2)運行Tdpit集成操作軟件,根據實驗內容,編寫實驗程序,編譯、鏈接。(3)運行程序,改變撥動開關,同時觀察LED顯示,驗證程序功能。圖5-4 8255基本輸入輸出實驗接線圖2. 流水燈顯示實驗使

28、8255的A口和B口均為輸出,數據燈D7D0由左向右,每次僅亮一個燈,循環顯示,D15D8與D7D0正相反,由右向左,每次僅點亮一個燈,循環顯示。實驗步驟如下所述:(1)實驗接線圖如圖5-5所示,按圖連接實驗線路圖。(2)運行Tdpit集成操作軟件,根據實驗內容,編寫實驗程序,編譯、鏈接。(3)運行程序,觀察LED燈的顯示,驗證程序功能。(4)自己改變流水燈的方式,編寫程序。圖5-5 8255流水燈實驗接線圖3. 計數器顯示實驗使8255的A口和B口均為輸出,數據燈D15D0顯示二進制形式的計數結果。實驗步驟如下所述:(1)實驗接線圖如圖5-5所示,按圖連接實驗線路圖。(2)運行Tdpit集成

29、操作軟件,根據實驗內容,編寫實驗程序,編譯、鏈接。(3)運行程序,觀察LED燈的顯示,驗證程序功能。實驗六 8259中斷控制器實驗1、實驗目的1. 掌握8259中斷控制器的工作原理。2. 掌握8259中斷控制器的應用編程方法。2、實驗設備PC微機一臺、TD-PIT+實驗系統一套。3、實驗內容(1) 利用實驗平臺上的8259控制器,通過查詢中斷源方法,設計一個查詢中斷應用實驗,處理IR0和IR1發出的中斷請求。(2) 利用上述查詢中斷實驗,實現點陣漢字(學生姓名)的滾動顯示。要求通過IR0實現點陣的左右滾動顯示和停止,通過IR1實驗點陣漢字的上下滾動顯示和停止。4、實驗原理1. 中斷控制器825

30、9簡介中斷控制器8259是Intel公司專為控制優先級中斷而設計開發的芯片。它將中斷源優先級排隊、辨別中斷源以及提供中斷矢量的電路集于一片中,因此無需附加任何電路,只需對8259進行編程,就可以管理8級中斷,并選擇優先模式和中斷請求方式,即中斷結構可以由用戶編程來設定。同時,在不需增加其他電路的情況下,通過多片8259的級連,能構成多達64級的矢量中斷系統。它的管理功能包括:1)記錄各級中斷源請求,2)判別優先級,確定是否響應和響應哪一級中斷,3)響應中斷時,向CPU傳送中斷類型號。8259的內部結構和引腳如圖6-1所示。圖6-1 8259內部結構和引腳圖8259的命令共有7個,一類是初始化命

31、令字,另一類是操作命令。8259的編程就是根據應用需要將初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分別寫入初始化命令寄存器組和操作命令寄存器組。ICW1-ICW4各命令字格式如圖6-2所示,OCW1-OCW3各命令字格式如圖6-3所示,其中OCW1用于設置中斷屏蔽操作字,OCW2用于設置優先級循環方式和中斷結束方式的操作命令字,OCW3用于設置和撤銷特殊屏蔽方式、設置中斷查詢方式以及設置對8259內部寄存器的讀出命令。圖6-2(a)ICW1格式圖6-2(b)ICW2格式圖6-2(c)ICW3格式圖6-2 (d)ICW4格式圖6-3 OCW命令字格式28259寄存器及命令的控制

32、訪問在硬件系統中,8259僅占用兩個外設接口地址,在片選有效的情況下,利用A0來尋址不同的寄存器和命令字。對寄存器和命令的訪問控制如表6-1所示。表6-1 8259寄存器及命令的訪問控制A0D4D3讀信號寫信號片選操作0010讀出ISR,IRR的內容1010讀出IMR的內容000100寫入OCW2 001100寫入OCW3 01×100寫入ICW1 1××100寫入OCW1,ICW2,ICW3,ICW45、實驗說明及步驟18259查詢中斷應用實驗8259支持查詢方式檢測中斷請求。具體過程為:設置8259 OCW3中的P位為1即可執行查詢命令,8259將下一個I/O

33、讀命令視作一次中斷響應。如果有中斷請求,則置ISR中的相應位并讀其優先級。從OCW3寫操作到I/O讀操作期間禁止中斷,讀出字節的最高位為1表示有中斷,最低3位(D2D0)為最高優先級中斷請求源的編碼。查詢字格式如圖6-4所示。圖6-4 8259 OCW3查詢字格式本實驗要求使用這種方法編寫程序處理實驗單元8259 IR0和IR1請求的中斷,IR0請求在屏幕上顯示字符“0”,IR1請求則在屏幕上顯示字符“1”以示中斷到來。IR0和IR1分別用一個單次脈沖的上升沿模擬中斷產生。圖6-5 8259查詢中斷實驗參考接線圖實驗步驟如下。(1) 實驗接線圖如圖6-5所示,按圖接線。(2) 運行Tdpit集

34、成操作軟件,編寫程序,編譯、鏈接。(3) 運行程序,按動KK1+、KK2+按鍵,觀察中斷響應是否正常。2點陣漢字滾動顯示實驗利用實驗單元中的8259控制器,可以對總線上的INTR進行中斷源的擴充。將8259的INT連接到INTR,8259的8路中斷請求線IR0IR7就成了單一INTR中斷請求線的擴充。這8路中斷源共用INTR的中斷矢量,共用INTR的中斷服務程序。在INTR的中斷服務程序中通過對8259 OCW3的查詢,以確定是IR0IR7中哪個產生中斷,然后轉到相應的服務線程進行處理。本實驗要求實現8259控制器IR0、IR1兩路中斷都可以通過INTR向PC發起中斷請求,實現點陣漢字(學生姓

35、名)的滾動顯示。用KK1+和KK2+模擬兩個中斷源,在IR0對應的服務程序中實現點陣的左右滾動顯示和停止,在IR1對應的服務程序中實現點陣漢字的上下滾動顯示和停止。實驗步驟如下。(1) 實驗接線圖如圖5-9和圖6-6所示,按圖接線,其中點陣LED單元使用IOY0作為片選信號CS的輸入,8259單元使用IOY1作為片選信號CS的輸入,具體地址可以通過Tdpit集成操作軟件中下拉菜單【查看】>【端口資源】獲得。(2) 運行Tdpit集成操作軟件,編寫程序,編譯、鏈接。(3) 運行程序,按動KK1+、KK2+按鍵,觀察點陣LED顯示是否正常。圖6-6 8259中斷實現點陣滾動顯示實驗參考接線圖

36、實驗七 8254定時/計數器應用實驗1、實驗目的1. 掌握8254的工作方式及應用編程。2. 掌握8254典型應用電路的接法。2、實驗設備PC微機一臺、TD-PIT+實驗系統一套,示波器一臺。3、實驗內容1. 計數應用實驗。編寫程序,應用8254的計數功能,使用單次脈沖模擬計數,使每當按動KK15次后,產生一次計數中斷,并在屏幕上顯示一個字符5。2. 定時應用實驗。編寫程序,應用8254的定時功能,產生一個類似于SOS(三短音-三長音-三短音)的信號,通過電子發聲單元實現。4、實驗原理8254是Intel公司生產的可編程間隔定時器。是8253的改進型,比8253具有更優良的性能。8254具有以

37、下基本功能:(1)有3個獨立的16位計數器。(2)每個計數器可按二進制或十進制(BCD)計數。(3)每個計數器可編程工作于6種不同工作方式。(4)8254每個計數器允許的最高計數頻率為10MHz(8253為2MHz)。(5)8254有讀回命令(8253沒有),除了可以讀出當前計數單元的內容外,還可以讀出狀態寄存器的內容。(6)計數脈沖可以是有規律的時鐘信號,也可以是隨機信號。計數初值公式為:n=fCLKi÷fOUTi其中fCLKi是輸入時鐘脈沖的頻率,fOUTi是輸出波形的頻率。圖7-1是8254的內部結構框圖和引腳圖,它是由與CPU的接口、內部控制電路和三個計數器組成。圖7-1 8

38、254的內部接口和引腳8254的工作方式如下述:(1)方式0:計數到0結束輸出正躍變信號方式。(2)方式1:硬件可重觸發單穩方式。(3)方式2:頻率發生器方式。(4)方式3:方波發生器。(5)方式4:軟件觸發選通方式。(6)方式5:硬件觸發選通方式。8254的控制字有兩個:一個用來設置計數器的工作方式,稱為方式控制字;另一個用來設置讀回命令,稱為讀回控制字。這兩個控制字共用一個地址,由標識位來區分。控制字格式如表7-17-3所示。表7-1 8254的方式控制字格式表7-2 8254讀出控制字格式表7-3 8254狀態字格式8254實驗單元電路圖如下圖所示:圖7-2 8254實驗電路原理圖5、實

39、驗步驟1. 計數應用實驗編寫程序,將8254的計數器0設置為方式3,計數值為十進制數4,用單次脈沖KK1作為CLK0時鐘,OUT0連接INTR,每當KK1按動5次后產生中斷請求,在屏幕上顯示字符“5”。實驗步驟如下:(1)實驗接線如圖7-3所示。(2)運行Tdpit集成操作軟件,根據實驗內容,編寫實驗程序,編譯、鏈接。(3)運行程序,按動KK1產生單次脈沖,觀察實驗現象。(4)改變計數值,驗證8254的計數功能。圖7-3 8254計數應用實驗接線圖2. 定時應用實驗編寫程序,將8254的計數器設置為方式3,用信號源1.8432MHz作為CLK2時鐘,將相應一種頻率的計數初值寫入計數器,就可產生

40、對應頻率的方波,計數初值的計算公式如前所述。長短音的控制可以通過軟件延時來實現。電子發聲電路如圖7-4所示。實驗步驟如下:圖7-4 電子發聲單元電路圖(1) 實驗接線圖如圖7-5所示,按圖接線。(2) 運行Tdpit集成操作軟件,根據實驗要求編寫實驗程序,編譯、鏈接。(3) 運行程序,聽揚聲器發出的聲音是否正確。圖7-5 8254定時應用實驗接線圖實驗八 16550串行控制器應用實驗1、實驗目的1)掌握16550的工作方式及應用。2)了解有關串口通訊的知識。3)掌握使用16550實現雙機通訊的軟件編程和電路連接。2、實驗設備PC微機一臺、TD-PIT+實驗系統一套。3、實驗內容與PC串口通訊應

41、用實驗。編寫程序完成PC機串口與實驗裝置串口的通訊,由PC機串口1發數,實驗裝置串口接收,當接收完畢后,再由實驗裝置將接收的結果通過串口發送給PC機,以此來驗證通訊是否正常。4、實驗原理圖8-1 16550引腳圖16550是一種連接任何類型虛擬串行接口的可編程通信接口,與Intel微處理器完全兼容的使用非常廣泛的異步接收器/發送器(UART)。它內置了16字節的FIFO緩沖,最大通訊速率可達115Kb/s,是現代基于微處理器設備包括PC機和許多調制解調器的最普遍的通信接口。16550的引腳如圖8-1所示,其內部結構如圖8-2所示。1端口地址的使用16550內部有11個寄存器,在芯片選擇有效的前

42、提下,由芯片的寄存器選擇輸入線A2,A1和A0來確定訪問的寄存器,芯片中采用兩條措施來解決端口地址少的問題(只有8個地址)。圖8-2 16550的內部結構圖(1) 保持寄存器和接收數據寄存器共用一個地址,以“寫入”訪問前者、“讀出”訪問后者加以區分。(2) 除數寄存器的高字節與中斷允許寄存器使用相同地址,高字節和接收數據寄存器、發送保持寄存器使用相同的地址,為了區分,借用線路控制寄存器的最高位DLAB位來區分。訪問除數寄存器時,令DLAB位為“1”;訪問接收數據寄存器、發送保持寄存器和中斷允許寄存器時,則將DLAB位置“0”。具體說明如表8-1所示。表8-1 16550內部寄存器地址及其選擇方

43、法2寄存器控制字說明(1) 線路控制寄存器(LCR),主要用于指定異步串行通信的數據格式。見表8-2。表8-2 LCR格式(2) 線路狀態寄存器(LSR),主要是向處理器提供有關數據傳輸的狀態。見表8-3。表8-3 LSR格式(3) 波特率除數寄存器,用該寄存器設置串行數據的傳送波特率。除數寄存器值基準時鐘頻率÷(16×波特率)16550芯片輸入的基準時鐘頻率為1.8432MHz,若波特率為9600b/s,則除數寄存器值為000CH,DLH中應填00H,DLL中應填0CH。16550常用波特率參數見表8-4。表8-4 常用的波特率參數表速率(b/s) 波特率高八位波特率低八

44、位50 09H 00H 300 01H 80H 600 00H C0H 2400 00H 30H 4800 00H 18H 9600 00H 0CH 19200 00H 06H 38400 00H 03H 57600 00H 02H 115200 00H 01H (4) 中斷允許寄存器(IER),16550共有4級中斷,按優先級從高到低依次為:接收出錯中斷、接收緩沖器滿中斷、發送保持寄存器空中斷和MODEM輸入狀態改變中斷。這些中斷的允許或屏蔽由IER來控制。見表8-5。表8-5 IER格式(5) 中斷標識寄存器(IIR),當16550處于中斷處理方式,IIR指出有無待處理的中斷發生及其類型,

45、并且封鎖比此類優先級低的所有類型中斷。見表8-6。表8-6 IIR格式(6) MODEM控制寄存器(MCR),MCR控制芯片的4個引腳的輸出和芯片的環路檢測。見表8-7。表8-7 MCR格式(7) MODEM狀態寄存器(MSR),MSR反映UART與通信設備(如MODEM)之間聯絡信號的當前狀態以及這些信號的變化情況。見表8-8。表8-8 MSR格式D7 D6 D5 D4 D3 D2 D1 D0 RLSD RI DSR CTS RLSDTERI DSR CTS 收到“接收線載波檢測” 收到“振鈴指示”收到“數傳機就緒” 收到“清除發送”RLSD位發生改變收到“振鈴指示后沿”DSR位發生變化CT

46、S位發生變化說明:D71表示輸入引腳RLSD0,MODEM收到來自電話線的載波信號。D61表示輸入引腳RI0,MODEM收到振鈴信號。D51表示輸入引腳DSR0,MODEM做好了發送準備,請16550準備接收。D41表示輸入引腳CTS0,MODEM做好了接收準備,16550可以發送數據。D3,D1,D0位為“1”是說明在上次讀取MSR之后,MSR的D7,D5,D4中相應位發生了變化。D2位為“1”是說明輸入到芯片的RI已由邏輯“1”狀態變成邏輯“0”狀態。(8) FIFO控制寄存器(FCR),16550增加了一個FIFO緩沖器,用于緩沖正在發出或接收的數據,這是早期的UART器件所沒有的。FC

47、R各位意義見表8-9。表8-9 FCR格式位意義位意義0 允許FIFO緩沖器工作4保留1 清除接收FIFO緩沖器5不用2 清除發送FIFO緩沖器6接收端中斷觸發器水平(LSB)3 DMA方式7接收端中斷觸發器水平(MSB)5、實驗步驟用串行通訊電纜將PC機COM1與實驗系統串口連接起來,分別對兩個串口進行設置,實現數據通訊。PC中集成的串口控制器完全與16550兼容,其寄存器設置方式與前面所述完全一致。PC機COM1的端口地址如表8-10所示。表8-10 PC機COM1端口地址分配表端口地址DLAB相應寄存器03F8 0 接收數據寄存器(讀),發送數據寄存器(寫)03F9 0 中斷允許寄存器0

48、3F8 1 波特率除數寄存器(低字節)03F9 1 波特率除數寄存器(高字節)03FA X 中斷標識寄存器03FB X 線路控制寄存器(位7即為DLAB)03FC X MODEM控制寄存器03FD X 線路狀態寄存器03FE X MODEM狀態寄存器實驗步驟如下。(1)實驗接線圖如圖8-4所示,按圖連接實驗線路圖。(2)運行Tdpit集成操作軟件,參考圖8-3所示流程圖,編寫實驗程序,編譯、鏈接。(3)運行程序,觀察屏幕數據顯示,看接收是否正確。(a) 主程序(b) 中斷處理程序圖8-3與PC串行通訊應用實驗程序流程圖圖8-4與PC串行通訊應用實驗接線圖實驗九 8237 DMA控制器應用實驗1

49、、實驗目的1. 掌握8237DMA控制器的工作原理。2. 了解DMA特性及8237的幾種數據傳輸方式。3. 掌握8237的應用編程。2、實驗設備PC微機一臺、TD-PIT+實驗系統一套。3、實驗內容編寫實驗程序,將PC機內存中的一段數據傳送至擴展的存儲器中,然后通過Tdpit軟件中的“擴展存儲區數據顯示窗口”查看該存儲空間,檢測寫入數據是否正確。4、實驗原理直接存儲器訪問(Direct Memory Access,簡稱DMA),是指外部設備不經過CPU的干涉,直接實現對存儲器的訪問。DMA傳送方式可用來實現存儲器到存儲器、存儲器到I/O接口、I/O接口到存儲器之間的高速數據傳送。1SRAM 6

50、2256介紹存儲器是用來存儲信息的部件,是計算機的重要組成部分,靜態RAM是由MOS管組成的觸發器電路,每個觸發器可以存放1位信息。只要不掉電,所儲存的信息就不會丟失。因此,靜態RAM工作穩定,不要外加刷新電路,使用方便。但一般SRAM 的每一個觸發器是由6個晶體管組成,SRAM芯片的集成度不會太高,目前較常用的有6116(2K×8bits),6264(8K×8 bits)和62256(32K×8 bits)。62256 SRAM有32768個存儲單元,每個單元為8位字長。62256的引腳如圖9-1所示。圖9-1 62256引腳圖232位總線的存儲器接口32位系統

51、總線提供XA2XA31、BE0BE3、MY0信號為存儲器提供物理地址。MY0是系統為存儲器擴展提供的片選信號,其地址空間為D8000HDFFFH(詳見附錄B的編程信息),XA2XA31用來確定一個4字節的存儲單元,BE0BE3用來確定當前操作中所涉及到4字節存儲單元中的那個字節。BE0對應D7:0,BE1對應D15:8,BE2對應D23:16,BE3對應D31:24。其對應關系如表9-1所示。表9-1 BE3:0指示和數據總線有效對照表BE3BE2BE1 BE0 D31:24D23:16D15:8D7:0 1 1 1 0 ×××D7:0 1 1 0 1 ×

52、;×D15:8×1 0 1 1 ×D23:16××0 1 1 1 D31:24×××1 1 0 0 ××D15:8D7:0 0 0 1 1 D31:24D23:16××0 0 0 0 D31:24D23:16D15:8D7:0 在SRAM實驗單元中,使用了4片62256 SRAM構成4×8bits的32位存儲器,存儲體分為0體、1體、2體和3體,分別為字節使能線BE0、BE1、BE2和BE3選通。其電路結構如圖9-2所示。圖9-2 32位存儲器單元電路結構圖332位

53、存儲器操作(1) 規則雙字操作在存儲器中,從4的整數倍地址開始存放的雙字稱為規則雙字。CPU訪問規則雙字只需要一個總線周期,BE0、BE1、BE2和BE3同時有效,從而同時選通0、1、2和3四個存儲體。兩次規則雙字操作對應的時序如圖9-3所示。MOV 0000,EAX ;將EAX數據寫入地址0000H中MOV 0004,EAX ;將EAX數據寫入地址0004H中圖9-3 32位存儲器規則雙字操作時序圖(2) 非規則雙字操作在存儲器中,從4的非整數倍地址開始存放的雙字稱為非規則雙字。CPU訪問非規則雙字需要兩個總線周期。通過BE0、BE1、BE2和BE3在兩個周期中選通不同的字節。例如從4的整數倍地址加1的單元開始訪問,第一個總線周期BE1、BE2和BE3有效,訪問3個字節;第二個總線周期地址遞增,BE0有效,訪問剩余的一個字節。然后自動將4個字節組合為一個雙字。兩次非規則雙字操作對應的時序如圖9-4所示。MOV 0001,EAX ;將EAX數據寫入地址0001H中MOV 0005,EAX ;將EAX數據寫入地址0005H中圖9-4 32位存儲器非規則雙

溫馨提示

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

評論

0/150

提交評論