東南大學(xué)微機原理復(fù)習(xí)課(接口部分)_第1頁
東南大學(xué)微機原理復(fù)習(xí)課(接口部分)_第2頁
東南大學(xué)微機原理復(fù)習(xí)課(接口部分)_第3頁
東南大學(xué)微機原理復(fù)習(xí)課(接口部分)_第4頁
東南大學(xué)微機原理復(fù)習(xí)課(接口部分)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二次習(xí)題(復(fù)習(xí))課第4部分:半導(dǎo)體存儲器第5部分:數(shù)字量輸入輸出總線、接口概念*接口電路(芯片)、端口地址*數(shù)據(jù)傳送方式*中斷電路及其處理*定時/計數(shù)器電路與應(yīng)用*并行接口電路與應(yīng)用*串行接口電路與應(yīng)用DMA電路與應(yīng)用第6部分:模擬量輸入輸出Cache—主存—外存(輔存)

三級存儲系統(tǒng)結(jié)構(gòu)根據(jù)運行時存?。ㄗx寫)過程的不同分類RAM---SRAM;DRAM;數(shù)據(jù),堆棧,速度(SRAM-Cache)ROM---EPROM,EEPROM,NVRAM特點;程序,固化數(shù)據(jù),電子盤內(nèi)/外存半導(dǎo)體存儲器關(guān)鍵:與處理器的接口—正確讀寫單元,三態(tài),使能,

選中單元:譯碼邏輯關(guān)系、譯碼器真值表MOV[55AAH],AL(DS)=8000H物理地址:855AAHA19-A0:10000101,0101,1010,1010時/CS=0容量計算:n根地址線=2n個單元A0—An-1

I/O相同:(DX)=3F8HINAL,DXINCDX,OUTDX,AL譯碼全譯碼、部分譯碼、線選譯碼常規(guī)時序(了解)片選-片內(nèi)兩級譯碼2-43-84-16譯碼74LS138真值表譯碼(續(xù))8086/8088有20根地址線系統(tǒng)程序存放在______存儲器中有可能支持程序在線升級。(A)RAM(B)ROM(C)EPROM(D)Flash-ROM答案:D例題例題例題4.4:某系統(tǒng)的存儲器中配備有兩種芯片;容量分別為2K×8的EPROM和容量為1K×8的RAM。它采用74LS138譯碼器產(chǎn)生片選信號:Y0,Y1,Y2直接到三片EPROM(1#,2#,3#);Y4,Y5則通過一組門電路產(chǎn)生四個片選信號接到四片RAM(4#,5#,6#,和7#)。如題圖4-1,試確定每一片存儲器的尋址范圍。

例題A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A04#1010005#1010016#1010107#1010111#8000H—87FFH2#8800H—8FFFH3#9000H—97FFH4#A000H—A3FFH5#A400H—A7FFH6#A800H—ABFFH7#AC00H—AFFFH例題答案:A(08考題基本概念)總線、接口概念地址總線(AB)——單向 數(shù)據(jù)總線(DB)——雙向 控制總線(CB)——每根線單向5.接口技術(shù)—數(shù)字/模擬接口輸入指令I(lǐng)NAL,DX時序/IORD-AB譯碼選中輸出指令OUTDX,AL時序/IOWR譯碼選中所有接口電路的譯碼、指令操作(讀圖),簡單互連74LS138譯碼器多種選擇設(shè)計:(不唯一,可標注說明)可選常規(guī),易實現(xiàn)I/O三種方式程序I/O(查詢)--三種端口數(shù)據(jù)/狀態(tài)/控制及作用,中斷,效率較高,CPU響應(yīng)較快,但傳送由中斷軟件完成

DMA,可以實現(xiàn)外設(shè)和存儲器之間的數(shù)據(jù)高速傳送,不需要處理器。效率較高,硬件完成,但電路復(fù)雜可編程接口芯片:獨立/CS,/OE,/WR信號問題的提出:CPU與外設(shè)的工作速度不一致,如何解決效率和可靠性?5.接口技術(shù)—數(shù)字/模擬接口硬件連線:開關(guān)轉(zhuǎn)換(上拉電阻)和LED驅(qū)動(限流電阻)8255/273/244I/O簡單I/O:開關(guān)和LED/八段數(shù)碼管的連接,輸入三態(tài)緩沖74LS245/244;輸出鎖存器74LS273上升沿/373下降沿;例題例:選擇題8086/8088系統(tǒng)采用I/O端口與內(nèi)存地址采取___B___方式。(A)統(tǒng)一編址(B)獨立編址(C)部分譯碼(D)線選法譯碼在獨立編址方式下,存儲單元和I/O設(shè)備是靠C來區(qū)分的。A:不同的地址代碼B:不同的地址總線C:不同的指令或不同的控制信號考點:概念例:填空題微機系統(tǒng)中一般有3種基本I/O控制方式,分別是程序(查詢)方式,中斷方式,和DMA方式。5-1(2)輸入輸出電路如教材中圖5.11和5.12所示,試編一程序,實現(xiàn)微機連續(xù)檢測開關(guān)K1-K8狀態(tài),當(dāng)開關(guān)K1-K8全部閉合或全部斷開時使LED亮,否則使LED熄滅,同時把開關(guān)狀態(tài)存放在SwitchS單元內(nèi)。MOVDX,218H;開關(guān)輸入端口INAL,DXCHKS:CMPAL,0FFHJZALLONOFF;全斷開CMPAL,0 JNZONOFFALLONOFF:MOVAL,1JMPLEDOUTONOFF:MOVAL,0LEDOUT:DX,219H;LED端口:1亮OUTDX,AL

MOVSwitchS,AL;保存開關(guān)狀態(tài)例題讀入I/O數(shù)據(jù)存入單元之類基本要求必須掌握中斷及中斷控制器8259分類(1)外部中斷不可屏蔽中斷NMI/可屏蔽中斷INTR(2)內(nèi)部中斷INTn:軟中斷CPU的某些運算錯誤引起的中斷:除法錯、溢出由調(diào)試程序debug設(shè)置的中斷:單步/斷點

了解:中斷屏蔽;中斷優(yōu)先級;中斷嵌套;掌握:中斷處理過程,中斷服務(wù)程序,現(xiàn)場保護。應(yīng)用——外部中斷的隨機性,中斷程序與其他程序的通信(共享內(nèi)存)中斷概念:CPU與外設(shè)交換信息的一種重要方式==》硬件手段,改變CPU執(zhí)行程序的順序(程序流)中斷及中斷控制器8259CPU步驟:⑴獲取中斷類型號;⑵將標志寄存器FLAGS的值入棧;⑶將中斷允許標志IF和單步標志TF清0——屏蔽外部其它中斷請求,避免CPU以單步方式執(zhí)行中斷處理程序;⑷保護斷點——將當(dāng)前下一條指令的CS和IP的值入棧;⑸根據(jù)中斷類型號到中斷向量表中找到中斷向量,轉(zhuǎn)入相應(yīng)中斷服務(wù)子程序(6)中斷處理程序結(jié)束后,從堆棧中依次彈出IP、CS和FLAGS,然后返回主程序斷點處,繼續(xù)執(zhí)行原來的程序CPU響應(yīng)中斷三個條件:外設(shè)提出中斷申請;本中斷未被屏蔽;CPU中斷允許。中斷控制:中斷源---中斷請求---中斷響應(yīng)---中斷服務(wù)---中斷恢復(fù)中斷響應(yīng)和處理流程當(dāng)前指令結(jié)束?軟中斷?NMI?INTR?TF=1?執(zhí)行下一條指令I(lǐng)F=1?

取類型碼PSW入棧、清IF、TFCS、IP入棧調(diào)中斷處理程序(進入)又有NMI?執(zhí)行中斷子程序IP、CS、PSW出棧返回主程序硬件監(jiān)測處理YYYYYYYNIRET中斷優(yōu)先級——例程習(xí)題5.4如正以單步方式運行某用戶程序(該程序開放外部中斷,即IF=1)的過程中執(zhí)行一條除法指令時,INTR線上出現(xiàn)可屏蔽中斷請求。然后,這條除法指令產(chǎn)生了除法出錯中斷。試指出CPU處理這三種同時出現(xiàn)的中斷的順序。優(yōu)先級從高到低:除0->INTR->單步8259的編程兩步:1、初始化編程——一次寫入(編程)初始化命令字ICW1~42、工作編程——可多次寫入(編程)工作命令字OCW1~3初始化編程順序:ICW1->ICW2 ->[多片時寫ICW3]->[需要時寫ICW4]中斷處理程序INT_PROCPROCFAR MOVAX,DATA MOVDS,AX DECIRQ_TIMES MOVCX,0FFFFHLOOP2: NOP LOOPLOOP2

MOVAL,20H OUT20H,AL ;寫OCW2

IRET INT_PROCENDP實驗四(2)注意保護現(xiàn)場:相關(guān)的通用寄存器+段寄存器PUSHAXPUSHCXPUSHDXPOPDXPOPCXPOPAX

補充PUSHDS

補充POPDS補充

CLI ;關(guān)中斷補充STI;開中斷T/C8253:定時器/計數(shù)器可編程8253:單通道長時間定時器的軟件編程實現(xiàn)—軟件定時器硬件級連的概念---定時中斷背景為CPU和外部設(shè)備提供實時時鐘:定時或延時控制定時中斷、定時檢測、定時掃描——Timer對外部事件計數(shù)——Counter。T/C8253:定時器/計數(shù)器可編程定時器/計數(shù)器(減法)定時器與計數(shù)器的差別--CLK控制字:高/低字節(jié),BIN/BCD六種工作方式(數(shù)字n個脈沖--n可編程設(shè)置)CLK/GATE/OUT的含義(作用)方式2使用(定時器---頻率發(fā)生器(n分頻器)---軟硬件啟動) 軟件觸發(fā)—寫入初值,硬件觸發(fā)–Gate(08考題)時間常數(shù)計算(計數(shù)初值),通道定時時間的最大值計算計數(shù)值最大時應(yīng)置時間常數(shù)為0(和LOOPCX相同)T/C8253:定時器/計數(shù)器各種工作方式的輸出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2

N/20/N0N01N01N01定時器/計數(shù)器—例程例題:設(shè)8253通道0-2和控制端口地址分別為300H、302H、304H、306H,定義通道0工作在方式3,CLK0=2MHz,要求通道0輸出1.5KHz方波;通道1用通道0的輸出作為計數(shù)脈沖,輸出頻率為300Hz的負脈沖序列;通道2每秒向CPU發(fā)50次中斷請求。0通道工作在方式3(方波),n0=2MHz/1.5KHz=13341通道工作在方式2(速率發(fā)生器),n1=1.5KHz/300Hz=52通道工作在方式3(結(jié)束中斷),當(dāng)CLK2=2MHz時,n2=2MHz/50Hz=40000;當(dāng)CLK2=OUT0=1.5KHz時,n2=1.5KHz/50Hz=30;當(dāng)CLK2=OUT1=300Hz時,n2=300Hz/50Hz=6定時器/計數(shù)器—例程GATE0GATE1GATE2CLK0OUT0CLK1OUT1CLK2OUT2D7~D0D7~D0A0A1A1A2RDRDWRWRCBAG1G2AG2BY0A8A9A7A6A5A4A3A0M/IOCS+5V2MHz1.5KHz300Hz50次/秒中斷74LS1388253 MOV DX, 306H MOV AL, 00110111B;方式3,先讀/寫低8位, ;后讀/寫低8位,BCD計數(shù)

0通道初始化:OUT DX, AL MOV DX, 300H MOV AL, 34H ;初值低8位 OUT DX, AL MOV AL, 13H ;初值高8位 OUT DX, AL 1通道初始化: MOV DX, 306H MOV AL, 01010101B ;方式2,只讀/寫低8位,BCD計數(shù) OUT DX, AL MOV DX, 302H MOV AL, 05H ;初值 OUT DX, AL 2通道初始化:

MOV DX, 306H MOV AL, 10010111B ;方式3,只讀/寫低8位,BCD計數(shù) OUT DX, AL MOV DX, 304H MOV AL, 30H ;初值 OUT DX, AL 習(xí)題5.9:假定一片8253連接至1KHz的時鐘,用該8253以BCD格式保持一天中的時間,精度為秒。在HOURS(小時)、MINUTES(分)、SECOND(秒)等字節(jié)均裝入當(dāng)前時間以后,就立即開始計時。試編寫一個8253的初始化程序和一個在每秒結(jié)束時修改時間的中斷程序。定時器/計數(shù)器—例程MOVDX,CNT+3 ;控制字端口地址MOVAL,30H ;通道0,先低后高,方式0OUTDX,ALMOVAL,E7H ;計數(shù)初值1000-1=999(3E7H)MOVDX,CNT ;通道0端口地址OUTDX,AL MOVAL,03HOUTDX,AL┇(續(xù))INTSV: ;中斷服務(wù)程序PUSH…

;保護現(xiàn)場INCSECONDS CMPSECONDS,60

;秒>=60,進位JCNEXTFMOVSECONDS,0INCMINUTSCMPMINUTS,60

;分>=60,進位JCNEXTFMOVMINUTS,0INCHOURSCMPHOURS,24

;小時>=24JCNEXTFMOVHOURS,0┇NEXTF:POP…┇并行I/O接口i8255方式0:基本直接I/O,含輸出鎖存/輸入緩沖無鎖存;方式1:選通I/O(A口/B口,C口聯(lián)絡(luò));方式2:雙向I/O方式(PA口);方式1/2帶INTR,可中斷;IBF/OBF信號的作用(輸入/輸出緩沖區(qū)滿/空);而方式0只能查詢。8255控制字:(1)方式字,特征位D7=1;(2)PC口位控功能字,特征位D7=0,允許CPU用輸出指令單獨對C口的某一位寫入“1”或“0”,正確的方法是通過寫8255的控制寄存器方式寫入;

脈沖的產(chǎn)生:位0-1-05-2(1)如題圖5-1所示,此為開關(guān)狀態(tài)檢測電路和繼電器控制電路。當(dāng)開關(guān)K閉合時,將驅(qū)動對應(yīng)的繼電器(即動作);如開關(guān)處于斷開狀態(tài),則無電流流過繼電器線圈,繼電器不動作。如系統(tǒng)每隔10ms檢測一次開關(guān)狀態(tài)和對繼電器作相應(yīng)控制,定時控制由8253完成。試編寫對8255A的初始化程序(初始態(tài)時應(yīng)保證繼電器不動作)和完成上述功能的檢測、控制程序。設(shè)8255A地址為60H~63H。例題

方式0A出B入,開關(guān)Si閉合時PBi=1,PAi=0低電平時繼電器Ri吸合INIT:MOVAL,1000X01XB MOVDX,63H OUTDX,AL MOVAL,0 MOVDX,60H OUTDX,AL ;PA輸出0:繼電器不動作;10ms執(zhí)行一次:MOVDX,61HINAL,DXMOVSbyte,AL;讀PB,存入Sbyte單元:MOVAL,Sbyte;檢測開關(guān),輸出存CTRLbyte單元NOTALMOVCTRLbyte,AL:MOVAL,CTRLbyteMOVDX,60H‘;PAOUTDX,AL串行I/O接口8250/8251基本概念:同步/異步通信,波特率/傳輸字符速率的關(guān)系,單工/雙工,調(diào)制解調(diào),RS232電平標準,異步通信數(shù)據(jù)格式:起始位(1),數(shù)據(jù)位(5-8,先低后高),奇偶校驗*1,停止位(1-2),==〉每位時間寬度=1/波特率。8250:結(jié)構(gòu)特征:雙緩沖器——數(shù)據(jù)收發(fā)都有移位寄存器;編程:3根地址線=>10個寄存器,尋址表5.10;傳輸線控制寄存器(DLAB位)傳輸線狀態(tài)寄存器(溢出:寄存器被覆蓋,(a)發(fā)送太快,沒有來得及送出,(b)接收太慢,沒有及時讀?。┏龜?shù)

溫馨提示

  • 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

提交評論