微機原理-復習省名師優(yōu)質(zhì)課賽課獲獎課件市賽課百校聯(lián)賽優(yōu)質(zhì)課一等獎課件_第1頁
微機原理-復習省名師優(yōu)質(zhì)課賽課獲獎課件市賽課百校聯(lián)賽優(yōu)質(zhì)課一等獎課件_第2頁
微機原理-復習省名師優(yōu)質(zhì)課賽課獲獎課件市賽課百校聯(lián)賽優(yōu)質(zhì)課一等獎課件_第3頁
微機原理-復習省名師優(yōu)質(zhì)課賽課獲獎課件市賽課百校聯(lián)賽優(yōu)質(zhì)課一等獎課件_第4頁
微機原理-復習省名師優(yōu)質(zhì)課賽課獲獎課件市賽課百校聯(lián)賽優(yōu)質(zhì)課一等獎課件_第5頁
已閱讀5頁,還剩173頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微型計算機系統(tǒng)8086微處理器工作模式及引腳特征

28086微型計算機系統(tǒng)總線時序

4半導體存放器分類18086微處理器結(jié)構(gòu)

18086微型計算機系統(tǒng)

31/178微處理器結(jié)構(gòu)8086CPU16位微處理器8086CPU含有

20條地址線,可直接尋址

1MB容量內(nèi)存空間,在訪問I/O端口時,使用地址線

16條

,最多可尋址

64K個I/O端口。有16根數(shù)據(jù)線2/1788086內(nèi)部結(jié)構(gòu)有兩個功效模塊:模塊之一:總線接口單元BIU,主要完成計算物理地址、從內(nèi)存中取指令、實現(xiàn)指令要求讀/寫存放器或外部設(shè)備等信息傳輸類操作。模塊之二:執(zhí)行單元EU,主要負責指令譯碼、執(zhí)行和數(shù)據(jù)運算,包含計算有效地址

8086/8088CPU內(nèi)部結(jié)構(gòu)分為哪兩大模塊,各自主要功效是什么?答:總線接口部件(BIU)功效:依據(jù)執(zhí)行單元EU請求完成CPU與存放器或IO設(shè)備之間數(shù)據(jù)傳送。執(zhí)行部件(EU),作用:從指令對列中取出指令,對指令進行譯碼,發(fā)出對應傳送數(shù)據(jù)或算術(shù)控制信號接收由總線接口部件傳送來數(shù)據(jù)或把數(shù)據(jù)傳送到總線接口部件進行算術(shù)運算。3/1788086指令隊列作用是什么?

答:作用是:在執(zhí)行指令同時從內(nèi)存中取了一條指令或下幾條指令,取來指令放在指令隊列中這么它就不需要象以往計算機那樣讓CPU輪番進行取指和執(zhí)行工作,從而提升CPU利用率。EUBIU指令隊列4/178

8086CPU內(nèi)部存放器有哪幾個?各自特點和作用是什么?

8086CPU有14個16位存放器和8個8位存放器,可分為:數(shù)據(jù)存放器;指針和變址存放器;段存放器;指令指針存放器;標志存放器。

5/178圖2-58086/8088CPU存放器結(jié)構(gòu)6/178數(shù)據(jù)存放器主要用來存放操作數(shù)或中間結(jié)果,以降低訪問存放器次數(shù)。有:4個16位存放器:AX、BX、CX、DX;8個8位存放器:AH、AL、BH、BL、CH、CL、DH、DL;能夠存放偏移地址:BXBPSIDI其中BX放數(shù)據(jù)段地址

BP放堆棧段地址7/178

簡明解釋以下名詞意義:存放器,堆棧,IP,SP,BP,段存放器,狀態(tài)標志,控制標志

存放器:是計算機系統(tǒng)中記憶元件,用于存放指令和數(shù)據(jù)。堆棧:在存放器中開辟一個區(qū)域,用來存放需要暫時保留數(shù)據(jù)。其操作特點是先進后出。IP:指令指針存放器,用來存放將要執(zhí)行下一條指令在現(xiàn)行代碼段中偏移地址。SP:堆棧指針存放器,用于指向當前棧頂單元。BP:基址指針,間接尋址中用于存放基址,隱含段地址為SS。段存放器:用于存放邏輯段段地址。狀態(tài)標志:SF、ZF、OF、AF、PF和CF,反應運算結(jié)果狀態(tài)特征??刂茦酥荆篒F、DF和TF,對可屏蔽中止、字符串操作指針變換方向和單步運行起控制作用。8/178為了實現(xiàn)尋址1MB存放器空間,8086CPU將1MB存放空間分成若干個邏輯段進行管理,4個16位段存放器來存放每一個邏輯段段起始地址。9/178已知堆棧段存放器(SS)=2400H,堆棧指針(SP)=1200H,計算該堆棧棧頂實際地址,并畫出堆棧示意圖。(SS)=2400H,(SP)=1200H

;PA=(SS)×10H+(SP)=2400H×10H+1200H=25200H。10/178標志存放器FRFR是一個16位存放器。9個位用作標志位:

狀態(tài)標志位有6個,統(tǒng)計程序中運行結(jié)果狀態(tài)信息,是依據(jù)指令運行結(jié)果由CPU自動設(shè)置。這些狀態(tài)信息通常作為后續(xù)轉(zhuǎn)移指令轉(zhuǎn)移控制條件,所以也稱為條件碼。控制標志位有3個,能夠編程設(shè)置,用于控制處理器執(zhí)行指令方式。控制標志設(shè)置之后,可對后面操作產(chǎn)生控制作用。未標明位在8086中不用。OF111512DF10IF9TF8SF7ZF65AF43PF21CF011/178例8086標志存放器分為

6個

狀態(tài)

標志位和

3個

控制

標志位,它們各自含義和作用是什么

OF111512DF10IF9TF8SF7ZF65AF43PF21CF012/178

要完成下述運算或控制,用什么標志位判別?其值是什么?(1)比較兩數(shù)是否相等(2)兩數(shù)運算后結(jié)果是正數(shù)還是負數(shù)(3)兩數(shù)相加后是否溢出(4)采取偶校驗方式,判定是否要補1(5)兩數(shù)相減后比較大?。?)中止信號能否允許答:(1)ZF,兩數(shù)相減,若ZF=1,則相等。(2)SF,SF=1則為負,不然為正(3)對有符號數(shù):OF,OF=1為溢出;對無符號數(shù):CF,CF=1為溢出(4)PF,PF=1,不補1(5)對有符號數(shù):無溢出時(OF=0),如ZF=1,則兩數(shù)相等;如ZF=0且SF=0,則被減數(shù)大;如ZF=0且SF=1,則減數(shù)大;有溢出時(OF=1),如SF=1,則被減數(shù)大;如F=0,則減數(shù)大;對無符號數(shù):如ZF=1,則兩數(shù)相等;如CF=0,則被減數(shù)大;如CF=1,則減數(shù)大(6)IF,IF=1,允許中止13/178存放器組織與段存放器存放器是微處理器內(nèi)部暫存數(shù)據(jù)存放單元,以名稱表示存放器則是微處理器外部存放程序及其數(shù)據(jù)空間主存需要利用地址區(qū)分14/178數(shù)據(jù)存放格式D7D0字節(jié)D15D0字D31D0雙字D7D000006H78H00005H56H00004H12H00003H34H00002H00001H00000H低地址存放單元及其存放內(nèi)容每個存放單元都有一個編號;被稱為存放器地址每個存放單元存放一個字節(jié)內(nèi)容0002H單元存放有一個數(shù)據(jù)34H表示為 [0002H]=34H15/178多字節(jié)數(shù)據(jù)存放方式圖中2號“字”單元內(nèi)容為:[0002H]=1234H2號“雙字”單元內(nèi)容為:[0002H]=78561234H16/1788086存放器空間最大能夠為多少?怎樣用16位存放器實現(xiàn)對20位地址尋址?完成邏輯地址到物理地址轉(zhuǎn)換部件是什么?答:8086存放器空間最大能夠為220(1MB);8086計算機引入了分段管理機制,當CPU尋址某個存放單元時,先將段存放器內(nèi)內(nèi)容左移4位,然后加上指令中提供16位偏移地址形成20位物理地址。17/178物理地址:指存放器中存放單元實際地址編碼,是一個絕對地址,是CPU訪問存放器實際尋址地址,對于8086系統(tǒng),地址范圍為00000H~FFFFFH。邏輯地址:由段基址和偏移地址組成,均為無符號16位二進制數(shù),程序設(shè)計時采取邏輯地址,可由邏輯地址變換為物理地址,物理地址=段基址×16+偏移地址。偏移地址:是某一存放單元距離所在邏輯段開始地址字節(jié)個數(shù)。有效地址:是指令中計算出要訪問存放單元偏移地址。物理地址計算公式:物理地址=段地址×10H+有效地址(或偏移地址)簡明解釋以下名詞意義:物理地址,邏輯地址:18/1788086系統(tǒng)中存放器分為幾個邏輯段?各段之間關(guān)系怎樣?每個段存放器作用是什么8086CPU將1MB存放空間分成邏輯段來進行管理:最多可分成64K個段;每個邏輯段最大為64KB。各段起始位置由程序員指出,能夠彼此分離,也能夠首尾相連、重合或部分重合。4個16位段存放器用來存放每一個邏輯段“段基地址”(段起始地址地高16位):CS中為代碼段起始地址;DS中為數(shù)據(jù)段起始地址;SS中為堆棧段起始地址;ES中為附加段起始地址。19/178段存放器裝入以下數(shù)據(jù),寫出每段起始和結(jié)束地址。(1)1000H(2)1234H(3)2300H(4)E000H(5)AB00H答:(1)10000H~1FFFFH(2)12340H~2233FH(3)23000H~32FFFH(4)E0000H~EFFFFH(5)AB000H~BAFFFH20/17810550H250A0H2EF00H8FF00HCSSSCSDSES解:

各段分布及段首址見右圖所表示。操作數(shù)物理地址為:250AH×10H+0204H=252A4H已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,

DS段有一操作數(shù),其偏移地址=0204H,

1)畫出各段在內(nèi)存中分布

2)指出各段首地址

3)該操作數(shù)物理地址=?例21/178段存放器CS=1200H,指令指針存放器IP=FF00H,此時,指令物理地址為多少?指向這一物理地址CS值和IP值是唯一嗎?答:指令物理地址為21F00H;CS值和IP值不是唯一,比如:CS=2100H,IP=0F00H。22/178

若當前SS=3500H,SP=0800H,說明堆棧段在存放器中物理地址,若此時入棧10個字節(jié),SP內(nèi)容是什么?若再出棧6個字節(jié),SP為何值?答:物理地址:35000H~35800H。入棧10個字節(jié)后SP為7F6H。再出棧6個字節(jié)后SP

為7FCH。23/178

8086CPU重新開啟后,從何處開始執(zhí)行指令?答:重新開啟后,CS=FFFFH,IP=0000H,故從物理地址為FFFF0H位置開始執(zhí)行指令。24/178

8086系統(tǒng)中存放器采取什么結(jié)構(gòu)?用什么信號來選中存放體?答:8086系統(tǒng)中,存放器采取分體結(jié)構(gòu),1MB存放空間分成兩個存放體:偶地址存放體和奇地址存放體,各為512KB。使用A0

和BHE來區(qū)分兩個存放體。當A0=0時,選中偶地址存放體,與數(shù)據(jù)總線低8位相連,從低8位數(shù)據(jù)總線讀/寫一個字節(jié)。當BHE=0時,選中奇地址存放體,與數(shù)據(jù)總線高8位相連,從高8位數(shù)據(jù)總線讀/寫一個字節(jié)。當A0=0,BHE=0時,同時選中兩個存放體,讀/寫一個字。25/1783.38086微型計算機系統(tǒng)微型計算機結(jié)構(gòu)示意圖存儲器I/O接口輸入設(shè)備I/O接口數(shù)據(jù)總線DB控制總線CB地址總線AB輸出設(shè)備CPU26/178什么是微機總線,分為哪三組?答:是傳遞信息一組公用導線。分三組:地址總線,數(shù)據(jù)總線,控制總線27/1788086微處理器工作模式及引腳特征8086工作模式8086CPU含有兩種不一樣工作模式來適應不一樣應用場所:最小模式系統(tǒng)控制總線就直接由CPU控制線供給最大模式

:8086經(jīng)過一個總線控制器8288來形成各種總線周期,控制信號由8288供給。8086工作模式由硬件設(shè)計決定:引腳連電源(+5V),則8086處于最小模式;引腳接地,則8086處于最大模式。MN

/MXMN/MX28/178

說明8086系統(tǒng)中“最小模式”和“最大模式”兩種工作方式主要區(qū)分是什么?答:為了便于組成不一樣規(guī)模系統(tǒng),在8086芯片中設(shè)計了兩種工作模式,即最小模式和最大模式。最小模式用于單機系統(tǒng),系統(tǒng)中所需要控制信號全部由8086直接提供;最大模式用于多處理機系統(tǒng),系統(tǒng)中所需要控制信號由總線控制器8288提供。29/17830/17831/178

8086系統(tǒng)中為何要用地址鎖存器?8282地址鎖存器與CPU怎樣連接?答:為了降低引腳數(shù)量,8086CPU地址引腳和數(shù)據(jù)引腳分時復用,為了確保在總線操作周期中地址信號能有效而穩(wěn)定輸出,必須使用地址鎖存器。因為8086有20條地址線,故需使用三片8282,其中OE接地,STB與CPUALE相連,前兩片8282DI0~DI7分別與CPUAD0~AD15相連,第三片8282DI0~DI3分別與CPUAD16~AD19相連,DI4與CPUBHE相連。32/178INTR、INTA、NMI、ALE、HOLD、HLDA引腳名稱各是什么?答:INTR是可屏蔽請求信號,INTA中止響應信號,NMI是不可屏蔽中止請求信號,ALE是地址鎖存允許信號,HOLD總線請求信號,HLDA總線請求響應信號。33/178

CPU執(zhí)行指令時包括三種周期:時鐘周期總線周期指令周期3.3.48086微型計算機系統(tǒng)總線時序8086微型計算機系統(tǒng)總線時序34/178總線周期把CPU經(jīng)過總線進行某種操作過程稱為總線周期(BusCycle),表示從M或I/O端口存取一個數(shù)據(jù)所需時間。依據(jù)總線操作功效不一樣,分為:存放器讀周期、存放器寫周期

I/O讀周期、I/O寫周期一個基本總線周期由4個時鐘周期組成(T1、T2、T3、T4)。附加時鐘周期等候狀態(tài)Tw35/178指令周期總線周期……總線周期時鐘周期時鐘周期時鐘周期時鐘周期…………36/178

一個基本總線周期37/178

什么叫總線周期?在CPU讀/寫總線周期中,數(shù)據(jù)在哪個機器狀態(tài)出現(xiàn)在數(shù)據(jù)總線上?答:CPU完成一次存放器訪問或I/O端口操作所需要時間稱為一個總線周期,由幾個T狀態(tài)組成。在讀/寫總線周期中,數(shù)據(jù)在T2~T4狀態(tài)出現(xiàn)在數(shù)據(jù)總線上。38/178中止響應周期時序普通外部設(shè)備中止是經(jīng)過INTR引腳向CPU發(fā)出中止請求,這個可屏蔽中止請求信號有效電平(高電平),必須維持到CPU響應中止為止。若標志IF=1,表示CPU允許中止,此時CPU在執(zhí)行完當前指令后響應中止,其中止響應周期時序以下列圖所表示。39/178第4章8086尋址方式與指令系統(tǒng)概述1

8086尋址方式2

8086指令系統(tǒng)340/178808七種基本數(shù)據(jù)尋址方式(1)馬上尋址;(2)存放器尋址;(3)直接尋址;(4)存放器間接尋址;(5)存放器相對尋址;(6)基址變址尋址;(7)相對基址變址尋址。存放器尋址方式41/178分別說明以下指令源操作數(shù)和目標操作數(shù)各采取什么尋址方式。(1)MOVAX,2408H(2)MOVCL,0FFH(3)MOVBX,[SI](4)MOV5[BX],BL(5)MOV[BP+100H],AX(6)MOV[BX+DI],’$’(7)MOVDX,ES:[BX+SI](8)MOVVAL[BP+DI],DX(9)INAL,05H(10)MOVDS,AX答:(1)馬上數(shù),存放器(2)馬上數(shù),存放器(3)存放器間接,存放器(4)存放器,存放器相對(5)存放器,存放器相對(6)馬上數(shù),基址變址(7)基址變址,存放器(8)存放器,相對基址變址(9)直接端口尋址,存放器(10)存放器,存放器42/178設(shè)DS=1000H,ES=H,SS=3500H,SI=00A0H,DI=0024H,BX=0100H,BP=0200H,數(shù)據(jù)段中變量名為VAL偏移地址值為0030H,試說明以下源操作數(shù)字段尋址方式是什么?物理地址值是多少?(1)MOVAX,[100H](2)MOVAX,VAL(3)MOVAX,[BX](4)MOVAX,ES:[BX](5)MOVAX,[SI](6)MOVAX,[BX+10H](7)MOVAX,[BP](8)MOVAX,VAL[BP][SI](9)MOVAX,VAL[BX][DI](10)MOVAX,[BP][DI]答:(1)直接,10100H(2)直接,10030H(3)存放器間接,10100H(4)存放器間接,0H(5)存放器間接,100A0H(6)存放器相對,10110H(7)存放器間接,35200H(8)相對基址變址,352D0H(9)相對基址變址,10154H(10)基址變址,35224H43/1784.38086指令系統(tǒng)8086指令系統(tǒng)包含六大類指令(87條):數(shù)據(jù)傳送指令算術(shù)運算指令邏輯運算和移位指令串操作指令控制轉(zhuǎn)移指令處理器控制指令44/178指出以下指令中哪些是錯誤,錯在什么地方。(1)MOVDL,AX(2)MOV8650H,AX(3)MOVDS,0200H(4)MOV[BX],[1200H](5)MOVIP,0FFH(6)MOV[BX+SI+3],IP(7)MOVAX,[BX][BP](8)MOVAL,ES:[BP](9)MOVDL,[SI][DI](10)MOVAX,OFFSET

0A20H(11)MOV

AL,OFFSET

TABLE(12)XCHGAL,50H(13)INBL,05H(14)OUTAL,0FFEH答:(1)長度不匹配(2)馬上數(shù)不能做目標操作數(shù)(3)段存放器不能用馬上數(shù)賦值(4)兩個內(nèi)存單元不能直接傳送數(shù)據(jù)(5)IP不能用指令直接修改(6)指令中不能出現(xiàn)IP(7)BX/BP應與SI/DI搭配(8)正確(9)SI/DI應與BX/BP搭配(10)OFFSET后應跟內(nèi)存單元(11)偏移地址為16位,AL長度不夠(12)馬上數(shù)不能用于XCHG(13)IN必須用AL/AX(14)操作數(shù)次序反向;地址應為8位45/178指令指令對錯P745PUSHPOPCMPTESTXLAT

LEALOOPXORCBWJMP(段間、段內(nèi))JCC(段內(nèi))SHLSHRSALSARMOVSBMOVSW(STDCLDDF1,0)REPMOVSB46/178P758、9、1047/178第5章8086匯編語言程序設(shè)計偽指令——指示匯編、鏈接程序怎樣進行匯編和鏈接,影響目標代碼生成,本身不產(chǎn)生目標代碼。——有符號定義語句、數(shù)據(jù)定義語句、程序結(jié)構(gòu)語句、模塊鏈接語句、相關(guān)宏語句、條件匯編語句等。48/178等值語句

格式:符號名EQU表示式變量定義語句DB變量為字節(jié)數(shù)據(jù)類型DW變量為字數(shù)據(jù)類型,存放時低對低高對高。DD變量為雙字數(shù)據(jù)類型,存放時低對低高對高。49/1781)為數(shù)據(jù)項分配存放單元,用變量名作為該存放單元名稱。例:XDB 25H (2)預留內(nèi)存單元,但不賦值,以存放運算結(jié)果.例:ADB?50/178(3)定義一個數(shù)組例:W_TABLEDW1122H,3344HB_TABLEDB1,2,4,9,16

當表中操作數(shù)相同時,可用重復操作符DUP來縮寫:格式:重復次數(shù)DUP(操作數(shù))例:ALL_ZERODB0,0,0,0,0,0ALL_ZERODB6DUP(0)51/178(4)定義字符串(只能用DB定義)例:MESSAGEDB ‘HELLO’

每個字符值為它ASCII碼值,所以用DB來定義。3.指定地址偽指令ORG分析操作符(SEG、OFFSET、TYPE、SIZE、LENGTH)52/178P89比如:MY_DATASEGMENTORG100HMYDATDW1,2,$+4MY_DATAENDS53/178

框架一:

DATA SEGMENT ;定義數(shù)據(jù)段

VAL1DB12H,8EH ;定義變量

……

DATA ENDS

;數(shù)據(jù)段結(jié)束

CODE SEGMENT ;定義代碼段 ASSUMEDS:DATA,CS:CODE ;段屬性說明 START:MOVAX,DATA ;初始化DS

MOVDS,AX

…… ;填寫代碼

MOVAX,4C00H ;返回DOS INT21H CODEENDS ;代碼段結(jié)束 ENDSTART ;源程序結(jié)束54/178DOS功效調(diào)用方法(輸入、輸出)(1)單字符輸入(01H功效)入口參數(shù)無功效號AH=01H

類型號21H

出口參數(shù)AL=鍵入字符ASCII碼(2)顯示單字符(02H、功效)入口參數(shù)DL=

要顯示字符ASCII碼功效號AH=02H

類型號21H

出口參數(shù)無實現(xiàn)功效顯示指定字符,光標隨動。55/178對存放單元操作BUFDB1,2,….MOVSI,OFFSETBUFMOVAX,[SI]56/178比較、轉(zhuǎn)移比較大小

CMPAX,BX轉(zhuǎn)移JCCCC代表條件無符號數(shù)A,B,E,N有符號數(shù)G,L,E,N

CMPAX,BX

JANEXT(標號)滿足條件轉(zhuǎn)移到標號行

MOVAX,1不滿足條件執(zhí)行NEXT:MOVAX,0滿足條件執(zhí)行(AX大于BX)

57/178循環(huán)MOVCX,100LOOPLOP158/178算法最大、最小統(tǒng)計正、負數(shù)統(tǒng)計數(shù)字、字符個數(shù)大、小寫轉(zhuǎn)換例5-2例5-12例5-459/178第7章存放器存放器分類內(nèi)存:是內(nèi)部存放器簡稱,又稱主存。內(nèi)存直接與CPU相聯(lián)接,是計算機組成部分。外存:即外部存放器,也稱輔存。外存不直接與CPU相聯(lián)接,而是經(jīng)過I/O接口與CPU聯(lián)接,其主要特點是大容量。60/178按存取方式分類隨機存放器RAM(RandomAccessMemory)

只讀存放器ROM(Read-OnlyMemory)串行訪問存放器(SerialAccessStorage)61/178隨機存取存放器RAM特點:

RAM讀寫次數(shù)無限。假如斷開RAM電源,其內(nèi)容將全部丟失。RAM分類:靜態(tài)RAM(SRAM,StaticRAM)動態(tài)RAM(DRAM,DynamicRAM)(要定時刷新)62/178只讀存放器ROMEPROM——

存放系統(tǒng)(監(jiān)控)程序,無需在線修改參數(shù)(如BIOS)。E2PROM——數(shù)據(jù)、參數(shù)等有掉電保護要求數(shù)據(jù)。63/178RAM有幾個,各有什么特點?ROM有幾個,各有什么特點?答:RAM有兩種,SRAM(靜態(tài)RAM),它采取觸發(fā)器電路組成一個二進制位信息存放單元,這種觸發(fā)器普通由6個晶體管組成,它讀出采取單邊讀出原理,寫入采取雙邊寫入原理;DRAM(動態(tài)RAM),它集成度高,內(nèi)部存放單元按矩陣形式排列成存放體,通常采取行,列地址復合選擇尋址法。ROM有5種,固定掩摸編程ROM,可編程PROM,紫外光檫除可編程EPROM,電可檫除可編程EPROM,閃速存放器。64/178若用4K*1位RAM芯片組成8K*8為存放器,需要多少芯片?A19—A0地址線中哪些參加片內(nèi)尋址,哪些用做芯片組片選信號?答:需要16片芯片;其中A11-A0參加片內(nèi)尋址;A12做芯片組片選信號。若系統(tǒng)分別使用512K*8、1K*4、16K*8、64K*1RAM,各需要多少條地址線進行尋址,各需要多少條數(shù)據(jù)線?答:512K*8需要19條地址線,8條數(shù)據(jù)線。1K*4需要10條地址線,4條數(shù)據(jù)線。16K*8需要14條地址線,8條數(shù)據(jù)線。64K*1需要16條地址線,1條數(shù)據(jù)線。某微機系統(tǒng)RAM容量為8K*8,若首地址為4800H,則最終一個單元地址是多少?答:最終一個單元地址是:4800H+213-165/1788086系統(tǒng)存放器接口存放器與系統(tǒng)之間連接主要包含:數(shù)據(jù)線連接地址線連接控制信號連接??刂菩盘柶胀òx、寫、片選等信號。66/178數(shù)據(jù)線16位微機系統(tǒng)中存放器與系統(tǒng)聯(lián)接(8位存放體)8086系統(tǒng)分為奇存放體、偶存放體:67/178地址線片內(nèi)地址片內(nèi)地址線數(shù)量由儲存器芯片型號(容量)決定如27128容量為16K,儲存器芯片內(nèi)地址為14位。

8086系統(tǒng)片內(nèi)地址線與CPU地址線連接因為8086系統(tǒng)采取奇、偶存放體結(jié)構(gòu),A0作為偶存放體片選信號,所以與CPU地址線連接從A1開始,如27128A0---A13對應A1---A14片外地址

CPU地址線與片內(nèi)地址線相連后剩下高位地址線,片外地址線經(jīng)譯碼電路后與存放體片選信號線相連。68/178譯碼電路如62256容量32K(A0-A14)接A1-A15片外地址A16-A19如要求RAM地址范圍從80000H-8FFFFFH那么片外地址為1000(A19-A16)如采取3-8譯碼器電路以下:當A19-A16為1000時Y0為低電平CS有效69/178控制信號最大模式MEMW、MEMR最小模式IO/M(接片選)WR

RD注:MEMW=IO/M+WRMEMR=IO/M+RD70/178第8章基本輸入輸出接口什么是接口?其作用是什么連接外部設(shè)備與微型計算機接口電路。作用:(1)處理CPU與外設(shè)工作速度不匹配問題;(2)處理CPU與外設(shè)工作時序配合問題;(3)實現(xiàn)信息格式轉(zhuǎn)換;(4)處理信息類型與信號電平匹配問題。71/178輸入/輸出接口電路有哪些存放器,各自作用是什么?通常有數(shù)據(jù)輸入、數(shù)據(jù)輸出、控制和狀態(tài)存放器等。在CPU與外部設(shè)備之間進行數(shù)據(jù)傳輸時,各類信息寫入接口中對應存放器,或從對應存放器讀出。CPU從數(shù)據(jù)輸入存放器和狀態(tài)存放器中讀出數(shù)據(jù)和狀態(tài),但不能向其中寫內(nèi)容;

CPU往數(shù)據(jù)輸出存放器和控制存放器中寫數(shù)據(jù)和控制信息,但不能從其中讀內(nèi)容。72/178什么叫端口,I/O端口有哪兩種編址方式,各自優(yōu)缺點是什么端口指輸入/輸出接口中存放器統(tǒng)一編址方式是將I/O端口與內(nèi)存單元統(tǒng)一起來進行編號,即包含在1MB存放器空間中,看作存放器單元,每個端口占用一個存放單元地址。該方式主要優(yōu)點是不需要專門I/O指令,對I/O端口操作指令類型多;缺點是端口要占用部分存放器地址空間,不輕易區(qū)分是訪問存放器還是外部設(shè)備。獨立編址端口單獨組成I/O地址空間,不占用存放器地址。優(yōu)點是地址空間獨立,控制電路和地址譯碼電路簡單,采取專用I/O指令,使得端口操作指令在形式上與存放器操作指令有顯著區(qū)分,程序輕易閱讀;缺點是指令類別少,普通只能進行傳送操作。73/178CPU與輸入輸出設(shè)備之間傳送信息由哪幾類?對應端口稱為何端口?【解答】CPU與輸入/輸出設(shè)備交換信息有3類:數(shù)據(jù)信息、狀態(tài)信息和控制信息。數(shù)據(jù)信息對應端口稱為數(shù)據(jù)端口;狀態(tài)信息對應端口稱為狀態(tài)端口;控制信息對應端口稱為控制端口。74/178CPU和外設(shè)之間數(shù)據(jù)傳送方式有哪幾個?無條件傳送方式通慣用在哪些場所?【解答】CPU和外設(shè)之間數(shù)據(jù)傳送方式通常有四種:無條件傳送方式、查詢傳送方式、中止傳送方式、DMA傳送方式和I/O處理機方式。開關(guān)、LED等75/178在一個微型計算機系統(tǒng)中,確定采取何種方式進行數(shù)據(jù)傳送依據(jù)是什么?無條件傳送方式主要用于對簡單外設(shè)進行操作,或者外設(shè)定時是固定或已知場所。條件傳送方式主要用于不能確保輸入設(shè)備總是準備好了數(shù)據(jù)或者輸出設(shè)備已經(jīng)處于能夠接收數(shù)據(jù)狀態(tài)。中止控制方式主要用于需要提升CPU利用率和進行實時數(shù)據(jù)處理情況。DMA控制方式主要用于快速完成大批數(shù)據(jù)交換任務。在實際工作中,詳細采取哪種方式要依據(jù)實際工作環(huán)境與需要結(jié)合各種方式特點進行選擇。76/178INAL,DX

DX指定端口存放器內(nèi)容送ALOUTDX,AL

AL內(nèi)容送DX指定端口存放器77/178第9章可編程接口芯片常見中止源有哪幾類?CPU響應中止條件是什么?常見中止源有:普通輸入/輸出設(shè)備請求中止;實時時鐘請求中止;故障源;數(shù)據(jù)通道中止和軟件中止。CPU響應中止條件:若為非屏蔽中止請求,則CPU執(zhí)行完現(xiàn)行指令后,就馬上響應中止。CPU若要響應可屏蔽中止請求,必須滿足以下三個條件:①無總線請求;②

CPU允許中止;③

CPU執(zhí)行完現(xiàn)行指令。78/178簡述微機系統(tǒng)中止處理過程?!窘獯稹浚?)中止請求:外設(shè)需要進行中止處理時,向CPU提出中止請求。(2)中止響應:CPU執(zhí)行完現(xiàn)行指令后,就馬上響應非屏蔽中止請求。可屏蔽中止請求,CPU若要響應必須滿足三個條件。(3)中止處理:保護現(xiàn)場、開中止、中止服務。(4)中止返回:CPU執(zhí)行IRET中止返回指令時,自動把斷點地址從堆棧中彈出到CS和IP中,原來標志存放器內(nèi)容彈回Flags,恢復到原來斷點繼續(xù)執(zhí)行程序。79/1788086中止分哪兩大類?各自有什么特點?中止向量和中止向量表含義是什么?8086一共可處理多少級中止?【解答】8086中止分為外部中止和內(nèi)部中止兩種:外部中止由外部硬件產(chǎn)生,由CPU外部中止請求信號觸發(fā),分為非屏蔽中止NMI和可屏蔽中止INTR。內(nèi)部中止是為了處理程序運行過程中發(fā)生一些意外情況或調(diào)試程序而提供中止。8086中止系統(tǒng)能夠處理256個不一樣中止,每一個中止安排一個編號,范圍為0~255,稱為中止類型。每種中止類型對應中止服務程序入口地址稱為中止向量。把系統(tǒng)中全部中止向量按中止類型從小到大次序放到存放器特定區(qū)域,該區(qū)域稱為中止向量表。每個中止向量在中止向量表中占用4字節(jié),CPU響應中止后經(jīng)過將中止類型×4得到中止向量在中止向量表中首地址。80/178設(shè)置中止向量方法:1、將中止服務程序入口地址直接寫入中止向量表中對應單元MOVAX,0000HMOVDS,AXMOVSI,中止類型號*4MOVAX,中止服務程序偏移地址MOV[SI],AXMOVAX,中止服務程序段地址MOV[SI+2],AX81/1782、二是利用DOS功效調(diào)用完成中止向量設(shè)置

中止向量設(shè)置(DOS功效調(diào)用INT21H)

功效號:AH=25H

入口參數(shù):AL=中止類型號,

DS:DX=中止向量(段地址:偏移地址)

獲取中止向量(DOS功效調(diào)用INT21H)

功效號:AH=35H

入口參數(shù):AL=中止類型號出口參數(shù):ES:BX=中止向量(段地址:偏移地址)

82/178比如,設(shè)某中止中止類型號n為40H,中止服務子程序入口地址為INT-P,調(diào)用25H號功效裝入中止向量程序段以下:

CLI

;IF=0,關(guān)中止MOV

AL,40H

;中止類型號40H送AL

MOV

DX,SEGINT-P

;中止服務子程序段基址送DS

MOV

DS,DX

MOV

DX,OFFSETINT-P

;中止服務子程序偏移地址送DX

MOV

AH,25H

;25H功效調(diào)用INT

21H

STI

;IF=1,開中止…

INT-P:

;中止服務子程序

IRET

;中止返回83/178簡述8086中止類型,非屏蔽中止和可屏蔽中止有哪些不一樣之處?CPU經(jīng)過什么響應條件來處理這兩種不一樣中止?【解答】8086中止系統(tǒng)能夠處理256個不一樣中止源,并為每一個中止安排一個編號,范圍為0~255,稱為中止類型。硬件中止分為非屏蔽中止和可屏蔽中止,非屏蔽中止不受中止允許標志位IF影響,在IF=0關(guān)中止情況下,CPU也能在當前指令執(zhí)行完成后就響應NMI上中止請求??善帘沃兄梗篊PU將依據(jù)中止允許標志位IF狀態(tài)決定是否響應。假如IF=0,表示CPU關(guān)中止;假如IF=1,表示CPU開中止,CPU執(zhí)行完現(xiàn)行指令后會轉(zhuǎn)入中止響應周期。84/178已知對應于中止類型碼為18H中止服務程序存放在0020H:6314H開始內(nèi)存區(qū)域中,求對應于18H類型碼中止向量存放位置和內(nèi)容。偏移地址EA=18H×4=60H,18H中止向量在中止向量表中入口地址為00000H+60H=00060H。中止服務程序存放在0020H:6314H開始內(nèi)存區(qū)域中,所以(00060H)=0020H,(00061H)=6314H。85/1788259A主要功效有:(1)每一片8259A可管理8級優(yōu)先權(quán)中止源,經(jīng)過8259A級聯(lián),可擴充至管理64級優(yōu)先權(quán)中止源。

(2)對任何一級中止源都可單獨進行編程實現(xiàn)屏蔽或開放。

(3)能向

CPU提供可編程中止類型號。這個功效使原來沒有能力提供中止類型碼8255A、

8253、8251A等可編程接口芯片,借助8259A一樣能夠采取中止I/O方式來進行管理。

(4)能經(jīng)過編程實現(xiàn)不一樣工作方式。86/178當有一條或若干條中止請求線(IR7~IR0)變?yōu)楦唠娖剑瑒t中止請求存放器IRR對應位置位。若中止請求線中最少有一條是中止允許(中止屏蔽存放器對應位開放,且請求中止級別高于當前正在服務中止或未處于中止服務程序中),則8259A經(jīng)過INT引腳向CPUINTR引腳發(fā)出中止請求信號。CPU在當前指令執(zhí)行完后,若檢測到中止請求信號,且處于開中止狀態(tài)(IF=1)則會暫停執(zhí)行下一條指令,進入中止響應總線周期,發(fā)送兩個INTA信號給8259A作為響應。10.3.38259A中止處理過程87/1788259A在接收到來自CPU第一個INTA信號后,使中止源中優(yōu)先級最高ISR位置位,而對應IRR位被復位。在該周期中,8259A不向數(shù)據(jù)總線送任何內(nèi)容。在第二個INTA脈沖期間,8259A向CPU發(fā)出中止類型號(8位二進制數(shù),其中高位T7~T3是8259A初始化時設(shè)置,而低3位是8259A自動插入),CPU取得后,將此向量乘以4,在中止向量表中找到對應中止服務程序入口地址。10.3.38259A中止處理過程88/178中止響應周期結(jié)束后,CPU就轉(zhuǎn)而執(zhí)行中止服務程序。采取AEOI方式時,在第二個脈沖INTA結(jié)束時,ISR位被復位。不然,在中止服務程序中,應在IRET指令加入對應EOI指令,使ISR對應位復位。10.3.38259A中止處理過程89/178在一個8259A芯片有以下幾個內(nèi)部存放器:

InterruptMaskRegister(IMR)

InterruptRequestRegister(IRR)

InSeviceRegister(ISR)90/1788259A結(jié)束中止處理方式有:(1)普通EOI方式:只有在當前結(jié)束中止總是還未處理完級別最高中止時,才能使用這種結(jié)束方式。(2)指定EOI方式:適合于在任何情況下使用。(3)自動EOI方式:只有在一些以預定速率發(fā)生中止,且不會發(fā)生同級中止相互打斷或低級中止打斷高級中止情況下,才使用自動EOI方式。91/178慣用可編程接口技術(shù)及應用可編程計數(shù)器/定時器8253

1、每片有3個獨立16位計數(shù)通道。

2、每個計數(shù)器可按二進制或十進制來計數(shù),時鐘脈沖下降沿使計數(shù)器進行減1操作

3、每個計數(shù)器可編程設(shè)定6種工作方式之一。92/17893/1783

個引腳說明:

CLK時鐘輸入信號

在計數(shù)過程中,此引腳上每輸入一個時鐘信號(下

降沿),計數(shù)器計數(shù)值減12)GATE

門控輸入信號

控制計數(shù)器工作,可分成電平控制和上升沿控制兩種類型。

3)OUT

計數(shù)器輸出信號

當一次計數(shù)過程結(jié)束(計數(shù)值減為0

),OUT

引腳上將產(chǎn)生一個輸出信號

94/1788253有幾個計數(shù)通道,每條計數(shù)通道有哪些信號線,其作用是什么?答:8253有三個計數(shù)通道,每個計數(shù)通道有3條信號線:CLK:計數(shù)輸入用于輸入定時基準脈沖或計數(shù)脈沖.OUT:輸出信號以對應電平指示計數(shù)完成或輸出脈沖波型.GATA:選通輸入用于開啟或禁止計數(shù)器操作,以使計數(shù)器和計數(shù)輸入信號同時。95/178A1A0端口000計數(shù)器0001計數(shù)器1010計數(shù)器2011控制存放器1××未選中96/17897/178試分析82536種工作方式特點和功效。各方式下時鐘信號CLK和門控信號GATE分別起什么作用?時鐘信號CLK作用:在8253進行定時或計數(shù)工作時,每輸入1個時鐘脈沖信號CLK,便使計數(shù)值減198/1788253

工作方式

六種工作方式:1.方式0——計數(shù)結(jié)束中止2.方式1——硬件可重復觸發(fā)單穩(wěn)態(tài)觸發(fā)器3.方式2——分頻器4.方式3——方波發(fā)生器

5.方式4——軟件觸發(fā)延時選通脈沖發(fā)生器

6.方式5——硬件觸發(fā)延時選通脈沖發(fā)生器

99/1781.方式0(單脈沖發(fā)生器)計數(shù)器只計一遍??刂谱謱懭牒?,OUT端為低,當計數(shù)初值寫入后,計數(shù)器開始減1計數(shù),當計數(shù)值回0時,OUT輸出端變?yōu)楦唠娖健?/p>

GATE信號為高電平100/1782.方式1(可重觸發(fā)單穩(wěn)態(tài)方式)

當寫入控制字后,輸出端OUT變?yōu)楦唠娖剑⒈3指唠娖綘顟B(tài)。然后寫入計數(shù)初值,只有在GATE信號上升沿之后下一個CLK脈沖下降沿,才將計數(shù)初值存放器內(nèi)容裝入減1計數(shù)存放器,同時OUT端變?yōu)榈碗娖健H缓笥嫈?shù)器開始減1計數(shù),當計數(shù)值減到0時,OUT端變?yōu)楦唠娖健?/p>

門控信號GATE上升沿觸發(fā)101/178方式2(周期脈沖發(fā)生器)可產(chǎn)生周期性負脈沖信號,負脈沖寬度為一個時鐘周期。方式3(方波發(fā)生器)GATE為高102/178方式4(軟件觸發(fā)選通信號發(fā)生器)GATE為高電平方式5(硬件觸發(fā)選通信號發(fā)生器)產(chǎn)生單個負脈沖信號GATE信號上升沿103/178控制字存放器

當?shù)刂沸盘朅1A0

11

時,訪問控制字存放器。控制字存放器從數(shù)據(jù)總線上接收CPU

送來控制字,并由控制字D7

、D6

兩位編碼決定控制字寫入哪個通道控制存放器中去。由存放在每個通道內(nèi)控制存放器內(nèi)容決定該通道工作方式,選擇計數(shù)器是按二進制還是數(shù),并確定每個計數(shù)器初值寫入次序。104/1788253控制字8253控制字格式105/1788253初始化編程1.寫入控制字1)確定工作方式

依據(jù)輸出OUT確定產(chǎn)生高電平、中止信號方式0周期信號方式2、方式3周期性方波方式32)確定8253端口地址

A1A0=00-------計數(shù)器0

01-------計數(shù)器1

10-------計數(shù)器2

11-------控制口106/178計數(shù)初值(TC)用途:計數(shù)、定時、分頻計算公式為:t=TC/f,其中t為定時時間,TC為計數(shù)初值,f為輸入時鐘頻率。如:1)分頻:輸入頻率為1MHZ經(jīng)過8253輸出頻率1000HZ

TC=1MHZ/1000HZ(方式2、3)

2)計數(shù):計100個TC=100(方式0)

3)定時:TC=t*f

=定時時間(t)/輸入時鐘周期

107/178確定方式控制字注意:1)計數(shù)初值大小對控制字影響

2)初值最大不能超出16位表示范圍用OUT指令寫入控制字Movdx,控制端口地址Moval,控制字Outdx,al108/1782.寫入計數(shù)初值

計數(shù)初值寫入對應計數(shù)器端口地址當計數(shù)初值大于255時分高、低8位兩次寫入假如在方式控制字中BCD位為1,則寫入計數(shù)初值應為BCD數(shù)。比如:計數(shù)初值為50,采取BCD碼計數(shù),則指令中50必須寫為50H。MOVDX,計數(shù)器端口地址MOVAX,初值(十進制數(shù)表示)(二進制運算)MOVDX,AL;寫低8位MOVAL,AHMOVDX,AL;寫高8位109/178確定門控信號GATE方式0、2、3、4GATE為高方式1、5GATE為上升沿110/178一、初始化某系統(tǒng)中8253芯片地址為0FFF0H~0FFF6H,定義通道0,CLK0=2MHZ要求:輸出OUT0為1KHZ方波;定義通道1工作在方式0,其CLK1輸入外部計數(shù)事件,每計滿1000個,向CPU發(fā)出中止請求。

(1)在圖中畫出8253使用到CLK、OUT、GATE連線并標明符號;(2)編寫對應8253初始化程序段。.111/178二、分頻可編程定時/計數(shù)器8253CLK0上接有5MHz外部計數(shù)器時鐘如圖所表示。指定該8253接口地址為0400H--0404H,說明要用此8253產(chǎn)生周期為200ms對稱方波,應該怎樣去做?并畫出對應聯(lián)線示意圖,編寫初始化程序。D0~D7CLK0RDGATE0WEOUT0A0A1CLK1GATE1OUT18253CLK2CSGATE2OUT2.5MHz時鐘112/178設(shè)計一個簡單計件系統(tǒng),

一個脈沖代表一個事件,比如交通道路檢測系統(tǒng)中經(jīng)過檢測點車輛,工業(yè)控制系統(tǒng)中流水線上已加工好工件。要求在計件過程中,當完成10000個工件統(tǒng)計后,系統(tǒng)發(fā)出1KHz信號推進喇叭發(fā)音通知用戶。以下列圖所表示8253計數(shù)器0用來統(tǒng)計工件數(shù),8253計數(shù)器1產(chǎn)生1KHz信號推進喇叭發(fā)音。設(shè)8253端口地址為20H~23H。1)編寫初始化程序及應用程序。

113/178114/1788253端口地址為40H~46H,CLK1=CLK2=1MHz,按以下要求編程:1)若使OUT1輸出500HZ方波,OUT2輸出50Hz方波,分別確定8253計數(shù)器CNT1、CNT2初值及方式控制字;2)用OUT2輸出控制500HZ方波交替輸出給揚聲器,即OUT2=1時電路輸出500HZ方波,OUT2=0時電路輸出低電平,試畫出控制電路圖;115/178硬件如圖,某報警試驗系統(tǒng)手動報警部分接口電路如圖所表示,要求開關(guān)K撥到A系統(tǒng)報警:揚聲器發(fā)出頻率為20KHz聲音(即為20KHz方波),并使七段數(shù)碼顯示“3”;開關(guān)K斷開解除報警:關(guān)閉揚聲器,七段數(shù)碼管暗。設(shè)8253輸入時鐘頻率為2MHz,8253地址為40H~43H,8255A地址為60H~63H。試編寫:1、8253初始化程序(3分)2、8255A初始化程序(2分)3、報警系統(tǒng)控制部分程序(依據(jù)題目要求)(5分)

116/178117/178如圖為某系統(tǒng)中使用接口電路,其中82533個通道和控制存放器地址為40H、41H、42H和43H,8255B口地址為61H,試編寫一段程序,利用8255配合,使揚聲器發(fā)出20Hz聲音。(假設(shè)8255初始化工作已完成)118/178119/178

8253在IBMPC機中應用。IBMPC機系統(tǒng)板上8253接口電路如圖,3個計數(shù)器時鐘輸入頻率為1.1932MHZ。系統(tǒng)分配給8253端口地址為40H~43H。120/178計數(shù)器0為方式3,先寫低字節(jié),后寫高字節(jié),二進制計數(shù),計數(shù)初值為0。輸出端OUT0接至中止控制器8259AIR0,OUT0輸出脈沖周期約為55ms(65536÷1193200),即計數(shù)器0每隔55ms產(chǎn)生一次中止請求。

計數(shù)器1為方式2,只寫低字節(jié),二進制計數(shù),計數(shù)初值為18。輸出端OUT1接至DMA控制器8237A通道0DMA請求DREQ0,作為定時(15.08μs)刷新動態(tài)存放器開啟信號。121/178IBMPC機BIOS對計數(shù)器0初始化程序:

MOVAL,00110110BOUT43H,ALMOVAL,0OUT40H,ALOUT40H,ALIBMPC機BIOS對計數(shù)器1初始化程序:

MOVAL,01010100BOUT43H,ALMOVAL,12HOUT41H,AL122/178

BIOS中BEEP子程序,功效為使計數(shù)器2輸出方波到揚聲器。計數(shù)器2工作于方式3,先寫低字節(jié),后寫高字節(jié),二進制計數(shù),計數(shù)初值為0533H。GATE2由8255APB0控制,當GATE2為高電平時,OUT2輸出頻率為896HZ方波,經(jīng)功率放大器和濾波后驅(qū)動揚聲器發(fā)聲。MOVAL,10110110BOUT43H,ALMOVAX,0533HOUT42H,ALMOVAL,AHOUT42H,ALIN61H,ALMOVAH,ALORAL,03HOUT61H,ALMOVBX,100;延時

MOVCX,0G7:LOOPG7DECBXJNZG7MOVAL,AHOUT61H,ALRET123/178可編程并行接口芯片8255A端口A有3種工作方式(方式0、方式1、方式2)對外8根引腳PA7~PA0端口B

有2種工作方式:方式0、方式1對外8根引腳PB7~PB0端口C對外引腳PC0~PC7124/178125/178

3.8255端口地址.

片內(nèi)譯碼電路(引腳A1、A0)

A1A0=00-------PA(可讀/寫)

01-------PB(可讀/寫)

10-------PC(可讀/寫)

11-------控制口(可寫)126/178127/178128/1781.方式0(基本輸入輸出方式)

工作在方式0端口,為單向傳送端口,輸入或輸出

作為輸入口相當于普通三態(tài)門作為輸出口相當于普通鎖存器

CPU可利用工作在方式0端口,直接對端口進行讀寫操作,實現(xiàn)CPU與外設(shè)間數(shù)據(jù)傳送。129/178

2.方式1(選通輸入輸出方式)

A口工作在方式1時,C口某3根引腳作為A口聯(lián)絡(luò)信號。

B口工作在方式1時,C口某3根引腳作為B口聯(lián)絡(luò)信號。工作在方式1端口,為單向傳送端口。在方式1下,C口作為A口、B口聯(lián)絡(luò)信號引腳,其動作關(guān)系在芯片設(shè)計和制造時已固定,

不由用戶自己安排,也不能編程改變。130/1783.方式2(雙向傳送方式)端口工作在方式2時,C口某5根引腳作為端口聯(lián)絡(luò)信號

8255A只有A口能夠工作在方式2下。與方式0和方式1不一樣是:工作在方式2端口,為雙向傳送端口,既可輸入又可輸出。131/1788255A控制字(寫控制口)1.方式選擇控制字

132/178例假設(shè)8255A控制端口地址為203h,編程設(shè)置控制

使A口方式0輸出;B口方式0輸入10001/0011/0D7D6D5D4D3D2D1D0特征位A口方式0A口輸出PC7~PC4I/OB口方式0B口輸入PC3~PC0I/O因為對

C口無要求,控制C口對應位D4,D0可為任意值,假設(shè)取0所以,方式控制字為1000

0010B,即82H133/178設(shè)置控制字程序段以下:

MOVDX,203h;置DX為控制口地址

MOVAL,82h;置控制字于AL中

OUTDX,AL;將控制字寫入控制口例假設(shè)8255A控制端口地址為203h,編程設(shè)置控制字,使A口方式0輸出;B口方式0輸入134/1782.端口C置位/復位控制字

135/178PA口可工作于方式0、方式1、方式2;

PB口可工作于方式0、方式1;

PC口只能工作于方式0136/1788255AA口、B口、C口有哪幾個工作方式,其特點是什么?C口有哪些使用特點?答:8255AA口能夠工作在3種工作方式任何一個,B口只能工作在方式0或方式1,C口則經(jīng)常配合端口A和端口B工作,為這兩個端口輸入/輸出傳輸提供控制信號和狀態(tài)信號。137/1788255A功效是什么,有哪幾個控制字,各位意義是什么?答:8255A是一個通用可編程程序并行I/O接口芯片.它有兩個控制字,一個是方式選擇控制字,它作用是實現(xiàn)對8255A各個端口選擇。一個是對C口進行置位或復位控制字.它作用是能實現(xiàn)對端口C每一位進行控制。138/178方式0無交互用8255A控制一組紅、綠、黃燈,以下列圖所表示。要求用K1、K2閉合與斷開來控制紅、綠、黃三燈點亮,對應關(guān)系以下表所表示。設(shè)8255A端口地址范圍為60H~66H。要求(1)寫出8255初始化程序,初始化時無關(guān)項置0(2)依據(jù)題目要求編寫控制部分程序

139/178140/178已知電路圖以下列圖所表示。圖中數(shù)碼管為共陽極類型,數(shù)碼管陰極a,b,c,d,e,f,g,Dp依次接至8255PA0,PA1,…,PA7?;卮鹣铝袉栴}:(1)若要數(shù)碼管a段發(fā)光,則應從8255PA0輸出高電平還是低電平?(2)若要數(shù)碼管顯示數(shù)字0,則應從8255PA口送出字形碼為多少?(3)寫出8255PA口和PC口地址。(4)依據(jù)電路圖及下表要求,編寫完整依據(jù)從開關(guān)讀入編碼在數(shù)碼管上顯示對應數(shù)字程序(包含在數(shù)據(jù)段中定義字形碼內(nèi)容)。141/178142/178143/178鍵盤如圖,利用8255PA口、PB口外接16個鍵,其中PB0列上鍵號為0-7,而PB1列上鍵號為0-F。PC口上外接一個共陰極LED顯示器。要求利用查詢法完成:若按下0-7號鍵任一個使LED顯示0,若按下8-F號鍵任一個使LED顯示8。寫出實現(xiàn)上述功效程序段,包含8255初始化(8255端口地址為20H~23H)。144/178145/1788255AA口接有四個開關(guān),且每一開關(guān)接一上拉電阻。B口為輸出端,經(jīng)一8路反相驅(qū)動器,接有一個發(fā)光二極管(LED)組成七段數(shù)碼管,連接電路如圖所表示。試編一程序,要求數(shù)碼管顯示開關(guān)所撥通二進制編碼對應16進制數(shù)字(字符)。要求(1)指出8255各端口地址

(2)寫出8255初始化程序(3)依據(jù)題目要求編寫控制部分程序146/178147/178方式0交互查詢方式打印機接口如圖所表示,圖中8255AA口作為輸出打印數(shù)據(jù)口,工作于方式0,PC7引腳作為打印機數(shù)據(jù)選通信號STB,由它產(chǎn)生一個負脈沖,將數(shù)據(jù)線D7-D0上數(shù)據(jù)送入打印機,PC2引腳接收打印機忙狀態(tài)信號,當打印機在打印某字符時,忙狀態(tài)信號BUSY為1,此時,CPU不能向8255A輸出數(shù)據(jù),要等候BUSY信號為低電平無效時,CPU才能再次輸出數(shù)據(jù)到8255A。現(xiàn)要求打印字符存于緩沖區(qū)BUF中,共有500個字符,設(shè)8255A端口地址為80H-83H。利用查詢BUSY信號,編寫CPU與打印機之間數(shù)據(jù)交換程序段(包含8255A初始化)148/1788088CPUPA0..PA7PC7PC2D0.打.印D7

機STBBUSY149/178某應用系統(tǒng)以8255A作為接口,采集一組開關(guān)S7~S0

狀態(tài),然后經(jīng)過一組發(fā)光二極管LED7~LED0顯示開關(guān)狀態(tài),(Si閉合,則對應LEDi亮,Si斷開,則對應LEDi滅)電路連接以下列圖,已知8255A、B兩組均工作在方式0。寫出8255四個端口地址。寫出8255工作方式控制字。寫出實現(xiàn)給定功效匯編語言程序。150/178151LED7LED0S7S0PB7PB0PA7PA08255AD7~D0D7~D0WR#RD#IOW#IOR#Y0#G1G2A#G2B#CBA74LS138CS#A9AEN&A8A7A6A5A4A3A2A1A0A1A0151/178A口、B口、C口和控制口地址分別是

320H、321H、322H和323H。A口工作在方式0輸出,B口工作在方式0輸入,C口空閑,所以其控制字是10000010b=82H程序以下: MOV AL,82H ;置方式字

MOV DX,323H ;置控制端口地址

OUT DX,ALL1: MOV DX,321H ;置B口地址

IN AL,DX ;讀開關(guān)狀態(tài)(1斷,0通)

NOT AL ;狀態(tài)取反

MOV DX,320H ;置A口地址

OUT DX,AL ;輸出(1亮,0滅)

JMP L1152/178【例題9.6】采取8255A作為與打印機接口電路,CPU與8255A利用查詢方式輸出數(shù)據(jù),硬件如圖所表示,試編程實現(xiàn)將若干個字節(jié)數(shù)據(jù)送打印機打印。設(shè)8255A端口地址為90H~93H。分析:打印機普通有3個主要信號,BUSY表示打印機是否處于“忙”狀態(tài),高電平表示打印機處于忙狀態(tài)。為選通信號,低電平有效,該信號有效時,CPU輸出數(shù)據(jù)被鎖存到打印機內(nèi)部數(shù)據(jù)緩沖器。為打印機應答信號,當打印機處理好輸入數(shù)據(jù)后發(fā)出該信號,同時撤消忙信號。CPU可利用BUSY信號或信號決定是否輸出下一個數(shù)據(jù)。153/178

當CPU經(jīng)過打印接口要求打印機打印數(shù)據(jù)時,普通先查詢BUSY信號,BUSY為低電平時,輸出數(shù)據(jù)至打印口,再發(fā)送信號。

154/178第一步分析

1.先查詢BUSY信號,BUSY為低電平時,能夠輸出數(shù)據(jù)至打印口

2.再發(fā)送信號開啟打印機第二步確定A、B、C口工作方式第三步確定方式控制字第四步8255初始化第五步重復檢測BUSY信號,直到電平為低進入下一步第六步送數(shù)據(jù)給打印機第七步開啟打印機155/178DATASEGMENTBUFFERDB‘45A……’COUNTDW$-BUFFERDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,BUFFERMOVCX,COUNTMOVAL,81H;8255A初始化

OUT93H,ALMOVAL,0FH;使PC7=1OUT93H,AL156/178NEXT:INAL,92H;讀PC端口WAIT1:TESTAL,01H;測試BUSY信號

JNZWAIT1MOVAL,[SI];讀取一個數(shù)據(jù),送入PA端口

OUT90H,AL

溫馨提示

  • 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

提交評論