![第7章常用數(shù)字接口電路_第1頁](http://file4.renrendoc.com/view/1b08acad2fc07c38d10792c02aec887b/1b08acad2fc07c38d10792c02aec887b1.gif)
![第7章常用數(shù)字接口電路_第2頁](http://file4.renrendoc.com/view/1b08acad2fc07c38d10792c02aec887b/1b08acad2fc07c38d10792c02aec887b2.gif)
![第7章常用數(shù)字接口電路_第3頁](http://file4.renrendoc.com/view/1b08acad2fc07c38d10792c02aec887b/1b08acad2fc07c38d10792c02aec887b3.gif)
![第7章常用數(shù)字接口電路_第4頁](http://file4.renrendoc.com/view/1b08acad2fc07c38d10792c02aec887b/1b08acad2fc07c38d10792c02aec887b4.gif)
![第7章常用數(shù)字接口電路_第5頁](http://file4.renrendoc.com/view/1b08acad2fc07c38d10792c02aec887b/1b08acad2fc07c38d10792c02aec887b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
并行通信與串行通信的主要特點(diǎn)可編程計(jì)數(shù)器/定時(shí)器8253-5
可編程并行接口芯片8255A可編程中斷控制器8259A第7章常用數(shù)字接口電路一、并行通信與串行通信1.
并行通信(1)兩個(gè)設(shè)備之間有多個(gè)數(shù)據(jù)位同時(shí)傳輸以字節(jié)或字校驗(yàn)┇接收方發(fā)送方并行通信(2)并行方式主要用于近距離通信。如計(jì)算機(jī)內(nèi)的總線結(jié)構(gòu)特點(diǎn):傳輸速度快,處理簡(jiǎn)單;適合近距離傳送;所傳送信息無固定格式要求。2.串行通信(1)數(shù)據(jù)的各位按時(shí)間順序依次通過同一通信線傳輸。先由發(fā)送設(shè)備將幾位并行數(shù)據(jù)經(jīng)并--串轉(zhuǎn)換硬件轉(zhuǎn)換成串行方式,再逐位傳輸?shù)浇邮赵O(shè)備,并在接收端將數(shù)據(jù)從串行方式重新轉(zhuǎn)換成并行方式。┇接收方發(fā)送方7651021765430┇串行通信(2)——幾個(gè)概念數(shù)據(jù)傳送方式雙工,半雙工,單工通信方式同步通信通信時(shí),發(fā)送方和接收方的時(shí)鐘頻率和相位保持一致。每?jī)蓚€(gè)字符間的時(shí)間間隔固定。異步通信每?jī)蓚€(gè)字符間的時(shí)間間隔不固定。數(shù)據(jù)校驗(yàn)異步通信方式簡(jiǎn)單,成本低,但效率較同步方式低二、常用可編程接口芯片
8253-5計(jì)數(shù)器/定時(shí)器8255A并行I/O接口8259A中斷控制器
8250串行I/O接口3個(gè)獨(dú)立的16位計(jì)數(shù)器通道每個(gè)計(jì)數(shù)器有6種工作方式按二進(jìn)制或十進(jìn)制(BCD碼)計(jì)數(shù)8253定時(shí)計(jì)數(shù)器24腳封裝的雙列直插式芯片。3路定時(shí)/計(jì)數(shù)口8位數(shù)據(jù)線2位片內(nèi)地址線3條控制線2條電源線8253引腳與功能結(jié)構(gòu)(一)D0~D7:數(shù)據(jù)線。A0~A1:地址線,用于選擇3個(gè)計(jì)數(shù)器中的一個(gè)及選擇控制字寄存器。RD:讀控制信號(hào),低有效。WR:寫控制信號(hào),低有效。CS:片選端,低有效。CLK0~2:計(jì)數(shù)器0#、1#、2#的時(shí)鐘輸入端。GATE0~2:計(jì)數(shù)器0#、1#、2#的門控制脈沖輸入端,由外部設(shè)備送入門控脈沖。OUT0~2:計(jì)數(shù)器0#、1#、2#的輸出端,由它接至外部設(shè)備,以控制其啟停。8253-5引腳的定義如下:8253引腳與功能結(jié)構(gòu)(二)3個(gè)獨(dú)立結(jié)構(gòu)完全相同的16位計(jì)數(shù)器。每個(gè)計(jì)數(shù)器均以減法計(jì)數(shù),可按二進(jìn)制或十進(jìn)制計(jì)數(shù),有6種工作方式,可通過編程選擇。8253內(nèi)部結(jié)構(gòu)(一)每個(gè)計(jì)數(shù)器內(nèi)部包括:計(jì)數(shù)初值寄存器計(jì)數(shù)執(zhí)行部件計(jì)數(shù)輸出寄存器8253內(nèi)部結(jié)構(gòu)(二)控制寄存器(寫操作)
初始值寄存器(讀寫操作)
CPU對(duì)8253寫入控制字,編程改變8253的功能CPU對(duì)8253寫入計(jì)數(shù)初值,使8253獲得定時(shí)量CPU從初值寄存器中讀取初值。計(jì)數(shù)初值的選擇和定時(shí)長短以及時(shí)鐘頻率有關(guān)。注:上述二個(gè)寄存器可編程寫控制字時(shí)初值寄存器清08253內(nèi)部結(jié)構(gòu)(三)為16位計(jì)數(shù)器,完成減1操作根據(jù)計(jì)數(shù)狀態(tài)產(chǎn)生輸出波形注:解決16位計(jì)數(shù)器與8位數(shù)據(jù)線的矛盾注:上述二個(gè)寄存器不可編程計(jì)數(shù)器
計(jì)數(shù)輸出寄存器
8253內(nèi)部結(jié)構(gòu)(四)3個(gè)計(jì)數(shù)器和1個(gè)控制字寄存器,可通過地址線A0、A1,讀寫控制線RD、WR與選片CS進(jìn)行尋址,并實(shí)現(xiàn)相應(yīng)的操作。8253尋址方式8253工作方式(一)計(jì)數(shù)器讀寫格式工作方式數(shù)制D7D6D5D4D3D2D1D000計(jì)數(shù)器001計(jì)數(shù)器110計(jì)數(shù)器211非法00計(jì)數(shù)器鎖存命令01只讀寫低字節(jié)10只讀寫高字節(jié)11先讀寫低字節(jié)后讀寫高字節(jié)000方式0001方式1010方式2011方式3100方式4101方式50二進(jìn)制計(jì)數(shù)值范圍:0000H~FFFFH0000H是最大值655361十進(jìn)制(BCD碼)計(jì)數(shù)值范圍:0000~99990000代表最大值10000寫入方式控制字控制字寫入I/O地址(A1A0=11)0001000010HMOVAL,10HOUT43H,AL;寫計(jì)數(shù)器0的控制字MOVAL,04HOUT40H,AL;寫計(jì)數(shù)器0的初值
控制字編程例1:8253工作為計(jì)數(shù)器0,方式0,初值為4,二進(jìn)制計(jì)數(shù),設(shè)寄存器地址為40H~43H計(jì)數(shù)器0寫低字節(jié)方式0二進(jìn)制計(jì)數(shù)8253工作方式(二)
77H
控制字編程例2:8253工作為計(jì)數(shù)器1,方式3,初值為4020H,十進(jìn)制計(jì)數(shù),設(shè)寄存器地址為40H~43H0111011
1MOVAL,77HOUT43H,AL;寫計(jì)數(shù)器1的控制字MOVAL,20HOUT41H,AL;寫計(jì)數(shù)器1的低8位初值
MOVAL,40HOUT41H,AL;寫計(jì)數(shù)器1的高8位初值計(jì)數(shù)器1先寫低字節(jié)后寫高字節(jié)方式3十進(jìn)制計(jì)數(shù)8253工作方式(三)
A7H
控制字編程例3:8253工作為計(jì)數(shù)器2,方式3,初值為4000H,十進(jìn)制計(jì)數(shù),設(shè)寄存器地址為40H~43H1010011
1MOVAL,0A7HOUT43H,AL;寫計(jì)數(shù)器2的控制字MOVAL,40HOUT42H,AL;僅寫計(jì)數(shù)器2的高8位初值計(jì)數(shù)器2寫高字節(jié)方式3十進(jìn)制計(jì)數(shù)8253工作方式(四)
方式0—計(jì)數(shù)結(jié)束產(chǎn)生中斷輸出(軟件控制)方式1—重復(fù)觸發(fā)的單穩(wěn)輸出(硬件控制)方式2—分頻器(軟件控制)方式3—方波發(fā)生器(軟件控制)方式4—選通信號(hào)發(fā)生器(軟件觸發(fā))方式5—選通信號(hào)發(fā)生器(硬件觸發(fā))8253工作方式功能
計(jì)數(shù)觸發(fā)特點(diǎn)(CLK)門控特點(diǎn)(GATE)波形輸出特點(diǎn)(OUT)不同工作方式有不同的計(jì)數(shù)脈沖的觸發(fā)特點(diǎn)不同工作方式門控電平方式有所不同不同工作方式會(huì)產(chǎn)生不同的輸出波形8253工作方式特點(diǎn)每種工作方式的過程類似:⑴設(shè)定工作方式⑵設(shè)定計(jì)數(shù)初值〔⑶硬件啟動(dòng)〕⑷計(jì)數(shù)初值進(jìn)入減1計(jì)數(shù)器⑸每輸入一個(gè)時(shí)鐘計(jì)數(shù)器減1的計(jì)數(shù)過程⑹計(jì)數(shù)過程結(jié)束a、門控信號(hào)GATE必須為1,計(jì)數(shù)器才能計(jì)數(shù);b、計(jì)數(shù)時(shí)通道輸出端OUT一直為0;c、通道計(jì)數(shù)器計(jì)數(shù)到0后,OUT由0到1,同時(shí)計(jì)數(shù)器停止工作。
方式0
計(jì)數(shù)結(jié)束,產(chǎn)生中斷控制門輸出端初始低電平8253工作方式0
方式1
可編程單穩(wěn)觸發(fā)器a、門控信號(hào)GATE是觸發(fā)信號(hào),上升沿有效。即開始計(jì)數(shù)是由GATE的上升沿觸發(fā)的;
b、觸發(fā)后,通道計(jì)數(shù)器開始計(jì)數(shù),輸出端OUT由高變低。
c、計(jì)數(shù)器計(jì)數(shù)到0,OUT再由低變高??刂崎T輸出端初始高電平8253工作方式1a、GATE門為1,計(jì)數(shù)器才能工作,對(duì)CLK端上的脈沖進(jìn)行計(jì)數(shù);b、當(dāng)計(jì)數(shù)器“減”計(jì)數(shù)到1時(shí),OUT由高變低,再經(jīng)過一個(gè)CLK周期,即計(jì)數(shù)器計(jì)數(shù)到0時(shí),OUT又跳變?yōu)楦摺7绞?輸出周期性負(fù)脈沖信號(hào),其寬度固定為一個(gè)CLK周期;c、當(dāng)計(jì)數(shù)器的值減為0時(shí),自動(dòng)重新裝入計(jì)數(shù)初值,實(shí)現(xiàn)循環(huán)計(jì)數(shù)。
方式2
分頻器(也稱分頻脈沖產(chǎn)生器)控制門輸出端初始高電平8253工作方式2
方式3
方波頻率發(fā)生器方式2雖然可以作分頻電路,但其輸出是窄脈沖,如果是方波,就只有選方式3方波寬度=n/2高電平寬度=(n+1)/2低電平寬度=(n-1)/2控制門輸出端8253工作方式3初始高電平
方式4
軟件觸發(fā)選通脈沖a、門控信號(hào)GATE為高電平,計(jì)數(shù)器開始減1計(jì)數(shù),OUT維持高電平;b、當(dāng)計(jì)數(shù)器減到0,輸出端OUT變低,再經(jīng)過一個(gè)CLK輸入時(shí)鐘周期,OUT輸出又變高。初始高電平控制門輸出端8253工作方式4
方式5
硬件觸發(fā)選通脈沖同方式4很相似,當(dāng)控制字寫入控制寄存器后,OUT變高。同方式4不同的一點(diǎn)是當(dāng)計(jì)數(shù)值寫入通道計(jì)數(shù)器后,通道并未被觸發(fā),也就是計(jì)數(shù)器并不立即開始計(jì)數(shù)。只有當(dāng)GATE信號(hào)的上升沿觸發(fā)通道后,通道計(jì)數(shù)器才開始計(jì)數(shù)??刂崎T輸出端初始高電平8253工作方式58253的工作方式小結(jié)方式2、4、5的輸出波形是相同的,都是寬度為一個(gè)CLK周期的負(fù)脈沖方式2連續(xù)工作方式4由軟件觸發(fā)啟動(dòng)方式5由硬件觸發(fā)啟動(dòng)。方式5與方式1工作過程相同,但輸出波形不同方式1輸出的是寬度為N個(gè)CLK脈沖的低電平有效的脈沖(計(jì)數(shù)過程中輸出為低)方式5輸出的為寬度為一個(gè)CLK脈沖的負(fù)脈沖(計(jì)數(shù)過程中輸出為高)輸出端OUT的初始狀態(tài)方式0在寫入方式字后輸出為低其余方式,寫入控制字后,輸出均變高。任一種方式,均是在寫入計(jì)數(shù)初值之后,才能開始計(jì)數(shù)方式0、2、3、4都是在寫入計(jì)數(shù)初值之后,開始計(jì)數(shù)而方式1和方式5需要外部觸發(fā)啟動(dòng),才開始計(jì)數(shù)。6種工作方式中,只有方式2和方式3是連續(xù)計(jì)數(shù),其它方式都是一次計(jì)數(shù),要繼續(xù)工作需要重新啟動(dòng),方式0、4由軟件啟動(dòng),方式1、5由硬件啟動(dòng)。計(jì)數(shù)器初值的計(jì)算(請(qǐng)結(jié)合后面的例子來理解)方式2或者方式3,計(jì)數(shù)常數(shù)就是分頻系數(shù),分頻系數(shù)=?i/?o(?i:輸入CLK頻率;?o:OUT端輸出頻率)。作為定時(shí)器工作時(shí),CLK通常來自系統(tǒng)內(nèi)部的時(shí)鐘,計(jì)數(shù)常數(shù)就是定時(shí)系數(shù),定時(shí)系數(shù)=T/tCLK=T×?CLK(T為定時(shí)時(shí)間,tCLK為輸入的CLK時(shí)鐘周期,?CLK為輸入的CLK頻率)。作為外部計(jì)數(shù)使用時(shí),計(jì)數(shù)脈沖通常來自系統(tǒng)外部,計(jì)數(shù)常數(shù)就是要記錄的外部事件的脈沖個(gè)數(shù)。8253應(yīng)用舉例(一)例:
產(chǎn)生各種定時(shí)波形8253的基地址為310H,使用的時(shí)鐘頻率為1MHz。通道0:輸出頻率為2KHz的方波;通道1:產(chǎn)生寬度為480μs的單脈沖;通道2:用硬件方式觸發(fā),輸出單脈沖,時(shí)間常數(shù)26。通道0:方式3,tC=1μs,方波周期500μs,設(shè)置值500控制字00100111B通道1:方式1,tC=1μs,設(shè)置值480控制字01110011B通道2:方式5,設(shè)置值26控制字10011011B8253應(yīng)用舉例(二)CLK0CLK1CLK21MHz方波GATE0OUT0+5V2KHz方波GATE1OUT1480μs寬度單脈沖GATE2OUT2負(fù)單脈沖CSA0A1RDWRD7~D08253Y4G1G2AG2BCBA74LS138A9A8A7A6A5A4A3A0M/IOA1A2RDWRD7~D08086CPU8253的接口電路通道0:310H通道1:312H通道2:314H控制字:316H MOVAL,00100111B ;計(jì)數(shù)器0,寫高字節(jié),工作方式3,十進(jìn)制計(jì)數(shù)MOVDX,316H
OUTDX,AL ;控制端口地址316HMOVAL,05H ;計(jì)數(shù)值500MOVDX,310H OUTDX,AL ;計(jì)數(shù)器0,地址為310H MOVAL,01110011B
;計(jì)數(shù)器1,先寫低、后寫高,工作方式1,十進(jìn)制計(jì)數(shù)MOVDX,316H
OUTDX,AL ;控制端口地址316HMOVAX,0480H ;計(jì)數(shù)值480MOVDX,312H
;計(jì)數(shù)器1,地址為312HOUTDX,AL ;先寫低字節(jié)
MOVAL,AHOUTDX,AL ;再寫高字節(jié)MOVAL,10011011B ;計(jì)數(shù)器2,寫低字節(jié),工作方式5,十進(jìn)制計(jì)數(shù)MOVDX,316H
OUTDX,AL ;控制端口地址316H
MOVAL,26H ;計(jì)數(shù)值26MOVDX,314H OUTDX,AL ;計(jì)數(shù)器0,地址為314H
程序如下:8253應(yīng)用舉例(三)具有多種功能的可編程并行接口電路芯片最基本的接口電路:三態(tài)緩沖器和鎖存器與CPU間、與外設(shè)間的接口電路:狀態(tài)寄存器和控制寄存器還有端口的譯碼和控制電路、中斷控制電路分3個(gè)端口(每個(gè)端口8條線),共24個(gè)外設(shè)引腳(也可分為2組工作,每組12條線)共三種輸入輸出工作方式(可編程設(shè)置)并行接口電路8255A40DIP封裝8
位A、B、C口8
位數(shù)據(jù)線2
位片內(nèi)地址線4
條控制線2
條電源線8255A引腳定義與功能(一)8255APA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB38255A引腳圖D0~D7:數(shù)據(jù)線,三態(tài)雙向8位緩沖器。A0~A1:地址線,用于選擇端口。RD:讀控制線,低有效。WR:寫控制線,低有效。CS:片選端,低有效。RESET:復(fù)位信號(hào),高有效。A口:8位數(shù)據(jù)輸入鎖存器和8位數(shù)據(jù)輸出鎖存器/緩沖器。B口:8位數(shù)據(jù)輸入緩沖器和8位數(shù)據(jù)輸出鎖存器/緩沖器。C口:8位數(shù)據(jù)輸入緩沖器和8位數(shù)據(jù)輸出鎖存器/緩沖器。8255A引腳定義與功能(二)8255A內(nèi)部結(jié)構(gòu)框圖(一)3個(gè)8位數(shù)據(jù)端口A、B、C各有不同特點(diǎn),可分別作為輸入端口或輸出端口。 A口與B口常作為獨(dú)立的輸入端口或輸出端口,C口則配合A口和B口工作。C口通過控制命令分成為2個(gè)4位端口,每個(gè)4位端口包含1個(gè)4位的輸入緩沖器和1個(gè)4位的輸出鎖存器/緩沖器,分別用來為A口和B口輸出控制信號(hào)和輸入狀態(tài)信號(hào)。1.數(shù)據(jù)端口A、B、C8255A內(nèi)部結(jié)構(gòu)框圖(二)兩個(gè)功能:接收來自芯片內(nèi)部數(shù)據(jù)總線上的控制字;接收來自讀寫控制邏輯電路的讀/寫命令,以此來決定兩組端口的工作方式和讀/寫操作。2.A組控制和B組控制部件8255A內(nèi)部結(jié)構(gòu)框圖(三)3.讀/寫控制邏輯電路管理數(shù)據(jù)傳輸過程:接收CS及來自地址總線的信號(hào)A1、A0和控制總線的信號(hào)RESET、WR、RD。將它們組合后,得到對(duì)A組控制部件和B組控制部件的控制命令,并送給這兩個(gè)部件,再由它們完成對(duì)數(shù)據(jù)、狀態(tài)信息和控制信息的傳輸。8255A內(nèi)部結(jié)構(gòu)框圖(四)4.數(shù)據(jù)總線緩沖器雙向三態(tài)8位數(shù)據(jù)緩沖器,8255A通過它與系統(tǒng)數(shù)據(jù)總線相連。輸入數(shù)據(jù)、輸出數(shù)據(jù)、CPU發(fā)給8255A的控制字都是通過該部件傳遞的。8255A內(nèi)部結(jié)構(gòu)框圖(五)8255A內(nèi)部有3個(gè)I/O端口和一個(gè)控制字端口,通過地址線A0、A1,讀寫控制線RD、WR與片選端CS進(jìn)行尋址并實(shí)現(xiàn)相應(yīng)的操作。::8255A尋址方式
方式0—基本輸入/輸出方式;方式1—選通輸入/輸出方式;方式2—雙向傳送方式。通過寫入控制寄存器實(shí)現(xiàn)方式控制,但8255A有兩個(gè)控制字需寫入(方式選擇字
和C口的置1/置0控制字)。當(dāng)8255A接收到寫入控制口的控制字時(shí),對(duì)D7位標(biāo)志位進(jìn)行測(cè)試。8255A工作方式(一)端口A:PA0~PA7A組,支持工作方式0、1、2端口B:PB0~PB7B組,支持工作方式0、1端口C:PC0~PC7僅支持工作方式0
若D7=1,方式選擇字。8255A工作方式(二)
若D7=0,C口的置1/置0控制字。0XXXB2B1B01/0特征位D7D6D5D4D3D2D1D01=置10=置0C口PC0~PC7位的位編碼8255A工作方式(三)C端口的位選擇編碼D3D2D1
編碼D0=0D0=1000PC0LH001PC1LH010PC2LH011PC3LH100PC4LH101PC5LH110PC6LH111PC7LH8255A工作方式(四)
任何一個(gè)端口都可用作輸入或輸出。
方式0:基本的輸入/輸出方式
由A口、B口、C口高4位與C口低4位4組組合成16種不同的輸入/輸出組態(tài)。100A口C口高4位0B口C口低4位特征位D7D6D5D4D3D2D1D0方式0A組B組定義B口為方式0
使用場(chǎng)合:
無條件傳送,查詢式傳送。8255A工作方式0
方式1:選通輸入/輸出方式,適合中斷式傳送利用端口C提供的選通信號(hào)和應(yīng)答信號(hào),來控制輸入/輸出操作。8255A工作方式1(一)工作在方式1的端口,為單向傳送端口。在方式1下,C口作為A口、B口聯(lián)絡(luò)信號(hào)的引腳,其動(dòng)作關(guān)系在芯片設(shè)計(jì)和制造時(shí)已固定,
不由用戶自己安排,也不能編程改變。方式1輸入引腳:A端口數(shù)據(jù)選通信號(hào)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號(hào)表示A口已經(jīng)接收數(shù)據(jù)中斷請(qǐng)求信號(hào)請(qǐng)求CPU接收數(shù)據(jù)PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中斷允許觸發(fā)器INTE沒有外部引出端,通過編程設(shè)置。方式1輸入引腳:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB數(shù)據(jù)選通信號(hào)表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號(hào)表示A口已經(jīng)接收數(shù)據(jù)中斷請(qǐng)求信號(hào)請(qǐng)求CPU接收數(shù)據(jù)中斷允許觸發(fā)器方式1需借用端口C用做聯(lián)絡(luò)信號(hào)同時(shí)還具有中斷請(qǐng)求和屏蔽功能方式1輸入聯(lián)絡(luò)信號(hào)STB*——選通信號(hào),低電平有效由外設(shè)提供的輸入信號(hào),當(dāng)其有效時(shí),將輸入設(shè)備送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器IBF——輸入緩沖器滿信號(hào),高電平有效8255A輸出的聯(lián)絡(luò)信號(hào)。當(dāng)其有效時(shí),表示數(shù)據(jù)已鎖存在輸入鎖存器INTR——中斷請(qǐng)求信號(hào),高電平有效8255A輸出的信號(hào),可用于向CPU提出中斷請(qǐng)求,要求CPU讀取外設(shè)數(shù)據(jù)方式1輸入時(shí)序外設(shè)送來數(shù)據(jù)PB7~PB0PA7~PA0STBIBFINTRRD②③當(dāng)INTE=1時(shí)
①①當(dāng)外設(shè)準(zhǔn)備好數(shù)據(jù),將數(shù)據(jù)送至端口線PA7~PA0或PB7~PB0②
外設(shè)發(fā)出選通信號(hào)STB*:(1)將數(shù)據(jù)鎖存在輸入端口內(nèi)。(2)使IBF變高,表示輸入端口滿,可用于阻止外設(shè)輸入新數(shù)據(jù)。(3)如果INTE=1,IBF的高電平和STB*的上升沿使INTR變高,發(fā)出中斷請(qǐng)求。③轉(zhuǎn)中斷處理程序,執(zhí)行IN指令,CPU讀取數(shù)據(jù),發(fā)出RD信號(hào):(1)RD*的下降沿清除INTR(2)RD*的上升沿清除IBF(3)端口內(nèi)的數(shù)據(jù)進(jìn)入CPU端口A和端口B均為輸入方式10111/011X特征位D7D6D5D4D3D2D1D0方式1A口輸入B口輸入B口方式1PC6、PC71=輸入,0=輸出端口A和端口B均為輸出方式10101/010X特征位D7D6D5D4D3D2D1D0方式1A口輸出B口輸出B口方式1PC4、PC51=輸入,0=輸出8255A工作方式1(二)端口A輸入、端口B輸出10111/010X特征位D7D6D5D4D3D2D1D0方式1A口輸入B口輸出B口方式1PC6、PC71=輸入,0=輸出8255A工作方式1(三)端口A輸出、端口B輸入10101/011X特征位D7D6D5D4D3D2D1D0方式1A口輸出B口輸入B口方式1PC4、PC51=輸入,0=輸出8255A工作方式1(四)
方式2:選通雙向傳輸僅適用于端口A。11XXX1/01/01/0特征位D7D6D5D4D3D2D1D0方式2B口工作方式0=方式01=方式1PB0~PB70=輸出1=輸入PC0~PC20=輸出1=輸入8255A工作方式2方式2雙向引腳PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6設(shè)置INTE1(輸出)用PC4設(shè)置INTE2(輸入)輸入和輸出中斷通過或門輸出INTRA信號(hào)例1:某應(yīng)用系統(tǒng)以8255A作為接口,采集一組開關(guān)S7~S0
的狀態(tài),然后通過一組發(fā)光二極管LED7~LED0顯示開關(guān)狀態(tài),(Si閉合,則對(duì)應(yīng)LEDi亮,Si斷開,則對(duì)應(yīng)的LEDi滅)電路連接如下圖,已知8255A、B兩組均工作在方式0。寫出8255四個(gè)端口的地址。寫出8255工作方式控制字。寫出實(shí)現(xiàn)給定功能的匯編語言程序。LED7LED0S7S0PB7PB0PA7PA08255AD7~D0D7~D0WR#RD#IOW#IOR#Y0*G1G2A*G2B*CBA74LS138CS*A9AEN&A8A7A6A5A4A3A2A1A0A1A0答:A口、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 L1例2:8255A作為連接打印機(jī)接口,工作在方式0,輸出。工作過程:需要打印時(shí),查詢打印機(jī)是否忙?不忙時(shí)通過8255A發(fā)送一個(gè)字符給打印機(jī)。為使打印機(jī)接收數(shù)據(jù),要生成一個(gè)選通脈沖(初始值是1,置0,再置1)。8255A應(yīng)用實(shí)例(一)A口:方式0、輸出數(shù)據(jù)C口上:方式0、PC6輸入狀態(tài)信號(hào)C口下:方式0、PC2輸出選通信號(hào)方式控制字為:10001000
B
(88H)80868255A打印機(jī)D7~D0PAPC2PC6STBBUSY100A口C口高4位0B口C口低4位特征位D7D6D5D4D3D2D1D0方式0A組B組定義B口為方式08255A應(yīng)用實(shí)例(二)
Setup:
MOV AL,88H ;設(shè)置工作方式
OUT 0D3H,AL MOV AL,05H ;置PC2為1
OUT 0D3H,AL
Ready:
INAL,0D2H TEST AL,40H ;測(cè)試PC6狀態(tài)
JNZ Ready MOV AL,BL ;打印的字符送AL中
OUT 0D0H,AL MOV AL,04H ;置PC2為0
OUT 0D3H,AL MOV AL,05H ;置PC2為1
OUT 0D3H,AL≥0.5ms設(shè)端口地址是:0D0H~0D3H,要打印的字符放在BL中。8255A應(yīng)用實(shí)例(三)8253-5內(nèi)部結(jié)構(gòu)
8255A3個(gè)端口的特點(diǎn)與差異性
8255A3種工作方式本章小結(jié)(一)
重點(diǎn)掌握:第七章結(jié)束,謝謝!芯片特點(diǎn)使用形式注:中斷源數(shù)量與芯片數(shù)量間的關(guān)系
可編寫程序控制芯片的多項(xiàng)功能可提供多中斷源的中斷類型碼中斷源有多種觸發(fā)方式可屏蔽/允許輸入端的中斷源采用NMOS工藝制造,只需要一組5V電源
單片方式—可提供8個(gè)中斷源級(jí)聯(lián)方式—最多可提供64個(gè)中斷源(9片)8259A芯片特點(diǎn)28DIP封裝8個(gè)中斷源輸入8位數(shù)據(jù)線1
位片內(nèi)地址線3
條控制線4
條級(jí)聯(lián)線2
條中斷請(qǐng)求響應(yīng)線2條電源線8259A引腳與功能結(jié)構(gòu)(一)
與中斷源有關(guān)(14個(gè))IR0~IR7—外部中斷源輸入引腳
INT—中斷請(qǐng)求輸出引腳
接8086CPU的INTRINTA—中斷響應(yīng)輸入引腳
接8086CPU的INTACAS0~CAS2—級(jí)連選擇線
SP/EN—級(jí)連控制線8259A引腳與功能結(jié)構(gòu)(二)
與CPU有關(guān)(12個(gè))D0~D7
—8位數(shù)據(jù)傳送線
CPU將控制字經(jīng)數(shù)據(jù)線傳給8259控制字寄存器外部中斷源IR0~IR7狀態(tài)經(jīng)數(shù)據(jù)線傳給CPU8259內(nèi)部寄存器與CPU的數(shù)據(jù)傳送
RD、WR—讀/寫控制線
CS—片選控制線
CS=L時(shí),8259片選有效
CS由譯碼電路產(chǎn)生
A0—片內(nèi)地址線
一線兩址,選定8259內(nèi)部寄存器
A0、CS構(gòu)成8259內(nèi)部寄存器地址8259A引腳與功能結(jié)構(gòu)(三)8259A中斷控制器包括8個(gè)主要功能部件。
8259A內(nèi)部結(jié)構(gòu)(一)1.
數(shù)據(jù)總線緩沖器三態(tài)雙向,通過引腳D0~D7與CPU的數(shù)據(jù)總線連接。用于傳送CPU發(fā)至8259的各種命令控制字、8259發(fā)至CPU的各種狀態(tài)信息,以及中斷響應(yīng)期間8259向CPU提供的中斷類型號(hào)。2.
讀/寫邏輯用于接收來自CPU的讀/寫控制信號(hào)、片選控制信號(hào)及內(nèi)部端口選擇信息。8259A內(nèi)部結(jié)構(gòu)(二)3.
級(jí)聯(lián)緩沖器/比較器為8259A提供級(jí)聯(lián)控制信號(hào)CAS0~CAS2與雙向功能信號(hào)SP/EN,以滿足8259A在緩沖工作與主從工作方式下的功能需要。4.
控制邏輯根據(jù)CPU對(duì)8259編程設(shè)定的工作方式產(chǎn)生內(nèi)部控制信號(hào),并在適當(dāng)?shù)臅r(shí)候向CPU發(fā)出中斷請(qǐng)求信號(hào)INT,以及將來自CPU的中斷響應(yīng)信號(hào)轉(zhuǎn)換為內(nèi)部所需的各種控制信號(hào)。8259A內(nèi)部結(jié)構(gòu)(三)5.8位中斷請(qǐng)求寄存器IRR用于接收并保存來自IR0~IR7上的外設(shè)中斷請(qǐng)求。6.8位中斷服務(wù)寄存器ISR用于記錄當(dāng)前CPU正在處理的中斷請(qǐng)求位。如有中斷嵌套,則該寄存器可能有多個(gè)位被同時(shí)置位。8259A內(nèi)部結(jié)構(gòu)(四)7.8位中斷屏蔽寄存器IMR用于屏蔽已被鎖存在IRR中的任何一個(gè)中斷請(qǐng)求級(jí)。對(duì)所有要屏蔽的中斷請(qǐng)求線,將相應(yīng)的位置“1”即可。8.
優(yōu)先級(jí)判別器PR用于確定IRR中所有未被屏蔽的中斷請(qǐng)求位的優(yōu)先級(jí)。在CPU發(fā)出第一個(gè)負(fù)脈沖時(shí),將具有最高優(yōu)先級(jí)的申請(qǐng)位存入服務(wù)狀態(tài)寄存器ISR中相應(yīng)的位置。若出現(xiàn)多級(jí)中斷,PR還負(fù)責(zé)將IRR中的最高優(yōu)先級(jí)和ISR中正在服務(wù)的中斷的優(yōu)先級(jí)作比較,以確定是否向CPU發(fā)出中斷請(qǐng)求。8259A內(nèi)部結(jié)構(gòu)(五)(1)初始化工作方式
8259初始化是由CPU發(fā)送2~4個(gè)初始化命令字ICW來實(shí)現(xiàn)的。(2)接收外設(shè)中斷請(qǐng)求初始化后8259進(jìn)入正常工作狀態(tài)。當(dāng)外部中斷源通過IRn引腳向8259發(fā)出有效的中斷請(qǐng)求時(shí),8259會(huì)自動(dòng)將其內(nèi)部中斷請(qǐng)求寄存器IRR的相應(yīng)位置1以記錄并保持外設(shè)的中斷請(qǐng)求。(3)中斷屏蔽判斷中斷請(qǐng)求寄存器IRR中的被置位與中斷屏蔽寄存器IMR的相應(yīng)位比較,如果沒有被屏蔽,信號(hào)被送入優(yōu)先級(jí)分析器。8259A中斷工作過程(一)(4)中斷判優(yōu)中斷請(qǐng)求進(jìn)入優(yōu)先權(quán)分析器PR后,PR將其中的最高優(yōu)先權(quán)與服務(wù)狀態(tài)寄存器ISR中正在處理的中斷優(yōu)先權(quán)比較以確定是否通過INT腳向CPU送出中斷請(qǐng)求信號(hào)。(5)中斷響應(yīng)
CPU在接收到8259的中斷請(qǐng)求信號(hào)后,如果CPU內(nèi)的中斷允許標(biāo)志IF=1,則在當(dāng)前指令執(zhí)行完后進(jìn)入中斷響應(yīng)周期。8259A中斷工作過程(二)CPU在中斷響應(yīng)周期中向8259回送兩個(gè)負(fù)脈沖。8259的控制邏輯在接收到第一個(gè)負(fù)脈沖后完成下列任務(wù):①禁止IRR不再受IR7~IR0信號(hào)的再次變化的影響(直到第二個(gè)結(jié)束);②將優(yōu)先權(quán)處理器PR確定的最高優(yōu)先級(jí)的中斷請(qǐng)求信號(hào)存入服務(wù)狀態(tài)寄存器ISR;③將中斷請(qǐng)求寄存器IRR的相應(yīng)位復(fù)位。8259的控制邏輯在接收到第二個(gè)負(fù)脈沖后,將寄存器ICW2的當(dāng)前內(nèi)容通過數(shù)據(jù)總線D0~D7送至CPU。8259A中斷工作過程(三)(6)中斷結(jié)束如果8259初始化為中斷自動(dòng)結(jié)束方式,即ICW4的AEOI=1,在第二個(gè)負(fù)脈沖結(jié)束時(shí),ISR中的被第一個(gè)負(fù)脈沖置位的位即被復(fù)位。如果8259初始化為非自動(dòng)結(jié)束中斷方式,即ICW4的AEOI=0,則等到中斷結(jié)束命令送到OCW2后,才清除ISR中的相應(yīng)位,表明中斷服務(wù)程序結(jié)束。8259A中斷工作過程(四)8259A強(qiáng)大中斷處理功能和各種靈活工作方式,是通過編程來設(shè)置的,即對(duì)8259A內(nèi)部有關(guān)寄存器寫入控制命令字來實(shí)現(xiàn)控制的。初始化命令字ICW(InitializationCommandWord):ICW1~ICW4,必須在初始化時(shí)分別寫入4個(gè)相應(yīng)的寄存器。一旦寫入,一般在系統(tǒng)運(yùn)行過程中就不再改變。操作命令字OCW(OperationCommandWord):也稱工作方式命令字OCW1~OCW3,必須在設(shè)置初始化命令后方能分別寫入3個(gè)相應(yīng)的寄存器。用來對(duì)中斷處理過程進(jìn)行動(dòng)態(tài)的操作與控制。在一個(gè)系統(tǒng)運(yùn)行過程中,操作命令字可以被多次設(shè)置。8259A控制字格式(一)若要使用8259若要改變8259的功能注:一般由系統(tǒng)程序完成注:一般由應(yīng)用程序完成必須按規(guī)定向其寫入初始化命令字ICW1~ICW4使8259進(jìn)入工作狀態(tài)可隨時(shí)向其寫入操作命令字OCW1~OCW3使8259按要求工作8259A控制字格式(二)8259實(shí)際端口地址一線二址,址1:A0=0;址2:A0=18259應(yīng)操作的端口
4個(gè)初始化命令字的寫操作
3個(gè)操作命令字的寫操作
3個(gè)寄存器IRR、ISR、IMR的讀操作
1個(gè)中斷類型號(hào)的讀操作注:2個(gè)地址怎樣完成11個(gè)讀寫操作8259A端口地址(一)A0RDWRCS對(duì)應(yīng)的讀/寫操作0010讀IRR、ISR、中斷狀態(tài)查詢碼1010讀IMR0100寫OCW2、OCW3、ICW11100寫OCW1、ICW2、ICW3、ICW4X110無操作,數(shù)據(jù)線呈高阻態(tài)XXX1無操作,數(shù)據(jù)線呈高阻態(tài)8259A端口地址(二)A0=0讀操作—IRR、ISR、中斷類型號(hào)→CPU
注:解決1址3讀問題,用位控制定義讀入方法
A0=1讀操作—僅IMR→CPUA0=0寫操作—CPU→ICW1、OCW2、OCW3
注:解決1址3寫問題,用位識(shí)別寫入法
A0=1寫操作—CPU→ICW2、ICW3、ICW4、OCW1
注:解決1址4寫問題,用同址順序?qū)懭敕?259A端口地址(三)ICW1、ICW2
為必寫初始化命令字
ICW3、ICW4
為選寫初始化命令字
ICW2、ICW3、ICW4
采用同址順序?qū)懭敕ㄗⅲ篒CW1的地址不同8259A初始化命令字(一)ICW1—芯片控制初始化命令字D7D6D5D4D3D2D1D0XXX1LTIMXSNGLIC4A00同址識(shí)別位1=電平觸發(fā)0=變沿觸發(fā)1=單片0=級(jí)聯(lián)1=需要設(shè)置ICW40=不需要設(shè)置ICW48259A初始化命令字(二)ICW2—中斷類型號(hào)初始化命令字D7D6D5D4D3D2D1D0A15A14A13A12A11A10A9A8A01
D2~D0—IR0~IR7的編碼
注:中斷類型號(hào)的低3位
D7~D3—中斷類型號(hào)的高5位
注:中斷類型號(hào)的高5位由用戶編程定義,
中斷類型號(hào)的低3位自動(dòng)產(chǎn)生,保證IR0~IR7連續(xù)
8259A初始化命令字(三)ICW3—主/從8259A初始化命令字A01D7D6D5D4D3D2D1D0S7S6S5S4S3S2S1S0
若D0~D7為1,則IR0~IR7對(duì)應(yīng)端接有從8259芯片若D0~D7為0,則IR0~IR7對(duì)應(yīng)端未接從8259芯片
主8259中ICW3的位定義8259A初始化命令字(四)A01D7D6D5D4D3D2D1D000000ID2ID1ID0
從8259中ICW3的位定義D2~D0從8259的INT端接主8259的IRn端的編碼,D7~D3未用例如:010表示從8259A連到主8259A的IRQ2。8259A初始化命令字(五)ICW4—方式控制初始化命令字A01D7D6D5D4D3D2D1D0000SFNMBUFM/SAEOIPM識(shí)別碼1=特殊的全嵌套方式0=非特殊的全嵌套方式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 下設(shè)子公司合同范本
- 2025-2030年中國無功功率表項(xiàng)目投資可行性研究分析報(bào)告
- 出售大型廢船合同范例
- 2025年度建筑工地鋼筋智能化倉儲(chǔ)與物流配送合同
- 伴聚合作合同范本
- 公交輪胎采購合同范例
- 停產(chǎn)勞動(dòng)合同范本
- 人工草坪合同范本
- 2025年印刷裝飾紙項(xiàng)目可行性研究報(bào)告
- 供應(yīng)商技術(shù)合同范本
- 春季安全教育培訓(xùn)課件
- 《大學(xué)英語1》期末考試試卷及答案(???
- 《石油鉆井基本知識(shí)》課件
- 2024新滬教版英語(五四學(xué)制)七年級(jí)上單詞默寫單
- 電力兩票培訓(xùn)
- TCCEAS001-2022建設(shè)項(xiàng)目工程總承包計(jì)價(jià)規(guī)范
- 2024.8.1十七個(gè)崗位安全操作規(guī)程手冊(cè)(值得借鑒)
- 小王子-英文原版
- 二次供水衛(wèi)生管理制度及辦法(4篇)
- 電影《白日夢(mèng)想家》課件
- 婦產(chǎn)科產(chǎn)后虛脫患者的應(yīng)急預(yù)案及程序
評(píng)論
0/150
提交評(píng)論