




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第8章 接口技術(shù)一、可編程并行輸入/輸出接口芯片8255A 習(xí)題二、可編程定時器/記數(shù)器8253 習(xí)題7/18/2022微機(jī)原理及應(yīng)用1一、可編程并行輸入/輸出接口芯片8255AIntel 8255A是可編程接口芯片,可以用程序設(shè)定或改變其工作方式,CPU通過它與外設(shè)連接。1、8255A的結(jié)構(gòu)與工作方式2、8255A的使用及初始化程序例題作業(yè)7/18/2022微機(jī)原理及應(yīng)用21、8255A的結(jié)構(gòu)與工作方式(1)內(nèi)部結(jié)構(gòu)及引腳 (2)8255A工作方式7/18/2022微機(jī)原理及應(yīng)用38255A的內(nèi)部結(jié)構(gòu)框圖1、并行輸入/輸出端口 8255A有3個獨(dú)立的輸入/輸出端口A、B、C,每個端口8位,分
2、別與不同的外設(shè)進(jìn)行數(shù)據(jù)交換。在與外設(shè)數(shù)據(jù)傳送中需要聯(lián)絡(luò)控制線時,C端口作控制信號輸出和狀態(tài)信號輸入,與A、B口配合。7/18/2022微機(jī)原理及應(yīng)用4 8255A的內(nèi)部結(jié)構(gòu)框圖2、A組和B組控制電路A組:A口、C口高4位;B 組:B口、C口低4位;各有控制電路,負(fù)責(zé)接受來自讀/寫控制邏輯的各種命令,以及來自數(shù)據(jù)總線的控制字,從而決定A組和B組的工作方式;根據(jù)CPU的命令對C端口的每一位實(shí)現(xiàn)“復(fù)位”或“置位”。7/18/2022微機(jī)原理及應(yīng)用53、讀/寫控制部件8255A內(nèi)部完成讀/寫控制功能的部件。與6條輸入控制線連接,負(fù)責(zé)接受CPU輸入的控制信號。4、數(shù)據(jù)總線緩沖器是一個8位雙向三態(tài)緩沖器,
3、是8255A與CPU交換各類數(shù)據(jù)的接口。8255A的內(nèi)部結(jié)構(gòu)框圖7/18/2022微機(jī)原理及應(yīng)用68255A的引腳8255A是雙列直插式40引腳芯片。1、與外設(shè)連接的引腳 A口、B口和C口共24條;2、與CPU連接的引腳 (1)數(shù)據(jù)線D0D7;(2)輸入控制線: * RESET復(fù)位信號RESET有效時,清除8255A內(nèi)部寄存器,包括控制寄存器,A口、B口和C口設(shè)置為輸入方式。 * RD讀信號當(dāng)RD低電平時,表示CPU讀出8255A的數(shù)據(jù)或狀態(tài)信息。7/18/2022微機(jī)原理及應(yīng)用78255A的引腳 * WR寫信號表示CPU將數(shù)據(jù)或命令寫入8255A。 * CS片選信號。 * A1A0端口尋址線
4、,直接與CPU地址線連接(8088的A1A0 ),確定CPU要訪問的端口地址。8255A內(nèi)部有3個輸入/輸出端口和一個控制寄存器,由A1A0組合對應(yīng):A1A0 00 端口AA1A0 01 端口BA1A0 10 端口CA1A0 11 控制寄存器返回7/18/2022微機(jī)原理及應(yīng)用8(2) 8255A工作方式工作方式0基本輸入輸出工作方式A、B、C端口都可以作為輸入或輸出數(shù)據(jù)端口,以無條件傳送方式進(jìn)行輸入輸出操作。工作方式1 應(yīng)答式單向輸入輸出工作方式A、B端口作為輸入或輸出數(shù)據(jù)端口,C口分為兩組分別作為A口和B口的應(yīng)答聯(lián)絡(luò)線。工作方式2 應(yīng)答式雙向輸入輸出工作方式只有A口可以工作于方式2,可以雙
5、向操作,即可以輸入也可以輸出數(shù)據(jù),C口作為應(yīng)答信號。位操作工作方式只有C口可以進(jìn)行位操作。7/18/2022微機(jī)原理及應(yīng)用9工作方式0基本輸入輸出工作方式1)方式0下8255A有兩個8位端口:端口A和端口B,兩個4位端口:端口C的高4位和端口C的低4位;2)任何一個端口可以作輸出或輸入,由用戶程序設(shè)定;3)輸出鎖存,輸入不鎖存;4)方式0適用于無條件傳送方式。7/18/2022微機(jī)原理及應(yīng)用10工作方式1 應(yīng)答式單向輸入輸出工作方式1)方式1下8255A可作為一個或兩個選通端口,每個選通端口包含有:8位數(shù)據(jù)端口、3位控制線(由端口C規(guī)定的位提供)、中斷邏輯;2)任何一個選通端口都可以作輸出或輸
6、入,輸出、輸入均鎖存;3)若只有一個端口工作于方式1時,余下的13位可工作于方式0;若兩個端口都工作于方式1時,端口C余下的2位可設(shè)定為輸入或輸出,且也具有置位/復(fù)位功能。在方式1下,端口C的某些位規(guī)定作為聯(lián)絡(luò)信號,但這種規(guī)定在輸入和輸出時不相同。 7/18/2022微機(jī)原理及應(yīng)用11工作方式1 輸入A、B端口工作于方式1輸入時,方式選擇控制字及端口C對應(yīng)的控制信號見圖示;每端口有3個控制信號:STB選通信號,低電平有效,由外設(shè)產(chǎn)生的輸入信號;IBF輸入緩沖器滿,是8255A的輸出信號,可供CPU查詢或用于外設(shè)聯(lián)絡(luò)。IBF有效時,表明在輸入鎖存器中已存放了一個數(shù)據(jù);7/18/2022微機(jī)原理及
7、應(yīng)用12工作方式1 輸入INTR中斷請求信號,是8255A的輸出信號,供CPU查詢或向CPU發(fā)出中斷請求;INTE中斷允許標(biāo)志;* A口中斷允許,PC4置位;* B口中斷允許,PC2置位;方式1中斷輸入過程首先必須對端口進(jìn)行初始化:設(shè)置方式選擇控制字,設(shè)置端口C置位/復(fù)位控制字,將端口設(shè)置為中斷允許。方式1程序查詢傳送方式,查詢IBF的狀態(tài)。7/18/2022微機(jī)原理及應(yīng)用13工作方式1 輸出A、B端口工作于方式1輸出時,方式選擇控制字及端口C對應(yīng)的控制信號見圖示;每端口有3個控制信號:OBF輸出緩沖器滿,8255A給外設(shè)的控制信號;ACK外設(shè)響應(yīng)信號,外設(shè)給8255A的輸入信號,表明輸出數(shù)據(jù)
8、已經(jīng)接受了;INTR中斷請求信號,若INTE1,8255A向CPU發(fā)出中斷請求信號;INTE中斷允許標(biāo)志。7/18/2022微機(jī)原理及應(yīng)用14工作方式1 輸出方式1輸出與輸入相同,首先必須對端口進(jìn)行初始化:設(shè)置方式選擇控制字,設(shè)置端口C置位/復(fù)位控制字,將端口設(shè)置為中斷允許。同樣,方式1輸出可用于程序查詢傳送方式,CPU可通過查詢輸出緩沖器滿信號OBF的狀態(tài),確定是否可以送出數(shù)據(jù)。端口A或B可分別設(shè)為輸入和輸出,不受另一端口影響。7/18/2022微機(jī)原理及應(yīng)用15工作方式2 雙向傳送方式1)方式2只用于端口A;2)端口A工作于方式2下,端口C的PC7 PC3作其聯(lián)絡(luò)控制;3)輸入、輸出均鎖存
9、;4)方式2的輸入/輸出過程相當(dāng)于方式1的輸入過程和輸出過程的組合。7/18/2022微機(jī)原理及應(yīng)用162、8255A的使用及初始化程序8255A各端口的工作方式由CPU通過I/O指令寫入控制寄存器的控制字來決定。8255A有兩個控制字:(1)方式選擇控制字(2)端口C置位/復(fù)位控制字 初始化編程7/18/2022微機(jī)原理及應(yīng)用17(1)方式選擇控制字方式選擇控制字用于設(shè)置各端口的工作方式和數(shù)據(jù)輸入/輸出的傳送方向。 例題7/18/2022微機(jī)原理及應(yīng)用18例題(方式選擇控制字)設(shè)某片8255A的端口地址是60H63H,工作于方式0,端口A和端口C高4位輸出,端口B和端口C低4位輸入,設(shè)置該8
10、255A的方式選擇控制字。解:方式選擇控制字=1000 00117/18/2022微機(jī)原理及應(yīng)用19(2)端口C置位/復(fù)位控制字端口C置位/復(fù)位控制字只對端口C的某一個位進(jìn)行操作,其他位不受影響。注意:必須寫入控制端口。例題7/18/2022微機(jī)原理及應(yīng)用20例題(位操作控制字)已知8255A的端口地址為02E0H02E3H,請實(shí)現(xiàn)對端口C的PC2置位和PC4復(fù)位。解:MOVDX,02E3H;大于8位的端口地址送DXMOVAL,05H;位操作控制字0000 0101OUTDX,AL;置位PC2MOVAL,08H;位操作控制字0000 1000 OUTDX,AL;復(fù)位PC4 7/18/2022微
11、機(jī)原理及應(yīng)用21例題(位操作控制字)(2)請?jiān)?255A的C端口的PC7位輸出一個正脈沖(設(shè)原來PC7=0)。解:程序段如下MOV AL, 0FH ;置位PC7,操作控制字00001111OUT CTRL_PORT, AL ;寫入控制端口MOV AL, 0EH ;復(fù)位PC7,操作控制字 00001110OUT CTRL_PORT, AL; 寫入控制端口7/18/2022微機(jī)原理及應(yīng)用22初始化編程初始化就是CPU通過程序來設(shè)定8255A的工作方式。設(shè)某片8255A的端口地址是60H63H,工作于方式0,端口A和端口C高4位輸出,端口B和端口C低4位輸入,設(shè)置該8255A的方式選擇控制字。解:方
12、式選擇控制字=10000011初始化編程:MOV AL, 83HOUT CNTL_PORT,AL ; 將方式選擇控制字由控制端口寫入7/18/2022微機(jī)原理及應(yīng)用23例題1、已知A,B,C端口均作為輸入或輸出端口,有12個開關(guān)和12個發(fā)光二極管,每一個開關(guān)對應(yīng)每一個發(fā)光二極管,當(dāng)某一開關(guān)接通時,對應(yīng)的發(fā)光二極管就亮,否則就暗。試編寫程序段實(shí)現(xiàn)此功能。(8255A的端口地址是0218H021BH)7/18/2022微機(jī)原理及應(yīng)用24例題(續(xù)上頁)解:程序段流程圖7/18/2022微機(jī)原理及應(yīng)用25例題(續(xù)上頁)解:程序段清單MOV AL, 83H;B口和C口低4位輸入, A口和C高4位輸出MO
13、V DX,021BH;控制端口地址送DXOUT DX, AL;從控制端口寫入方式控制字LL: MOV DX,0219H;讀B口IN AL, DXDEC DX;A口OUT DX, AL;將B口讀入的開關(guān)狀態(tài)從A口輸出MOV DX,021AH;C口IN AL, DX;C口讀入數(shù)據(jù)MOVCL,4SHL AL, CL;將低4位左移到高4位OUT DX,AL;將低4位讀入的從高4位輸出JMP LLHLT7/18/2022微機(jī)原理及應(yīng)用26例題2.一個微機(jī)系統(tǒng)中采用8255A作為I/O接口,初始化時CPU訪問其8BH端口,將它設(shè)置為方式0,A、B口輸入,C口輸出,請問A口的端口地址是多少?解:A口為88H
14、7/18/2022微機(jī)原理及應(yīng)用27作業(yè) P2682、4、67/18/2022微機(jī)原理及應(yīng)用288255A哪種工作方式具有中斷請求的功能?該中斷請求能否屏蔽?如何設(shè)置?解:8255A的方式1、方式2具有中斷請求功能,均可屏蔽。 A口:方式1輸入時,PC4置位允許中斷、 PC4復(fù)位禁止中斷; 方式1輸出時,PC6置位允許中斷、 PC6復(fù)位禁止中斷;方式2時,即為方式1輸入、輸出的組合。B口:工作于方式1時,PC2置位允許中斷、 PC2復(fù)位禁止中斷。7/18/2022微機(jī)原理及應(yīng)用29習(xí)題(2)設(shè)8255A的端口地址為0260H0263H,試編寫下列各種情況的初始化程序:(1)A口、B口設(shè)置為方式
15、0,端口A和C作為輸入口,允許中斷。解:初始化程序段:MOV AL,99H;方式選擇控制字10011001MOV DX,0263H;端口地址大于8位送DXOUT DX,AL7/18/2022微機(jī)原理及應(yīng)用30習(xí)題(3)(2)A口設(shè)置為方式2,禁止中斷,B口設(shè)置為方式1輸出,允許中斷。解:初始化程序段:MOV AL,0C4H ;方式選擇控制字11xx x10 xMOV DX,0263HOUT DX,AL ;初始化完成MOV AL,0CH ;位操作控制字0000 1100, PC6復(fù)位,輸出中斷禁止OUT DX,ALMOV AL,08H ;位操作控制字0000 1000, PC4復(fù)位,輸入中斷禁止
16、OUT DX,AL ;A口方式2,禁止中斷MOV AL,05H ;位操作控制字0000 0101, PC2置位,B口中斷允許OUT DX,AL7/18/2022微機(jī)原理及應(yīng)用31習(xí)題(4)(3)A口設(shè)置為方式1輸入,PC7和PC6作為輸出,B口方式1輸入,A口和B口允許中斷。解:初始化程序段:MOV AL,0B6H;方式選擇控制字1011 011xMOV DX,0263HOUT DX,AL ;初始化完成MOV AL,09H ;位操作控制字0000 1001, PC4置位OUT DX,AL;A口允許中斷MOV AL,05H;位操作控制字0000 0101, PC2置位 OUT DX,AL;B口允
17、許中斷7/18/2022微機(jī)原理及應(yīng)用32二、可編程定時器/記數(shù)器8253在微型計(jì)算機(jī)系統(tǒng)中常常需要定時器或計(jì)數(shù)器,用來產(chǎn)生實(shí)時時鐘信號,如定時對動態(tài)存儲器刷新,控制系統(tǒng)的定時檢測等等。同時,計(jì)算機(jī)控制系統(tǒng)也常常需要計(jì)數(shù)功能,實(shí)現(xiàn)對外部事件的計(jì)數(shù)。1、 8253的內(nèi)部結(jié)構(gòu)及引腳2、 8253的控制字3、8253的的工作方式作業(yè)7/18/2022微機(jī)原理及應(yīng)用331、 8253的內(nèi)部結(jié)構(gòu)及引腳8253的內(nèi)部結(jié)構(gòu)(1)3個計(jì)數(shù)器計(jì)數(shù)器0、1、2,每個計(jì)數(shù)器的結(jié)構(gòu)相同,而且操作是互相獨(dú)立的。(2)控制字寄存器是一個8位寄存器,每個計(jì)數(shù)器有一個,只能寫入,不能讀出,用來保存計(jì)數(shù)器的工作方式、計(jì)數(shù)進(jìn)位制
18、方式以及讀/寫計(jì)數(shù)器方式。(3)數(shù)據(jù)總線緩沖器與CPU數(shù)據(jù)總線直接相連。(4)讀寫控制電路8253的控制電路,接受來自CPU的地址信號和控制信號,完成對8253內(nèi)部各功能的控制和操作。7/18/2022微機(jī)原理及應(yīng)用341、 8253的內(nèi)部結(jié)構(gòu)及引腳A1A0 00 端口AA1A0 01 端口BA1A0 10 端口CA1A0 11 控制寄存器7/18/2022微機(jī)原理及應(yīng)用351、 8253的內(nèi)部結(jié)構(gòu)及引腳(2)8253是24引腳的雙列直插式芯片。(1)與CPU連接的引腳數(shù)據(jù)線D0D7這是與CPU數(shù)據(jù)線連接的引腳,用于與CPU傳遞信息??刂凭€RD、WR、CS、A1和A0 與8255A比較,除沒有
19、復(fù)位信號RESET外,其余都相同。(2)與外部連接的引腳三個計(jì)數(shù)器的三組線CLK、GATE和OUT。7/18/2022微機(jī)原理及應(yīng)用36計(jì)數(shù)器的結(jié)構(gòu)8253的每個計(jì)數(shù)器包括:(1)16位的計(jì)數(shù)初值寄存器CR存放由CPU編程設(shè)定的計(jì)數(shù)初值;(2)16位計(jì)數(shù)執(zhí)行部件CE是一個減1計(jì)數(shù)器,初值是CR的內(nèi)容。CE只對CLK脈沖計(jì)數(shù),一旦計(jì)數(shù)器被啟動后,每出現(xiàn)一個CLK脈沖,CE減1。當(dāng)減為0時,通過OUT輸出指示信號,表明CE為0;*當(dāng)CLK是一個非周期性信號時,起計(jì)數(shù)功能;* 當(dāng)CLK是周期性時鐘信號時,起定時功能。作定時器用時,定時系數(shù)要求的定時時間/輸入的時鐘脈沖周期,作為計(jì)數(shù)初值預(yù)置入CR,7
20、/18/2022微機(jī)原理及應(yīng)用37計(jì)數(shù)器的結(jié)構(gòu)(3)16位輸出鎖存器OL跟隨CE的內(nèi)容變化,當(dāng)接受到CPU發(fā)來的鎖存命令時,就鎖定當(dāng)前的計(jì)數(shù)值,而不跟隨CE變化,直到CPU從中讀取鎖存值后,才恢復(fù)跟隨CE。(4)GATE門控脈沖輸入。 * 高電平時,允許計(jì)數(shù)器工作; * 低電平時,禁止計(jì)數(shù)器工作。7/18/2022微機(jī)原理及應(yīng)用382、 8253的控制字(1)控制字在8253的初始化編程中,第一個寫入的一定是方式控制字,規(guī)定8253的工作方式。7/18/2022微機(jī)原理及應(yīng)用392、 8253的控制字(2)(2)8253的讀/寫操作* 寫入操作設(shè)置控制字,設(shè)置計(jì)數(shù)初值和設(shè)置鎖存命令; 使用前,
21、首先初始化:先寫入方式控制字,隨后寫入計(jì)數(shù)初值(注意格式)。控制字寫入控制寄存器端口,計(jì)數(shù)初值寫入計(jì)數(shù)器端口。 鎖存命令D7D6指定要鎖存的計(jì)數(shù)器,D5D4 00。* 讀出操作CPU讀取計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值。在計(jì)數(shù)過程中,輸出鎖存器OL跟隨計(jì)數(shù)執(zhí)行部件CE變化,在接到CPU發(fā)來的鎖存命令時,當(dāng)前計(jì)數(shù)值鎖存于OL中,OL不再變化,保持至CPU用輸入指令讀取該計(jì)數(shù)器端口的OL值后,輸出鎖存器自動解除鎖存狀態(tài),再次跟隨CE7/18/2022微機(jī)原理及應(yīng)用403、8253的的工作方式8253提供6種工作方式,遵循以下基本原則:(1)控制字寫入計(jì)數(shù)器,所有的控制邏輯電路復(fù)位,輸出端進(jìn)入初始狀態(tài);(2)初始
22、計(jì)數(shù)值寫入后,經(jīng)過一個CLK脈沖后,才由計(jì)數(shù)初值寄存器CR送入計(jì)數(shù)執(zhí)行部件CE開始計(jì)數(shù)。在輸入脈沖的CLK的下降沿,計(jì)數(shù)器作減1計(jì)數(shù);(3)通常,在輸入脈沖CLK的上升沿,門控信號GATE被采樣。不同的工作方式,GATE信號的觸發(fā)方式有不同的規(guī)定,電平觸發(fā)、邊沿觸發(fā)或兩者都允許;(4)8253內(nèi)部沒有中斷控制電路,也沒有專用的中斷請求線,若需中斷,可將OUT端作為中斷請求信號,通過外部電路實(shí)現(xiàn)對該中斷管理(比如接到8259A的IRi)。7/18/2022微機(jī)原理及應(yīng)用413、8253的的工作方式(2)(1)方式0計(jì)數(shù)結(jié)束中斷方式方式0是典型的事件計(jì)數(shù)用法,CLK作為事件計(jì)數(shù)輸入信號,當(dāng)計(jì)數(shù)執(zhí)行
23、部件CE為0時,OUT端變?yōu)楦唠娖?,可以作為中斷請求信號。工作原理:?dāng)寫入控制字后,OUT變?yōu)榈碗娖?,CPU將計(jì)數(shù)初值寫入計(jì)數(shù)初值寄存器CR后,利用下一個CLK脈沖的下降沿將CR的內(nèi)容裝入CE中;再從下一個CLK脈沖的下降沿開始,CE執(zhí)行減1計(jì)數(shù),減到0時,OUT變?yōu)楦唠娖?,并保持。除非重新裝入計(jì)數(shù)初值或復(fù)位。 GATE是門控信號,高電平開放計(jì)數(shù),低電平禁止計(jì)數(shù)。7/18/2022微機(jī)原理及應(yīng)用423、8253的的工作方式(3)方式0的特點(diǎn)和應(yīng)用(1)計(jì)數(shù)過程由軟件啟動,每寫入一次計(jì)數(shù)初值,就啟動一次計(jì)數(shù)過程,即可以利用寫入計(jì)數(shù)初值的時刻來控制啟動計(jì)數(shù)器的時刻;(2)GATE的作用是開放和禁止
24、計(jì)數(shù);(3)OUT由低變高表示計(jì)數(shù)過程結(jié)束,若計(jì)數(shù)初值為N,表示已經(jīng)出現(xiàn)了N1個CLK脈沖信號,或者說已經(jīng)發(fā)生了N1次事件;(4)方式0主要用于事件計(jì)數(shù),OUT信號可作為中斷請求信號。7/18/2022微機(jī)原理及應(yīng)用433、8253的的工作方式(4)例:設(shè)8253的端口地址是70H73H,若計(jì)數(shù)器1工作在方式0,計(jì)數(shù)次數(shù)為130次,試編寫初始化程序。解:初始化程序段MOV AL,71H ;01 11 000 1,計(jì)數(shù)器1,BCD計(jì)數(shù)OUT 73H,AL;控制字寫入控制寄存器MOV AL,30H;先送低8位OUT 71H,AL;低8位送計(jì)數(shù)器1MOV AL,01H;先送低8位OUT 71H,AL
25、;高8位送計(jì)數(shù)器17/18/2022微機(jī)原理及應(yīng)用443、8253的的工作方式(5)方式1硬件觸發(fā)啟動定時或計(jì)數(shù)方式1下,CPU寫入控制字后,輸出OUT變高,然后寫入計(jì)數(shù)初值到CR;當(dāng)GATE端產(chǎn)生一個由低變高的觸發(fā)信號之后的下一個CLK時鐘脈沖的下降沿,才將CR裝入CE,同時OUT變?yōu)榈碗娖?;然后?jì)數(shù)部件CE根據(jù)CLK脈沖做減1計(jì)數(shù),減到0時,OUT變?yōu)楦唠娖?。OUT端輸出的負(fù)脈沖寬度就是計(jì)數(shù)初值個CLK脈沖周期之和。方式1可重觸發(fā),只要將GATE端再產(chǎn)生一次由低變高的觸發(fā)信號,則又將計(jì)數(shù)初值寄存器的CR的內(nèi)容裝入CE,又開始計(jì)數(shù)。7/18/2022微機(jī)原理及應(yīng)用453、8253的的工作方式
26、(6)方式1特點(diǎn)和應(yīng)用(1)計(jì)數(shù)器的啟動只能由門控脈沖的上升沿產(chǎn)生,即只能用硬件啟動,不能用軟件啟動計(jì)數(shù)器;(2)OUT輸出是一個負(fù)脈沖,其脈寬為計(jì)數(shù)初值個CLK時鐘脈沖的周期之和;(3)在形成負(fù)脈沖過程中,可再重觸發(fā),使OUT輸出的負(fù)脈沖加寬。(4)由于計(jì)數(shù)初值是由程序?qū)懭氲模钥梢酝ㄟ^改變計(jì)數(shù)初值輸出不同寬度的OUT的負(fù)脈沖信號。7/18/2022微機(jī)原理及應(yīng)用463、8253的的工作方式(7)例:設(shè)8253的端口地址是70H73H,若計(jì)數(shù)器1工作在方式1,計(jì)數(shù)次數(shù)為20次,試編寫初始化程序。解:初始化程序段MOV AL,52H ;01 01 001 0,計(jì)數(shù)器1,二進(jìn)制計(jì)數(shù)OUT 73
27、H,AL;控制字寫入控制寄存器MOV AL,14H;OUT 71H,AL; 計(jì)數(shù)次數(shù)送計(jì)數(shù)器17/18/2022微機(jī)原理及應(yīng)用473、8253的的工作方式(8)方式2脈沖發(fā)生器方式2下,CPU寫入控制字后,輸出OUT為高電平。若GATE1,寫入計(jì)數(shù)初值后下一個脈沖開始計(jì)數(shù)。計(jì)數(shù)過程OUT保持高電平,當(dāng)減至1時,OUT變低,一個CLK時鐘周期之后,計(jì)數(shù)值至0,輸出OUT恢復(fù)高電平,且自動恢復(fù)計(jì)數(shù)初值重新開始計(jì)數(shù),連續(xù)不斷。所以,只要CLK是周期性脈沖序列,則OUT端將輸出一個CLK脈沖周期的寬度。若計(jì)數(shù)初值為N,OUT的頻率CLK的頻率/N 。7/18/2022微機(jī)原理及應(yīng)用483、8253的的
28、工作方式(9)方式2的特點(diǎn)與應(yīng)用(1)在方式2的工作過程中,計(jì)數(shù)初值CR能自動地、重復(fù)地裝入到計(jì)數(shù)執(zhí)行部件CE中。只要CLK是周期性的脈沖序列,在OUT端上就能連續(xù)地輸出周期性分頻信號,正脈沖寬度為(計(jì)數(shù)初值1)個CLK寬度,負(fù)脈沖寬度即為CLK的寬度;(2)方式2的計(jì)數(shù)器既可軟件啟動(計(jì)數(shù)器恢復(fù)初值,重新計(jì)數(shù));又可硬件啟動(GATE1,計(jì)數(shù)器恢復(fù)初值,GATE0現(xiàn)行計(jì)數(shù)暫停)(3)在計(jì)數(shù)過程中,可再次寫入新的計(jì)數(shù)初值,下次有效。7/18/2022微機(jī)原理及應(yīng)用493、8253的的工作方式(10)例: 8253的計(jì)數(shù)器2用作分頻器,將頻率為1.19MHz的輸入脈沖轉(zhuǎn)變成頻率為500Hz的脈沖
29、信號。8253的端口地址為70H73H。試編寫初始化程序段。解: N1.19106/500 = 2380 094CH則其初始化程序段為: MOV AL,0B4H;10110100,計(jì)數(shù)器2方式2二進(jìn)制計(jì)數(shù)OUT 73H,AL;控制字送入控制寄存器MOV AL,4CHOUT 72H,AL;計(jì)數(shù)值低8位送入計(jì)數(shù)器2MOV AL,09HOUT 72H,AL ;計(jì)數(shù)值高8位送入計(jì)數(shù)器2 注:N也稱為分頻系數(shù)7/18/2022微機(jī)原理及應(yīng)用50作業(yè)P26812、13、14、157/18/2022微機(jī)原理及應(yīng)用51習(xí)題8253有幾個計(jì)數(shù)器?是多少位的?可采用幾種工作方式?簡述各工作方式的特點(diǎn)。 解:825
30、3上有3個獨(dú)立的16位計(jì)數(shù)器,可提供6種工作方式供選擇。方式0(計(jì)數(shù)結(jié)束中斷):計(jì)數(shù)器由軟件啟動(當(dāng)控制字CW寫入控制字寄存器),在寫入計(jì)數(shù)初值N后,若門控信號GATE為高電平,計(jì)數(shù)器開始計(jì)數(shù)。經(jīng)過N+1個CLK脈沖輸出OUT變高。計(jì)數(shù)初值一次有效,GATE為0禁止計(jì)數(shù)。方式l(可編程單拍脈沖):計(jì)數(shù)器由外部硬件信號啟動(GATE的上升沿),若計(jì)數(shù)值為N,啟動后輸出OUT變低,計(jì)數(shù)結(jié)束,OUT變高,即單拍脈沖的寬度為N個CLK脈沖。計(jì)數(shù)初值N可重裝,但必須由外部信號啟動后再計(jì)數(shù)。 7/18/2022微機(jī)原理及應(yīng)用52習(xí)題(2)8253有幾個計(jì)數(shù)器?是多少位的?可采用幾種工作方式?簡述各工作方式
31、的特點(diǎn)。解:方式2(脈沖發(fā)生器):計(jì)數(shù)器可由軟件啟動或硬件啟動,每N個CLK脈沖,輸出寬度為一個CLK周期的負(fù)脈沖。計(jì)數(shù)初值N可自動重裝,GATE為0禁止計(jì)數(shù)。方式3(方波發(fā)生器):方式3與方式2相似,計(jì)數(shù)器能連續(xù)計(jì)數(shù),輸出周期性波形。但方式3中,輸出波形在計(jì)數(shù)過程中一半為高電平,一半為低電平。若計(jì)數(shù)值為N,則輸出周期為N TCLK的方波(或近似方波)。方式3常用作波特率發(fā)生器。寫入N后,若N為偶數(shù),則方波的前半周期和后半周期均為(N/2)TCLK ;若N為奇數(shù),則方波的前半周期為(N +1)/2)TCLK,后半周期為(N1)/2)TCLK 。GATE為0禁止計(jì)數(shù)。7/18/2022微機(jī)原理及
32、應(yīng)用53習(xí)題(3)解:方式4(軟件觸發(fā)選通):與方式0一樣,是由軟件啟動計(jì)數(shù)器,寫入計(jì)數(shù)初值N后,經(jīng)過N個CLK脈沖,輸出寬度為一個CLK周期的負(fù)脈沖。計(jì)數(shù)初值一次有效,GATE為0禁止計(jì)數(shù)。方式4與方式0主要在輸出波形上不同。啟動計(jì)數(shù)后,輸出OUT變高電平(方式0為低電平),至計(jì)數(shù)為0,輸出寬度為一個CLK周期的負(fù)脈沖(方式0為變高電平)。方式5(硬件觸發(fā)選通):與方式1一樣,是由外部硬件信號啟動計(jì)數(shù)器(GATE的上升沿),計(jì)數(shù)初值N可重裝,但必須由外部信號啟動后再計(jì)數(shù)。方式5與方式1不同的是,門控觸發(fā)后,輸出OUT為高電平,經(jīng)過N+1個CLK,輸出寬度為1個CLK周期的負(fù)脈沖。8253有幾
33、個計(jì)數(shù)器?是多少位的?可采用幾種工作方式?簡述各工作方式的特點(diǎn)。7/18/2022微機(jī)原理及應(yīng)用54習(xí)題(4)某系統(tǒng)中8253的端口地址為F280HF283H,請按如下要求編制初始化程序: 1)計(jì)數(shù)器0工作于方式3,CLK02.5MHz,要求OUT0輸出速率為1kHz的方波。解:計(jì)數(shù)器0的計(jì)數(shù)初值 N CLK的頻率/ OUT的頻率 2.5MHz/1kHz 2500初始化程序段:MOV AL,37H ; 控制字0011 0111,計(jì)數(shù)器0方式3,先低字節(jié)后高字節(jié),BCD計(jì)數(shù)MOV DX,0F283H;控制寄存器端口大于地址8位,送DX OUT DX,AL ;控制字寫入控制端口,完成初始化MOV
34、DX,0F280H;計(jì)數(shù)器0的地址送DXMOV AL,00H;計(jì)數(shù)初值低字節(jié)送計(jì)數(shù)器0OUT DX,AL;MOV AL,25H;計(jì)數(shù)初值高字節(jié)送計(jì)數(shù)器OUT DX,AL;完成送計(jì)數(shù)初值 7/18/2022微機(jī)原理及應(yīng)用55習(xí)題(5)2)計(jì)數(shù)器1工作于方式2,CLK12MHz,要求OUT1輸出1kHz頻率的脈沖波。解:計(jì)數(shù)器1的計(jì)數(shù)初值NCLK的頻率/ OUT的頻率 2MHz/1kHz 2000初始化程序段:MOV AL,65H ;控制字0110 0101,計(jì)數(shù)器1方式2,;先低字節(jié)后高字節(jié),BCD計(jì)數(shù)MOV DX,0F283H;大于8位的控制器端口地址送DXOUT DX,AL;控制字寫入控制器
35、端口MOV DX,0F281H;計(jì)數(shù)器1端口地址送DXMOV AL,00H;低字節(jié)送計(jì)數(shù)器1OUTDX,AL;MOV AL,20H;高字節(jié)送計(jì)數(shù)器1OUTDX,AL;完成送計(jì)數(shù)初值7/18/2022微機(jī)原理及應(yīng)用56習(xí)題(6)3)計(jì)數(shù)器2工作于方式4,用OUT1輸出作計(jì)數(shù)脈沖CLK2,計(jì)數(shù)值為1000,計(jì)數(shù)器計(jì)到0,給出一個控制脈沖沿。解:計(jì)數(shù)器2的計(jì)數(shù)初值 N1000=03E8H初始化程序段:MOV AL,0B8H ;控制字1011 1000,計(jì)數(shù)器2方式4,;先低字節(jié)后高字節(jié),二進(jìn)制計(jì)數(shù)MOV DX,0F283H;大于8位的控制器端口送DXOUT DX,AL;控制字送控制器端口,完成初始化
36、MOV DX,0F282H;計(jì)數(shù)器2的端口地址送DXMOV AL,0E8H;低字節(jié)送計(jì)數(shù)器2OUT DX,ALMOV AL,03H;高字節(jié)送計(jì)數(shù)器2OUT DX,AL ;完成送計(jì)數(shù)初值7/18/2022微機(jī)原理及應(yīng)用57習(xí)題(7)已知某8253的輸入時鐘為1.193MHz。請用該芯片產(chǎn)生1Hz頻率的脈沖波。設(shè)芯片的端口地址為40H43H。解:輸入脈沖頻率為1.193MHz,要求輸出1Hz頻率的脈沖波。計(jì)數(shù)初值 N CLK脈沖頻率 / OUT頻率 1.193MHz/1Hz1193000 216顯然無法用一個計(jì)數(shù)器單獨(dú)實(shí)現(xiàn),必須用兩個計(jì)數(shù)器級連才能實(shí)現(xiàn)。選用計(jì)數(shù)器0和計(jì)數(shù)器1工作于方式2 ,將OU
37、T0連至CLK1。(1)計(jì)數(shù)器0,對1.193MHz的時鐘計(jì)數(shù),產(chǎn)生頻率為1kHz的周期信號,計(jì)數(shù)器0的計(jì)數(shù)初值為1193;(2)計(jì)數(shù)器1,對OUT0產(chǎn)生的1kHz周期信號計(jì)數(shù),從而產(chǎn)生頻率為1Hz的周期信號,計(jì)數(shù)器1的計(jì)數(shù)初值為1000。7/18/2022微機(jī)原理及應(yīng)用58習(xí)題(8)程序段:MOV AL,35H;控制字0011 0101,計(jì)數(shù)器0方式2,;先低字節(jié)后高字節(jié),BCD計(jì)數(shù)OUT 43H,AL;控制字寫入控制器端口,完成初始化MOV AL,93H;計(jì)數(shù)初值低字節(jié)送ALOUT 40H,AL;寫入計(jì)數(shù)器0MOV AL,11H;計(jì)數(shù)初值高字節(jié)送AL OUT 40H,AL;寫入計(jì)數(shù)器0,完
38、成送計(jì)數(shù)初值至計(jì)數(shù)器0MOV AL,75H;控制字0111 0101,計(jì)數(shù)器1方式2,;先低字節(jié)后高字節(jié),BCD計(jì)數(shù)OUT 43H,AL;控制字寫入控制器端口MOV AL,00H;計(jì)數(shù)初值低字節(jié)送AL OUT 41H,AL ;寫入計(jì)數(shù)器1MOV AL,10H;計(jì)數(shù)初值高字節(jié)送AL OUT 41H,AL ;寫入計(jì)數(shù)器1,完成送計(jì)數(shù)初值至計(jì)數(shù)器17/18/2022微機(jī)原理及應(yīng)用59習(xí)題(9)思考:一片8253,最大分頻系數(shù)是多少?解:一個計(jì)數(shù)器最大分頻系數(shù) N 216 (二進(jìn)制計(jì)數(shù))或 10000(BCD碼計(jì)數(shù)) 一片8253三個計(jì)數(shù)器級聯(lián),分頻系數(shù) NMAX = 2162162167/18/2022微機(jī)原理及應(yīng)用60習(xí)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《行業(yè)會計(jì)實(shí)務(wù)》課件-項(xiàng)目三 3.3臨時設(shè)施的核算
- 重慶市名校聯(lián)盟2024-2025學(xué)年高二下學(xué)期4月第一次聯(lián)合考試化學(xué)試卷(含答案)
- 小兒擴(kuò)張型心肌病的臨床護(hù)理
- 2025贈與合同公證樣本
- 2025倉儲保管合同范本3
- 浙江國企招聘2025寧波大通開發(fā)有限公司招聘6人筆試參考題庫附帶答案詳解
- 2025年股票交易授權(quán)代理合同
- 2025年初級銀行從業(yè)資格之初級個人貸款通關(guān)考試題庫帶答案解析
- 2025年初級經(jīng)濟(jì)師之初級建筑與房地產(chǎn)經(jīng)濟(jì)綜合檢測試卷B卷含答案
- 發(fā)力新質(zhì)生產(chǎn)力
- 滬教版小學(xué)六年級數(shù)學(xué)應(yīng)用題150道及答案
- 北師大版四年級下冊小數(shù)乘法豎式計(jì)算練習(xí)100題及答案
- 2024年湖南省長沙市中考地理試卷真題(含答案解析)
- 《中國健康成年人身體活動能量消耗參考值》(編制說明)
- 食堂大米采購招標(biāo)文件
- 醫(yī)療美容診所規(guī)章制度上墻
- CJT 216-2013 給水排水用軟密封閘閥
- CJ-T250-2018建筑排水用高密度聚乙烯(HDPE)管材及管件
- 大學(xué)遺傳學(xué)期末考試題庫和答案
- 2024注冊信息安全專業(yè)人員CISP培訓(xùn)講義全集
- DB64 1996-2024 燃煤電廠大氣污染物排放標(biāo)準(zhǔn)
評論
0/150
提交評論