版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《微機(jī)原理及應(yīng)用》主講教師郭莉莉2023/2/41第8章接口技術(shù)一、可編程并行輸入/輸出接口芯片8255A
習(xí)題二、可編程定時(shí)器/記數(shù)器8253
習(xí)題2023/2/42微機(jī)原理及應(yīng)用一、可編程并行輸入/輸出接口芯片8255AIntel8255A是可編程接口芯片,可以用程序設(shè)定或改變其工作方式,CPU通過(guò)它與外設(shè)連接。1、8255A的結(jié)構(gòu)與工作方式2、8255A的使用及初始化程序
例題
作業(yè)2023/2/43微機(jī)原理及應(yīng)用1、8255A的結(jié)構(gòu)與工作方式(1)內(nèi)部結(jié)構(gòu)及引腳(2)8255A工作方式2023/2/44微機(jī)原理及應(yīng)用8255A的內(nèi)部結(jié)構(gòu)框圖1、并行輸入/輸出端口8255A有3個(gè)獨(dú)立的輸入/輸出端口A、B、C,每個(gè)端口8位,分別與不同的外設(shè)進(jìn)行數(shù)據(jù)交換。在與外設(shè)數(shù)據(jù)傳送中需要聯(lián)絡(luò)控制線時(shí),C端口作控制信號(hào)輸出和狀態(tài)信號(hào)輸入,與A、B口配合。2023/2/45微機(jī)原理及應(yīng)用
8255A的內(nèi)部結(jié)構(gòu)框圖2、A組和B組控制電路A組:A口、C口高4位;B組:B口、C口低4位;各有控制電路,負(fù)責(zé)接受來(lái)自讀/寫(xiě)控制邏輯的各種命令,以及來(lái)自數(shù)據(jù)總線的控制字,從而決定A組和B組的工作方式;根據(jù)CPU的命令對(duì)C端口的每一位實(shí)現(xiàn)“復(fù)位”或“置位”。2023/2/46微機(jī)原理及應(yīng)用3、讀/寫(xiě)控制部件8255A內(nèi)部完成讀/寫(xiě)控制功能的部件。與6條輸入控制線連接,負(fù)責(zé)接受CPU輸入的控制信號(hào)。4、數(shù)據(jù)總線緩沖器是一個(gè)8位雙向三態(tài)緩沖器,是8255A與CPU交換各類數(shù)據(jù)的接口。8255A的內(nèi)部結(jié)構(gòu)框圖2023/2/47微機(jī)原理及應(yīng)用8255A的引腳8255A是雙列直插式40引腳芯片。1、與外設(shè)連接的引腳A口、B口和C口共24條;2、與CPU連接的引腳
(1)數(shù)據(jù)線D0—D7;(2)輸入控制線:*RESET——復(fù)位信號(hào)RESET有效時(shí),清除8255A內(nèi)部寄存器,包括控制寄存器,A口、B口和C口設(shè)置為輸入方式。*RD——讀信號(hào)當(dāng)RD低電平時(shí),表示CPU讀出8255A的數(shù)據(jù)或狀態(tài)信息。2023/2/48微機(jī)原理及應(yīng)用8255A的引腳*WR——寫(xiě)信號(hào)表示CPU將數(shù)據(jù)或命令寫(xiě)入8255A。*CS——片選信號(hào)。*A1A0——端口尋址線,直接與CPU地址線連接(8088的A1A0),確定CPU要訪問(wèn)的端口地址。8255A內(nèi)部有3個(gè)輸入/輸出端口和一個(gè)控制寄存器,由A1A0組合對(duì)應(yīng):A1A000端口AA1A001端口BA1A010端口CA1A011控制寄存器返回2023/2/49微機(jī)原理及應(yīng)用(2)8255A工作方式①工作方式0—基本輸入輸出工作方式A、B、C端口都可以作為輸入或輸出數(shù)據(jù)端口,以無(wú)條件傳送方式進(jìn)行輸入輸出操作。②工作方式1—應(yīng)答式單向輸入輸出工作方式A、B端口作為輸入或輸出數(shù)據(jù)端口,C口分為兩組分別作為A口和B口的應(yīng)答聯(lián)絡(luò)線。③工作方式2—應(yīng)答式雙向輸入輸出工作方式只有A口可以工作于方式2,可以雙向操作,即可以輸入也可以輸出數(shù)據(jù),C口作為應(yīng)答信號(hào)。④位操作工作方式只有C口可以進(jìn)行位操作。2023/2/410微機(jī)原理及應(yīng)用工作方式0—基本輸入輸出工作方式1)方式0下8255A有兩個(gè)8位端口:端口A和端口B,兩個(gè)4位端口:端口C的高4位和端口C的低4位;2)任何一個(gè)端口可以作輸出或輸入,由用戶程序設(shè)定;3)輸出鎖存,輸入不鎖存;4)方式0適用于無(wú)條件傳送方式。2023/2/411微機(jī)原理及應(yīng)用工作方式1—應(yīng)答式單向輸入輸出工作方式1)方式1下8255A可作為一個(gè)或兩個(gè)選通端口,每個(gè)選通端口包含有:8位數(shù)據(jù)端口、3位控制線(由端口C規(guī)定的位提供)、中斷邏輯;2)任何一個(gè)選通端口都可以作輸出或輸入,輸出、輸入均鎖存;3)若只有一個(gè)端口工作于方式1時(shí),余下的13位可工作于方式0;若兩個(gè)端口都工作于方式1時(shí),端口C余下的2位可設(shè)定為輸入或輸出,且也具有置位/復(fù)位功能。在方式1下,端口C的某些位規(guī)定作為聯(lián)絡(luò)信號(hào),但這種規(guī)定在輸入和輸出時(shí)不相同。
2023/2/412微機(jī)原理及應(yīng)用工作方式1—輸入A、B端口工作于方式1輸入時(shí),方式選擇控制字及端口C對(duì)應(yīng)的控制信號(hào)見(jiàn)圖示;每端口有3個(gè)控制信號(hào):STB——選通信號(hào),低電平有效,由外設(shè)產(chǎn)生的輸入信號(hào);IBF——輸入緩沖器滿,是8255A的輸出信號(hào),可供CPU查詢或用于外設(shè)聯(lián)絡(luò)。IBF有效時(shí),表明在輸入鎖存器中已存放了一個(gè)數(shù)據(jù);2023/2/413微機(jī)原理及應(yīng)用工作方式1—輸入INTR——中斷請(qǐng)求信號(hào),是8255A的輸出信號(hào),供CPU查詢或向CPU發(fā)出中斷請(qǐng)求;INTE——中斷允許標(biāo)志;*A口中斷允許,PC4置位;*B口中斷允許,PC2置位;方式1中斷輸入過(guò)程首先必須對(duì)端口進(jìn)行初始化:設(shè)置方式選擇控制字,設(shè)置端口C置位/復(fù)位控制字,將端口設(shè)置為中斷允許。方式1程序查詢傳送方式,查詢IBF的狀態(tài)。2023/2/414微機(jī)原理及應(yīng)用工作方式1—輸出A、B端口工作于方式1輸出時(shí),方式選擇控制字及端口C對(duì)應(yīng)的控制信號(hào)見(jiàn)圖示;每端口有3個(gè)控制信號(hào):OBF——輸出緩沖器滿,8255A給外設(shè)的控制信號(hào);ACK——外設(shè)響應(yīng)信號(hào),外設(shè)給8255A的輸入信號(hào),表明輸出數(shù)據(jù)已經(jīng)接受了;INTR——中斷請(qǐng)求信號(hào),若INTE=1,8255A向CPU發(fā)出中斷請(qǐng)求信號(hào);INTE——中斷允許標(biāo)志。2023/2/415微機(jī)原理及應(yīng)用工作方式1—輸出方式1輸出與輸入相同,首先必須對(duì)端口進(jìn)行初始化:設(shè)置方式選擇控制字,設(shè)置端口C置位/復(fù)位控制字,將端口設(shè)置為中斷允許。同樣,方式1輸出可用于程序查詢傳送方式,CPU可通過(guò)查詢輸出緩沖器滿信號(hào)OBF的狀態(tài),確定是否可以送出數(shù)據(jù)。端口A或B可分別設(shè)為輸入和輸出,不受另一端口影響。2023/2/416微機(jī)原理及應(yīng)用工作方式2—雙向傳送方式1)方式2只用于端口A;2)端口A工作于方式2下,端口C的PC7-PC3作其聯(lián)絡(luò)控制;3)輸入、輸出均鎖存;4)方式2的輸入/輸出過(guò)程相當(dāng)于方式1的輸入過(guò)程和輸出過(guò)程的組合。2023/2/417微機(jī)原理及應(yīng)用2、8255A的使用及初始化程序8255A各端口的工作方式由CPU通過(guò)I/O指令寫(xiě)入控制寄存器的控制字來(lái)決定。8255A有兩個(gè)控制字: (1)方式選擇控制字 (2)端口C置位/復(fù)位控制字
初始化編程2023/2/418微機(jī)原理及應(yīng)用(1)方式選擇控制字方式選擇控制字用于設(shè)置各端口的工作方式和數(shù)據(jù)輸入/輸出的傳送方向。
例題2023/2/419微機(jī)原理及應(yīng)用例題(方式選擇控制字)設(shè)某片8255A的端口地址是60H~63H,工作于方式0,端口A和端口C高4位輸出,端口B和端口C低4位輸入,設(shè)置該8255A的方式選擇控制字。解:方式選擇控制字=100000112023/2/420微機(jī)原理及應(yīng)用(2)端口C置位/復(fù)位控制字端口C置位/復(fù)位控制字只對(duì)端口C的某一個(gè)位進(jìn)行操作,其他位不受影響。注意:必須寫(xiě)入控制端口。例題2023/2/421微機(jī)原理及應(yīng)用例題(位操作控制字)已知8255A的端口地址為02E0H-02E3H,請(qǐng)實(shí)現(xiàn)對(duì)端口C的PC2置位和PC4復(fù)位。解: MOV DX,02E3H ;大于8位的端口地址送DX MOV AL,05H ;位操作控制字=00000101 OUT DX,AL ;置位PC2 MOV AL,08H ;位操作控制字=00001000 OUT DX,AL ;復(fù)位PC4
2023/2/422微機(jī)原理及應(yīng)用例題(位操作控制字)(2)請(qǐng)?jiān)?255A的C端口的PC7位輸出一個(gè)正脈沖(設(shè)原來(lái)PC7=0)。解:程序段如下MOVAL,0FH ;置位PC7,操作控制字=00001111OUTCTRL_PORT,AL ;寫(xiě)入控制端口MOVAL,0EH ;復(fù)位PC7,操作控制字=00001110OUTCTRL_PORT,AL ;寫(xiě)入控制端口2023/2/423微機(jī)原理及應(yīng)用初始化編程初始化就是CPU通過(guò)程序來(lái)設(shè)定8255A的工作方式。設(shè)某片8255A的端口地址是60H~63H,工作于方式0,端口A和端口C高4位輸出,端口B和端口C低4位輸入,設(shè)置該8255A的方式選擇控制字。解:方式選擇控制字=10000011初始化編程:MOVAL,83HOUTCNTL_PORT,AL;將方式選擇控制字由控制端口寫(xiě)入2023/2/424微機(jī)原理及應(yīng)用例題1、已知A,B,C端口均作為輸入或輸出端口,有12個(gè)開(kāi)關(guān)和12個(gè)發(fā)光二極管,每一個(gè)開(kāi)關(guān)對(duì)應(yīng)每一個(gè)發(fā)光二極管,當(dāng)某一開(kāi)關(guān)接通時(shí),對(duì)應(yīng)的發(fā)光二極管就亮,否則就暗。試編寫(xiě)程序段實(shí)現(xiàn)此功能。(8255A的端口地址是0218H~021BH)2023/2/425微機(jī)原理及應(yīng)用例題(續(xù)上頁(yè))解:程序段流程圖2023/2/426微機(jī)原理及應(yīng)用例題(續(xù)上頁(yè))解:程序段清單
MOVAL,83H ;B口和C口低4位輸入,A口和C高4位輸出 MOVDX,021BH ;控制端口地址送DX OUTDX,AL ;從控制端口寫(xiě)入方式控制字LL:MOVDX,0219H ;讀B口
INAL,DX DECDX ;A口 OUTDX,AL ;將B口讀入的開(kāi)關(guān)狀態(tài)從A口輸出
MOVDX,021AH ;C口
INAL,DX ;C口讀入數(shù)據(jù)
MOVCL,4 SHLAL,CL ;將低4位左移到高4位
OUTDX,AL ;將低4位讀入的從高4位輸出
JMPLL HLT2023/2/427微機(jī)原理及應(yīng)用例題2.一個(gè)微機(jī)系統(tǒng)中采用8255A作為I/O接口,初始化時(shí)CPU訪問(wèn)其8BH端口,將它設(shè)置為方式0,A、B口輸入,C口輸出,請(qǐng)問(wèn)A口的端口地址是多少?解:A口為88H2023/2/428微機(jī)原理及應(yīng)用作業(yè)P2682、4、62023/2/429微機(jī)原理及應(yīng)用習(xí)題8255A哪種工作方式具有中斷請(qǐng)求的功能?該中斷請(qǐng)求能否屏蔽?如何設(shè)置?解:8255A的方式1、方式2具有中斷請(qǐng)求功能,均可屏蔽。
A口:方式1輸入時(shí),PC4置位允許中斷、PC4復(fù)位禁止中斷;方式1輸出時(shí),PC6置位允許中斷、PC6復(fù)位禁止中斷; 方式2時(shí),即為方式1輸入、輸出的組合。B口:工作于方式1時(shí),PC2置位允許中斷、PC2復(fù)位禁止中斷。2023/2/430微機(jī)原理及應(yīng)用習(xí)題(2)設(shè)8255A的端口地址為0260H~0263H,試編寫(xiě)下列各種情況的初始化程序:(1)A口、B口設(shè)置為方式0,端口A和C作為輸入口,允許中斷。解:初始化程序段: MOVAL,99H ;方式選擇控制字=10011001 MOVDX,0263H ;端口地址大于8位送DX OUTDX,AL2023/2/431微機(jī)原理及應(yīng)用習(xí)題(3)(2)A口設(shè)置為方式2,禁止中斷,B口設(shè)置為方式1輸出,允許中斷。解:初始化程序段: MOVAL,0C4H;方式選擇控制字=11xx
x10x MOVDX,0263H OUTDX,AL ;初始化完成
MOVAL,0CH;位操作控制字=00001100,PC6復(fù)位,輸出中斷禁止
OUTDX,AL MOVAL,08H;位操作控制字=00001000,PC4復(fù)位,輸入中斷禁止
OUTDX,AL ;A口方式2,禁止中斷
MOVAL,05H;位操作控制字=00000101,PC2置位,B口中斷允許 OUTDX,AL2023/2/432微機(jī)原理及應(yīng)用習(xí)題(4)(3)A口設(shè)置為方式1輸入,PC7和PC6作為輸出,B口方式1輸入,A口和B口允許中斷。解:初始化程序段:
MOVAL,0B6H ;方式選擇控制字=1011
011x MOVDX,0263H OUTDX,AL ;初始化完成 MOVAL,09H ;位操作控制字=00001001,PC4置位 OUTDX,AL ;A口允許中斷
MOVAL,05H ;位操作控制字=00000101,PC2置位 OUTDX,AL ;B口允許中斷2023/2/433微機(jī)原理及應(yīng)用二、可編程定時(shí)器/記數(shù)器8253在微型計(jì)算機(jī)系統(tǒng)中常常需要定時(shí)器或計(jì)數(shù)器,用來(lái)產(chǎn)生實(shí)時(shí)時(shí)鐘信號(hào),如定時(shí)對(duì)動(dòng)態(tài)存儲(chǔ)器刷新,控制系統(tǒng)的定時(shí)檢測(cè)等等。同時(shí),計(jì)算機(jī)控制系統(tǒng)也常常需要計(jì)數(shù)功能,實(shí)現(xiàn)對(duì)外部事件的計(jì)數(shù)。1、8253的內(nèi)部結(jié)構(gòu)及引腳2、8253的控制字3、8253的的工作方式
作業(yè)2023/2/434微機(jī)原理及應(yīng)用1、8253的內(nèi)部結(jié)構(gòu)及引腳8253的內(nèi)部結(jié)構(gòu)(1)3個(gè)計(jì)數(shù)器——計(jì)數(shù)器0、1、2,每個(gè)計(jì)數(shù)器的結(jié)構(gòu)相同,而且操作是互相獨(dú)立的。(2)控制字寄存器——是一個(gè)8位寄存器,每個(gè)計(jì)數(shù)器有一個(gè),只能寫(xiě)入,不能讀出,用來(lái)保存計(jì)數(shù)器的工作方式、計(jì)數(shù)進(jìn)位制方式以及讀/寫(xiě)計(jì)數(shù)器方式。(3)數(shù)據(jù)總線緩沖器——與CPU數(shù)據(jù)總線直接相連。(4)讀寫(xiě)控制電路——8253的控制電路,接受來(lái)自CPU的地址信號(hào)和控制信號(hào),完成對(duì)8253內(nèi)部各功能的控制和操作。2023/2/435微機(jī)原理及應(yīng)用1、8253的內(nèi)部結(jié)構(gòu)及引腳A1A000端口AA1A001端口BA1A010端口CA1A011控制寄存器2023/2/436微機(jī)原理及應(yīng)用1、8253的內(nèi)部結(jié)構(gòu)及引腳(2)8253是24引腳的雙列直插式芯片。(1)與CPU連接的引腳數(shù)據(jù)線D0-D7——這是與CPU數(shù)據(jù)線連接的引腳,用于與CPU傳遞信息??刂凭€RD、WR、CS、A1和A0——與8255A比較,除沒(méi)有復(fù)位信號(hào)RESET外,其余都相同。(2)與外部連接的引腳三個(gè)計(jì)數(shù)器的三組線——CLK、GATE和OUT。2023/2/437微機(jī)原理及應(yīng)用計(jì)數(shù)器的結(jié)構(gòu)8253的每個(gè)計(jì)數(shù)器包括:(1)16位的計(jì)數(shù)初值寄存器CR——存放由CPU編程設(shè)定的計(jì)數(shù)初值;(2)16位計(jì)數(shù)執(zhí)行部件CE——是一個(gè)減1計(jì)數(shù)器,初值是CR的內(nèi)容。CE只對(duì)CLK脈沖計(jì)數(shù),一旦計(jì)數(shù)器被啟動(dòng)后,每出現(xiàn)一個(gè)CLK脈沖,CE減1。當(dāng)減為0時(shí),通過(guò)OUT輸出指示信號(hào),表明CE為0;*當(dāng)CLK是一個(gè)非周期性信號(hào)時(shí),起計(jì)數(shù)功能;*當(dāng)CLK是周期性時(shí)鐘信號(hào)時(shí),起定時(shí)功能。作定時(shí)器用時(shí),定時(shí)系數(shù)=要求的定時(shí)時(shí)間/輸入的時(shí)鐘脈沖周期,作為計(jì)數(shù)初值預(yù)置入CR,2023/2/438微機(jī)原理及應(yīng)用計(jì)數(shù)器的結(jié)構(gòu)(3)16位輸出鎖存器OL——跟隨CE的內(nèi)容變化,當(dāng)接受到CPU發(fā)來(lái)的鎖存命令時(shí),就鎖定當(dāng)前的計(jì)數(shù)值,而不跟隨CE變化,直到CPU從中讀取鎖存值后,才恢復(fù)跟隨CE。(4)GATE——門(mén)控脈沖輸入。*高電平時(shí),允許計(jì)數(shù)器工作;*低電平時(shí),禁止計(jì)數(shù)器工作。2023/2/439微機(jī)原理及應(yīng)用2、8253的控制字(1)控制字——在8253的初始化編程中,第一個(gè)寫(xiě)入的一定是方式控制字,規(guī)定8253的工作方式。2023/2/440微機(jī)原理及應(yīng)用2、8253的控制字(2)(2)8253的讀/寫(xiě)操作*寫(xiě)入操作——設(shè)置控制字,設(shè)置計(jì)數(shù)初值和設(shè)置鎖存命令;使用前,首先初始化:先寫(xiě)入方式控制字,隨后寫(xiě)入計(jì)數(shù)初值(注意格式)??刂谱謱?xiě)入控制寄存器端口,計(jì)數(shù)初值寫(xiě)入計(jì)數(shù)器端口。鎖存命令——D7D6指定要鎖存的計(jì)數(shù)器,D5D4=00。*讀出操作——CPU讀取計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值。在計(jì)數(shù)過(guò)程中,輸出鎖存器OL跟隨計(jì)數(shù)執(zhí)行部件CE變化,在接到CPU發(fā)來(lái)的鎖存命令時(shí),當(dāng)前計(jì)數(shù)值鎖存于OL中,OL不再變化,保持至CPU用輸入指令讀取該計(jì)數(shù)器端口的OL值后,輸出鎖存器自動(dòng)解除鎖存狀態(tài),再次跟隨CE2023/2/441微機(jī)原理及應(yīng)用3、8253的的工作方式8253提供6種工作方式,遵循以下基本原則:(1)控制字寫(xiě)入計(jì)數(shù)器,所有的控制邏輯電路復(fù)位,輸出端進(jìn)入初始狀態(tài);(2)初始計(jì)數(shù)值寫(xiě)入后,經(jīng)過(guò)一個(gè)CLK脈沖后,才由計(jì)數(shù)初值寄存器CR送入計(jì)數(shù)執(zhí)行部件CE開(kāi)始計(jì)數(shù)。在輸入脈沖的CLK的下降沿,計(jì)數(shù)器作減1計(jì)數(shù);(3)通常,在輸入脈沖CLK的上升沿,門(mén)控信號(hào)GATE被采樣。不同的工作方式,GATE信號(hào)的觸發(fā)方式有不同的規(guī)定,電平觸發(fā)、邊沿觸發(fā)或兩者都允許;(4)8253內(nèi)部沒(méi)有中斷控制電路,也沒(méi)有專用的中斷請(qǐng)求線,若需中斷,可將OUT端作為中斷請(qǐng)求信號(hào),通過(guò)外部電路實(shí)現(xiàn)對(duì)該中斷管理(比如接到8259A的IRi)。2023/2/442微機(jī)原理及應(yīng)用3、8253的的工作方式(2)(1)方式0——計(jì)數(shù)結(jié)束中斷方式方式0是典型的事件計(jì)數(shù)用法,CLK作為事件計(jì)數(shù)輸入信號(hào),當(dāng)計(jì)數(shù)執(zhí)行部件CE為0時(shí),OUT端變?yōu)楦唠娖?,可以作為中斷?qǐng)求信號(hào)。工作原理:當(dāng)寫(xiě)入控制字后,OUT變?yōu)榈碗娖剑珻PU將計(jì)數(shù)初值寫(xiě)入計(jì)數(shù)初值寄存器CR后,利用下一個(gè)CLK脈沖的下降沿將CR的內(nèi)容裝入CE中;再?gòu)南乱粋€(gè)CLK脈沖的下降沿開(kāi)始,CE執(zhí)行減1計(jì)數(shù),減到0時(shí),OUT變?yōu)楦唠娖?,并保持。除非重新裝入計(jì)數(shù)初值或復(fù)位。
GATE是門(mén)控信號(hào),高電平開(kāi)放計(jì)數(shù),低電平禁止計(jì)數(shù)。2023/2/443微機(jī)原理及應(yīng)用3、8253的的工作方式(3)方式0的特點(diǎn)和應(yīng)用(1)計(jì)數(shù)過(guò)程由軟件啟動(dòng),每寫(xiě)入一次計(jì)數(shù)初值,就啟動(dòng)一次計(jì)數(shù)過(guò)程,即可以利用寫(xiě)入計(jì)數(shù)初值的時(shí)刻來(lái)控制啟動(dòng)計(jì)數(shù)器的時(shí)刻;(2)GATE的作用是開(kāi)放和禁止計(jì)數(shù);(3)OUT由低變高表示計(jì)數(shù)過(guò)程結(jié)束,若計(jì)數(shù)初值為N,表示已經(jīng)出現(xiàn)了N+1個(gè)CLK脈沖信號(hào),或者說(shuō)已經(jīng)發(fā)生了N+1次事件;(4)方式0主要用于事件計(jì)數(shù),OUT信號(hào)可作為中斷請(qǐng)求信號(hào)。2023/2/444微機(jī)原理及應(yīng)用3、8253的的工作方式(4)例:設(shè)8253的端口地址是70H-73H,若計(jì)數(shù)器1工作在方式0,計(jì)數(shù)次數(shù)為130次,試編寫(xiě)初始化程序。解:初始化程序段
MOVAL,71H ;0111
0001,計(jì)數(shù)器1,BCD計(jì)數(shù)
OUT73H,AL ;控制字寫(xiě)入控制寄存器
MOVAL,30H ;先送低8位
OUT71H,AL ;低8位送計(jì)數(shù)器1 MOVAL,01H ;先送低8位
OUT71H,AL ;高8位送計(jì)數(shù)器1
2023/2/445微機(jī)原理及應(yīng)用3、8253的的工作方式(5)方式1——硬件觸發(fā)啟動(dòng)定時(shí)或計(jì)數(shù)方式1下,CPU寫(xiě)入控制字后,輸出OUT變高,然后寫(xiě)入計(jì)數(shù)初值到CR;當(dāng)GATE端產(chǎn)生一個(gè)由低變高的觸發(fā)信號(hào)之后的下一個(gè)CLK時(shí)鐘脈沖的下降沿,才將CR裝入CE,同時(shí)OUT變?yōu)榈碗娖剑蝗缓笥?jì)數(shù)部件CE根據(jù)CLK脈沖做減1計(jì)數(shù),減到0時(shí),OUT變?yōu)楦唠娖?。OUT端輸出的負(fù)脈沖寬度就是計(jì)數(shù)初值個(gè)CLK脈沖周期之和。方式1可重觸發(fā),只要將GATE端再產(chǎn)生一次由低變高的觸發(fā)信號(hào),則又將計(jì)數(shù)初值寄存器的CR的內(nèi)容裝入CE,又開(kāi)始計(jì)數(shù)。2023/2/446微機(jī)原理及應(yīng)用3、8253的的工作方式(6)方式1特點(diǎn)和應(yīng)用(1)計(jì)數(shù)器的啟動(dòng)只能由門(mén)控脈沖的上升沿產(chǎn)生,即只能用硬件啟動(dòng),不能用軟件啟動(dòng)計(jì)數(shù)器;(2)OUT輸出是一個(gè)負(fù)脈沖,其脈寬為計(jì)數(shù)初值個(gè)CLK時(shí)鐘脈沖的周期之和;(3)在形成負(fù)脈沖過(guò)程中,可再重觸發(fā),使OUT輸出的負(fù)脈沖加寬。(4)由于計(jì)數(shù)初值是由程序?qū)懭氲?,所以可以通過(guò)改變計(jì)數(shù)初值輸出不同寬度的OUT的負(fù)脈沖信號(hào)。2023/2/447微機(jī)原理及應(yīng)用3、8253的的工作方式(7)例:設(shè)8253的端口地址是70H-73H,若計(jì)數(shù)器1工作在方式1,計(jì)數(shù)次數(shù)為20次,試編寫(xiě)初始化程序。解:初始化程序段
MOVAL,52H ;0101
0010,計(jì)數(shù)器1,二進(jìn)制計(jì)數(shù)
OUT73H,AL ;控制字寫(xiě)入控制寄存器
MOVAL,14H ;
OUT71H,AL ;計(jì)數(shù)次數(shù)送計(jì)數(shù)器12023/2/448微機(jī)原理及應(yīng)用3、8253的的工作方式(8)方式2——脈沖發(fā)生器方式2下,CPU寫(xiě)入控制字后,輸出OUT為高電平。若GATE=1,寫(xiě)入計(jì)數(shù)初值后下一個(gè)脈沖開(kāi)始計(jì)數(shù)。計(jì)數(shù)過(guò)程O(píng)UT保持高電平,當(dāng)減至1時(shí),OUT變低,一個(gè)CLK時(shí)鐘周期之后,計(jì)數(shù)值至0,輸出OUT恢復(fù)高電平,且自動(dòng)恢復(fù)計(jì)數(shù)初值重新開(kāi)始計(jì)數(shù),連續(xù)不斷。所以,只要CLK是周期性脈沖序列,則OUT端將輸出一個(gè)CLK脈沖周期的寬度。若計(jì)數(shù)初值為N,OUT的頻率=CLK的頻率/N。2023/2/449微機(jī)原理及應(yīng)用3、8253的的工作方式(9)方式2的特點(diǎn)與應(yīng)用(1)在方式2的工作過(guò)程中,計(jì)數(shù)初值CR能自動(dòng)地、重復(fù)地裝入到計(jì)數(shù)執(zhí)行部件CE中。只要CLK是周期性的脈沖序列,在OUT端上就能連續(xù)地輸出周期性分頻信號(hào),正脈沖寬度為(計(jì)數(shù)初值-1)個(gè)CLK寬度,負(fù)脈沖寬度即為CLK的寬度;(2)方式2的計(jì)數(shù)器既可軟件啟動(dòng)(計(jì)數(shù)器恢復(fù)初值,重新計(jì)數(shù));又可硬件啟動(dòng)(GATE=1,計(jì)數(shù)器恢復(fù)初值,GATE=0現(xiàn)行計(jì)數(shù)暫停)(3)在計(jì)數(shù)過(guò)程中,可再次寫(xiě)入新的計(jì)數(shù)初值,下次有效。2023/2/450微機(jī)原理及應(yīng)用3、8253的的工作方式(10)例:8253的計(jì)數(shù)器2用作分頻器,將頻率為1.19MHz的輸入脈沖轉(zhuǎn)變成頻率為500Hz的脈沖信號(hào)。8253的端口地址為70H-73H。試編寫(xiě)初始化程序段。解:N=1.19×106/500=2380=094CH則其初始化程序段為: MOVAL,0B4H;10110100,計(jì)數(shù)器2方式2二進(jìn)制計(jì)數(shù) OUT73H,AL ;控制字送入控制寄存器 MOVAL,4CH OUT72H,AL ;計(jì)數(shù)值低8位送入計(jì)數(shù)器2 MOVAL,09H OUT72H,AL;計(jì)數(shù)值高8位送入計(jì)數(shù)器2注:N也稱為分頻系數(shù)2023/2/451微機(jī)原理及應(yīng)用作業(yè)P26812、13、14、152023/2/452微機(jī)原理及應(yīng)用習(xí)題8253有幾個(gè)計(jì)數(shù)器?是多少位的?可采用幾種工作方式?簡(jiǎn)述各工作方式的特點(diǎn)。
解:8253上有3個(gè)獨(dú)立的16位計(jì)數(shù)器,可提供6種工作方式供選擇。方式0(計(jì)數(shù)結(jié)束中斷):計(jì)數(shù)器由軟件啟動(dòng)(當(dāng)控制字CW寫(xiě)入控制字寄存器),在寫(xiě)入計(jì)數(shù)初值N后,若門(mén)控信號(hào)GATE為高電平,計(jì)數(shù)器開(kāi)始計(jì)數(shù)。經(jīng)過(guò)N+1個(gè)CLK脈沖輸出OUT變高。計(jì)數(shù)初值一次有效,GATE為0禁止計(jì)數(shù)。方式l(可編程單拍脈沖):計(jì)數(shù)器由外部硬件信號(hào)啟動(dòng)(GATE的上升沿),若計(jì)數(shù)值為N,啟動(dòng)后輸出OUT變低,計(jì)數(shù)結(jié)束,OUT變高,即單拍脈沖的寬度為N個(gè)CLK脈沖。計(jì)數(shù)初值N可重裝,但必須由外部信號(hào)啟動(dòng)后再計(jì)數(shù)。
2023/2/453微機(jī)原理及應(yīng)用習(xí)題(2)8253有幾個(gè)計(jì)數(shù)器?是多少位的?可采用幾種工作方式?簡(jiǎn)述各工作方式的特點(diǎn)。解:方式2(脈沖發(fā)生器):計(jì)數(shù)器可由軟件啟動(dòng)或硬件啟動(dòng),每N個(gè)CLK脈沖,輸出寬度為一個(gè)CLK周期的負(fù)脈沖。計(jì)數(shù)初值N可自動(dòng)重裝,GATE為0禁止計(jì)數(shù)。方式3(方波發(fā)生器):方式3與方式2相似,計(jì)數(shù)器能連續(xù)計(jì)數(shù),輸出周期性波形。但方式3中,輸出波形在計(jì)數(shù)過(guò)程中一半為高電平,一半為低電平。若計(jì)數(shù)值為N,則輸出周期為N×TCLK的方波(或近似方波)。方式3常用作波特率發(fā)生器。寫(xiě)入N后,若N為偶數(shù),則方波的前半周期和后半周期均為(N/2)TCLK
;若N為奇數(shù),則方波的前半周期為((N+1)/2)TCLK,后半周期為((N-1)/2)TCLK
。GATE為0禁止計(jì)數(shù)。2023/2/454微機(jī)原理及應(yīng)用習(xí)題(3)解:方式4(軟件觸發(fā)選通):與方式0一樣,是由軟件啟動(dòng)計(jì)數(shù)器,寫(xiě)入計(jì)數(shù)初值N后,經(jīng)過(guò)N個(gè)CLK脈沖,輸出寬度為一個(gè)CLK周期的負(fù)脈沖。計(jì)數(shù)初值一次有效,GATE為0禁止計(jì)數(shù)。方式4與方式0主要在輸出波形上不同。啟動(dòng)計(jì)數(shù)后,輸出OUT變高電平(方式0為低電平),至計(jì)數(shù)為0,輸出寬度為一個(gè)CLK周期的負(fù)脈沖(方式0為變高電平)。方式5(硬件觸發(fā)選通):與方式1一樣,是由外部硬件信號(hào)啟動(dòng)計(jì)數(shù)器(GATE的上升沿),計(jì)數(shù)初值N可重裝,但必須由外部信號(hào)啟動(dòng)后再計(jì)數(shù)。方式5與方式1不同的是,門(mén)控觸發(fā)后,輸出OUT為高電平,經(jīng)過(guò)N+1個(gè)CLK,輸出寬度為1個(gè)CLK周期的負(fù)脈沖。8253有幾個(gè)計(jì)數(shù)器?是多少位的?可采用幾種工作方式?簡(jiǎn)述各工作方式的特點(diǎn)。2023/2/455微機(jī)原理及應(yīng)用習(xí)題(4)某系統(tǒng)中8253的端口地址為F280H~F283H,請(qǐng)按如下要求編制初始化程序:1)計(jì)數(shù)器0工作于方式3,CLK0=2.5MHz,要求OUT0輸出速率為1kHz的方波。解:計(jì)數(shù)器0的計(jì)數(shù)初值N=CLK的頻率/OUT的頻率
=2.5MHz/1kHz =2500初始化程序段:MOVAL,37H;控制字=00110111,計(jì)數(shù)器0方式3,先低字節(jié)后高字節(jié),BCD計(jì)數(shù)MOVDX,0F283H ;控制寄存器端口大于地址8位,送DXOUTDX,AL ;控制字寫(xiě)入控制端口,完成初始化MOVDX,0F280H ;計(jì)數(shù)器0的地址送DX MOVAL,00H ;計(jì)數(shù)初值低字節(jié)送計(jì)數(shù)器0 OUTDX,AL ;MOVAL,25H ;計(jì)數(shù)初值高字節(jié)送計(jì)數(shù)器 OUTDX,AL ;完成送計(jì)數(shù)初值 2023/2/456微機(jī)原理及應(yīng)用習(xí)題(5)2)計(jì)數(shù)器1工作于方式2,CLK1=2MHz,要求OUT1輸出1kHz頻率的脈沖波。解:計(jì)數(shù)器1的計(jì)數(shù)初值N=CLK的頻率/OUT的頻率
=2MHz/1kHz =2000初始化程序段:MOVAL,65H ;控制字=01100101,計(jì)數(shù)器1方式2, ;先低字節(jié)后高字節(jié),BCD計(jì)數(shù)MOV DX,0F283H ;大于8位的控制器端口地址送DXOUT DX,AL ;控制字寫(xiě)入控制器端口MOVDX,0F281H ;計(jì)數(shù)器1端口地址送DX MOV AL,00H ;低字節(jié)送計(jì)數(shù)器1OUT DX,AL ; MOV AL,20H ;高字節(jié)送計(jì)數(shù)器1OUT DX,AL ;完成送計(jì)數(shù)初值2023/2/457微機(jī)原理及應(yīng)用習(xí)題(6)3)計(jì)數(shù)器2工作于方式4,用OUT1輸出作計(jì)數(shù)脈沖CLK2,計(jì)數(shù)值為1000,計(jì)數(shù)器計(jì)到0,給出一個(gè)控制脈沖沿。解:計(jì)數(shù)器2的計(jì)數(shù)初值N=1000=03E8H初始化程序段:MOVAL,0B8H ;控制字=10111000,計(jì)數(shù)器2方式4, ;先低字節(jié)后高字節(jié),二進(jìn)制計(jì)數(shù)
MOVDX,0F283H ;大于8位的控制器端口送DXOUT DX,AL ;控制字送控制器端口,完成初始化MOVDX,0F282H ;計(jì)數(shù)器2的端口地址送DXMOVAL,0E8H ;低字節(jié)送計(jì)數(shù)器2 OUT DX,AL MOVAL,03H ;高字節(jié)送計(jì)數(shù)器2OUT DX,AL ;完成送計(jì)數(shù)初值2023/2/458微機(jī)原理及應(yīng)用習(xí)題(7)已知某8253的輸入時(shí)鐘為1.193MHz。請(qǐng)用該芯片產(chǎn)生1Hz頻率的脈沖波。設(shè)芯片的端口地址為40H~43H。解:輸入脈沖頻率為1.193MHz,要求輸出1Hz頻率的脈沖波。計(jì)數(shù)初值N=CLK脈沖頻率/OUT頻率=1.193MHz/1Hz =1193000>216顯然無(wú)法用一個(gè)計(jì)數(shù)器單獨(dú)實(shí)現(xiàn),必須用兩個(gè)計(jì)數(shù)器級(jí)連才能實(shí)現(xiàn)。選用計(jì)數(shù)器0和計(jì)數(shù)器1工作于方式2,將OUT0連至CLK1。(1)計(jì)數(shù)器0,對(duì)1.193MHz的時(shí)鐘計(jì)數(shù),產(chǎn)生頻率為1kHz的周期信號(hào),計(jì)數(shù)器0的計(jì)數(shù)初值為1193;(2)計(jì)數(shù)器1,對(duì)OUT0產(chǎn)生的1kHz周期信號(hào)計(jì)數(shù),從而產(chǎn)生頻率為1Hz的周期信號(hào),計(jì)數(shù)器1的計(jì)數(shù)初值為1000。2023/2/459微機(jī)原理及應(yīng)用習(xí)題(8)程序段:MOVAL,35H ;控制字=00110101,計(jì)數(shù)器0方式2, ;先低字節(jié)后高字節(jié),BCD計(jì)數(shù)OUT 43H,AL ;控制字寫(xiě)入控制器端口,完成初始化MOVAL,93H ;計(jì)數(shù)初值低字節(jié)送AL OUT 40H,AL ;寫(xiě)入計(jì)數(shù)器0MOVAL,11H ;計(jì)數(shù)初值高字節(jié)送AL OUT 40H,AL ;寫(xiě)入計(jì)數(shù)器0,完成送計(jì)數(shù)初值至計(jì)數(shù)器0MOVAL,75H ;控制字=01110101,計(jì)數(shù)器1方式2, ;先低字節(jié)后高字節(jié),BCD計(jì)數(shù)OUT 43H,AL ;控制字寫(xiě)入控制器端口 MOVAL,00H ;計(jì)數(shù)初值低字節(jié)送ALOUT 41H,AL ;寫(xiě)入計(jì)數(shù)器1MOVAL,10H ;計(jì)數(shù)初值高字節(jié)送ALOUT 41H,AL ;寫(xiě)入計(jì)數(shù)器1,完成送計(jì)數(shù)初值至計(jì)數(shù)器12023/2/460微機(jī)原理及應(yīng)用習(xí)題(9)思考:一片8253,最大分頻系數(shù)是多少?解:一個(gè)計(jì)數(shù)器最大分頻系數(shù)N=216(二進(jìn)制計(jì)數(shù)) 或=10000(BCD碼計(jì)數(shù)) 一片8253三個(gè)計(jì)數(shù)器級(jí)聯(lián),分頻系數(shù)NMAX
=216×216×2162023/2/461微機(jī)原理及應(yīng)用習(xí)題(10)利用8253作為定時(shí)器,8255A的一個(gè)輸出端口控制8個(gè)指示燈,編一個(gè)程序,使8個(gè)指示燈依次閃
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版房屋買賣合同中的稅費(fèi)分擔(dān)約定3篇
- 二零二五版電力工程監(jiān)理勞務(wù)分包合同范本2篇
- 基于2025年度預(yù)算的網(wǎng)絡(luò)營(yíng)銷與電商平臺(tái)建設(shè)合同3篇
- 二零二五年度餐飲行業(yè)特色農(nóng)產(chǎn)品配送與扶貧合作合同3篇
- 二零二五版二手房定金交易合同范本2篇
- 二零二五年環(huán)保凈化設(shè)備銷售與排放監(jiān)測(cè)合同2篇
- 二零二五年船舶制造車間通風(fēng)除塵系統(tǒng)合同3篇
- 物業(yè)管理委托合同2025年度版18篇
- 二零二五年網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估與整改服務(wù)合同規(guī)范文本283篇
- 全新2025年度體育用品生產(chǎn)加工合同:體育用品設(shè)計(jì)公司與制造商之間的生產(chǎn)加工協(xié)議3篇
- 歷史-廣東省大灣區(qū)2025屆高三第一次模擬試卷和答案
- 2024年安全生產(chǎn)法律、法規(guī)、標(biāo)準(zhǔn)及其他要求清單
- 2023年高考文言文閱讀設(shè)題特點(diǎn)及備考策略
- 抗心律失常藥物臨床應(yīng)用中國(guó)專家共識(shí)
- 考級(jí)代理合同范文大全
- 2024解析:第三章物態(tài)變化-講核心(原卷版)
- DB32T 1590-2010 鋼管塑料大棚(單體)通 用技術(shù)要求
- 安全行車知識(shí)培訓(xùn)
- 2024年安徽省高校分類對(duì)口招生考試數(shù)學(xué)試卷真題
- 第12講 語(yǔ)態(tài)一般現(xiàn)在時(shí)、一般過(guò)去時(shí)、一般將來(lái)時(shí)(原卷版)
- 2024年采購(gòu)員年終總結(jié)
評(píng)論
0/150
提交評(píng)論