使用8259A的單級(jí)中斷控制實(shí)驗(yàn)_第1頁
使用8259A的單級(jí)中斷控制實(shí)驗(yàn)_第2頁
使用8259A的單級(jí)中斷控制實(shí)驗(yàn)_第3頁
使用8259A的單級(jí)中斷控制實(shí)驗(yàn)_第4頁
使用8259A的單級(jí)中斷控制實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

實(shí)驗(yàn)五使用8259A的單級(jí)中斷控制實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握中斷控制器8259A與微機(jī)接口的原理和方法。2、掌握中斷控制器8259A的應(yīng)用編程。二、預(yù)備知識(shí)1、8259A的內(nèi)部結(jié)構(gòu)8259A是專為控制優(yōu)先級(jí)中斷而設(shè)計(jì)的芯片。它將中斷源按優(yōu)先級(jí)排隊(duì)、辨認(rèn)中斷源、提供中斷向量的電路集成于一體,只要用軟件對(duì)它進(jìn)行編程,就可以管理8級(jí)中斷。如圖5—19所示,它由中斷請(qǐng)求寄存器(IRR)、優(yōu)先級(jí)分析器、中斷服務(wù)寄存器(ISR)、中斷屏蔽寄存器(IMR)、數(shù)據(jù)總線緩沖器、讀寫控制電路和級(jí)聯(lián)緩沖器、比較器組成。CAS1CAS2CASOCAS1CAS2CASO中斷請(qǐng)求寄存器:寄存所有要求服務(wù)的請(qǐng)求IR0~IR7。中斷服務(wù)寄存器:寄存正在被服務(wù)的中斷請(qǐng)求。中斷屏蔽寄存器:存放被屏蔽的中斷請(qǐng)求,該寄存器的每一位表示一個(gè)中斷號(hào),該位為1,屏蔽該號(hào)中斷,否則開放該號(hào)中斷。數(shù)據(jù)總線緩沖器:是雙向三態(tài)的,用以連接系統(tǒng)總線和8259A內(nèi)部總線,通過它可以由CPU對(duì)8259A寫入狀態(tài)字和控制字。讀寫控制電路:用來接受I/O命令,對(duì)初始化命令和操作命令字寄存器進(jìn)行寫入,以確定8259A的工作方式和控制方式。級(jí)聯(lián)緩沖器/比較器:用于多片8259A的連接,能構(gòu)成多達(dá)64級(jí)的矢量中斷系統(tǒng)。2、8259A編程及初始化(1)寫初始化命令字*寫初始化命令字ICW1(A0=0),以確定中斷請(qǐng)求信號(hào)類型,清除中斷屏蔽寄存器,中斷

優(yōu)先級(jí)排隊(duì)和確定系統(tǒng)用單片還是多片。76543210A7A6A511-口=不需寫ICW4;1=需要寫ICW4L口=多片裂59級(jí)連;1=只一片8959L口=中斷向重地址間距g;1=地址間距4(g麗8模式下為幻

L口=上升沿觸發(fā);1=高電平觸發(fā)-為1JCW1標(biāo)志位-中斷向童A7A&A5位???8模式下為叩W*寫初始化命令字ICW2,以定義中斷向量的高五位類型碼。76543210A15/T7A14/T6A13/T5A12/T4A11/T3A10A9A8A15-A8:8080/8085方式下的中斷向重高名位劇亂方式下A&-A口不用,設(shè)為叩口T7-T3:8086/8088方式下的中斷向量*寫初始化命令字ICW3,以定義主片8259A中斷請(qǐng)求線上IR0~IR7有無級(jí)聯(lián)的8259A從片。表明IRi引腳上無從片表明IRi引腳上有從片從片表明IRi引腳上無從片表明IRi引腳上有從片從片第i位=1一血:從片連在主片的IR0±

-oor.JA片連在主片的iri上L111:從片連在主片的IR7上*寫初始化命令I(lǐng)CW4,用來定義8259A工作時(shí)用8085模式,還是8088模式,以及中斷

服務(wù)寄存器復(fù)位方式等。I—口=工作于8086/8088方式—1=工作于8080/8085方式一口=中斷服務(wù)寄存器不自動(dòng)復(fù)位用ECU命令復(fù)位一1井?dāng)喾?wù)寄存器自動(dòng)復(fù)位—□=從片—]=主片-0=825?與數(shù)據(jù)總線無緩沖器連接L1=S259與數(shù)據(jù)總線有緩沖器連接—Cl=單片825隊(duì)一般嵌套方式—1淄片冒5隊(duì)特殊嵌套方式⑵寫控制命令字*寫操作命令字0CW1,用來設(shè)置或清除對(duì)中斷源的屏蔽。76543210第i位=0,對(duì)應(yīng)的中斷請(qǐng)求IRi開放第i位=1,對(duì)應(yīng)的中斷請(qǐng)求IRi屏蔽注:OCW1如不寫,則在初始化命令寫入后,OCW1為全開放狀態(tài)。*操作命令字OCW2,設(shè)置優(yōu)先級(jí)是否進(jìn)行循環(huán)、循環(huán)方式及中斷結(jié)束方式。76543210RSLEOI00L2LIL0識(shí)別碼L000~lll?用戶規(guī)定IR0-IR7的最低優(yōu)先級(jí)端碼L1=中斷服務(wù)結(jié)束命令(ECH命令)-O=L2L1LO編碼無敖—1=L2LIL0編碼有裁注:8259A復(fù)位時(shí)自動(dòng)設(shè)置IR0優(yōu)先權(quán)最高,IR7優(yōu)先權(quán)最低LITS環(huán)憂先權(quán)

76543210001也』成用■1口=下一個(gè)而讀中斷請(qǐng)求寄存器IRR..11=下一個(gè)既讀中斷服務(wù)寄存器ISRI—1箸詢命令;口=不是查詢命令——oo?oi=5E用—1口弗殊屏蔽方式清除操作命令字0品,設(shè)置查詢方式、特殊屏蔽方式以及讀取8259中斷寄存器的當(dāng)前狀態(tài)。⑶8259A查詢字通過OCW3命令字的設(shè)置,可使CPU處于查詢方式,隨時(shí)查詢8259A有否中斷請(qǐng)求,有則轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。三、實(shí)驗(yàn)內(nèi)容本系統(tǒng)中已設(shè)計(jì)有一片8259A中斷控制芯片,工作于主片方式,8個(gè)中斷請(qǐng)求輸入端IR0-IR7對(duì)應(yīng)的中斷型號(hào)為8~F,其和中斷矢量關(guān)于如下表5-3所示。表5-3

瞿5PA中斷源中斷類型號(hào)中斷矢重表地址IR0820H-23HIR1924H-27HIR2AIR3B2CH-2FHIR4C30H-33HIR5D34H-37HIR6E38H-3BHIR7F3CH-3FH根據(jù)實(shí)驗(yàn)原理圖5-20(見下頁),8259A和8088系統(tǒng)總線直接相連,8259A上連有一系統(tǒng)地址線A0,故8259A有2個(gè)端口地址,本系統(tǒng)中為20H、21H。20H用來寫ICW1,21H用來寫ICW2、ICW3、ICW4,初始化命令字寫好后,再寫操作命令字。OCW2、OCW3用口地址20H,OCW1用口地址21H。圖5-14中,使用了3號(hào)中斷源,IR3插孔和SP插孔相連,中斷方式為邊沿觸發(fā)方式,每按一次AN按鈕產(chǎn)生一次中斷信號(hào),向8259A發(fā)出中斷請(qǐng)求信號(hào)。如果中斷源電平信號(hào)不符規(guī)定要求則自動(dòng)轉(zhuǎn)到7號(hào)中斷,顯示“Err”。CPU響應(yīng)中斷后,在中斷服務(wù)中,對(duì)中斷次數(shù)進(jìn)行計(jì)數(shù)并顯示,計(jì)滿5次結(jié)束,顯示器顯示“8259Good”。四、實(shí)驗(yàn)線路連接8259A的IR3插孔和SP插孔相連。SP插孔初始電平為低電平。109S76E427_*17109S76E427_*17C1EC1312IouIORINTRINTANCNCNCD0IR0D1IR1D2IR2D3IR3D4IR4D5IRSD6....IR6n7U14TP7A0S259URRDSP/ENINTINTACAS2CAS1CAS0CSAS+4.7K18■T19■120?I214?I22■?I23II2425?I?I*IR3SPn五、實(shí)驗(yàn)軟件框圖六、實(shí)驗(yàn)軟件清單CODESEGMENTASSUMECS:CODEINTPORT1EQU0020HINTPORT2EQU0021HINTQ3EQUINTREEUP3INTQ7EQUINTREEUP7CONTPORTEQU00DFHDATAPORTEQU00DEHDATA0EQU0580HDATA1EQU0500HDATA2EQU0508HDATA3EQU0518HDATA4EQU0520HORG1800HSTART:JMPTint1Tint1:CALLFORMATCLDMOVDI,DATA0MOVCX,08HXORAX,AXREPSTOSWMOVSI,DATA3;DISP8259-1CALL;DISP8259-1MOVAX,0HMOVDS,AXCALLWRINTVER;WRITEINTRRUPTMOVAL,13HMOVDX,INTPORT1OUTDX,ALMOVAL,08HMOVDX,INTPORT2OUTDX,ALMOVAL,09HOUTDX,ALMOVAL,0F7HOUTDX,ALMOVBYTEPTRDS:[0601H],01H;TIME=1STIWATING:JMPWATINGWRINTVER:MOVAX,0HMOVES,AXMOVDI,002CHLEAAX,INTQ3STOSWMOVAX,CSSTOSWMOVDI,003CHLEAAX,INTQ7STOSWMOVAX,CSSTOSWRETINTREEUP3:CLIMOVAL,DS:[0601H]CALLCONVERSMOVSI,DATA0CALLLEDDISPDMOVAL,20HMOVDX,INTPORT1OUTDX,ALADDBYTEPTRDS:[0601H],01HCMPBYTEPTRDS:[0601H],06HJNAINTRE1MOVSI,DATA4CALLLEDDISPINTRE3:JMPINTRE3CONVERS:MOVBH,0HANDAL,0FHMOVBL,ALMOVAL,CS:[BX+DATA2]MOVBX,DATA0MOVDS:[BX],ALRETINTRE1:MOVAL,20HMOVDX,INTPORT1OUTDX,ALSTIIRETINTREEUP7:CLIMOVSI,DATA1CALLLEDDISPMOVAL,20HMOVDX,INTPORT1OUTDX,ALIRETLEDDISP:MOVAL,90HMOVDX,CONTPORTOUTDX,ALMOVBYTEPTRDS:[0600H],00LED1:CMPBYTEPTRDS:[0600H],07HJALED2MOVBL,DS:[0600H]MOVBH,0HMOVAL,CS:[BX+SI]MOVDX,DATAPORTOUTDX,ALADDBYTEPTRDS:[0600H],01HJNZLED1LED2:RETLEDDISPD:MOVAL,90HMOVDX,CONTPORTOUTDX,ALMOVBYTEPTRDS:[0600H],00LEDD1:CMPBYTEPTRDS:[0600H],07HJALEDD2MOVBL,DS:[0600H]MOVBH,0HMOVAL,DS:[BX+SI]MOVDX,DATAPORTOUTDX,ALADDBYTEPTRDS:[0600H],01HJNZLEDD1LEDD2:RETFORMAT:MOVBX,0MOVWORDPTRDS:[BX+0500H],5050HADDBX,2MOVWORDPTRDS:[BX+0500H],0079HADDBX,2MOVWORDPTRDS:[BX+0500H],0000HADDBX,2MOVWORDPTRDS:[BX+0500H],0000HADDBX,2MOVWORDPTRDS:[BX+0500H],063FHADDBX,2MOVWORDPTRDS:[BX+0500H],4F5BHADDBX,2MOVWORDPTRDS:[BX+0500H],6D66HADDBX,2MOVWORDPTRDS:[BX+0500H],077DHADDBX,2MOVWORDPTRDS:[BX+0500H],6F7FHADDBX,2MOVWORDPTRDS:[BX+0500H],7C77HADDBX,2MOVWORDPTRDS:[BX+0500H],5E39HADDBX,2MOVWORDPTRDS:[BX+0500H],7179HADDBX,2MOVWORDPTRDS:[BX+0500H],4006HADDBX,2MOVWORDPTRDS:[BX+0500H],4040HADDBX,2MOVWORDPTRDS:[BX+0500H],6D6FHADDBX,2MOVWORDPTRDS:[BX+0500H],7F5BHADDBX,2MOVWORDPTRDS:[BX+0500H],3F5EHADDBX,2MOVWORDPTRDS:[BX+0500H],5C3FHADDBX,2MOVWORDPTRDS:[BX+0500H],6D6FHADDBX,2MOVWORDPTRDS:[BX+0500H],7F5BHRETCODEENDSENDSTART七、實(shí)驗(yàn)步驟1、按圖5-20連好實(shí)驗(yàn)線路2、運(yùn)行實(shí)驗(yàn)程序在系統(tǒng)顯示“DVCC-86H”狀態(tài)下,按任意鍵,系統(tǒng)顯示命令提示符“一”。按GO鍵,顯示“1000XX”輸入F000:B2E0按EXEC鍵,在DVCC-8086H上顯示“8259—1”。3、按AN按鍵,每按二次產(chǎn)生一次中斷,在顯示器左邊一位顯示中斷次數(shù),滿5次中斷,顯示器顯示“8259good”。實(shí)驗(yàn)六8255A可編程并行口實(shí)驗(yàn)(一)一、實(shí)驗(yàn)?zāi)康?、掌握并行接口芯片8255A和微機(jī)接口的連接方法。2、掌握并行接口芯片8255A的工作方式及其編程方法。二、預(yù)備知識(shí)1、8255A結(jié)構(gòu)8255A是可編程并行接口芯片,雙列直插式封裝,用+5V單電源供電,如圖5—6是8255A的邏輯框圖,內(nèi)部有3個(gè)8位I/O端口:A口、B口、C口;也可以分為各有12位的兩組:A和B組,A組包含A口8位和C口的高四位,B組包含B口8位和C口的低4位;A組控制和B組控制用于實(shí)現(xiàn)方式選擇操作;讀寫控制邏輯用于控制芯片內(nèi)寄存器的數(shù)據(jù)和控制字經(jīng)數(shù)據(jù)總線緩沖器送入各組接口寄存器中。由于8255A數(shù)據(jù)總線緩沖器是雙向三態(tài)8位驅(qū)動(dòng)器,因此可以直接和8088系統(tǒng)數(shù)據(jù)總線相連。2、8255A端口地址見表5-1表5—1A1A0/RD/WR/CS操作類型操作方向00010P0L數(shù)據(jù)總線輸入(讀)01010PB-數(shù)據(jù)總線10010FCt數(shù)據(jù)總線00100數(shù)據(jù)總線TFA輸出01100數(shù)據(jù)總線tPB10100數(shù)據(jù)總線tPC(與)11100數(shù)據(jù)總線t控制字XXXX1數(shù)據(jù)總線三態(tài)11010非法狀態(tài)斷開XX110數(shù)據(jù)總線三態(tài)CPUgO外段樓口內(nèi)郭理鏡1—4組端口七fA(8)-ED—?-WR—?AlAJ—?EESET—?-cs3、8255AT作方式讀、寫控制1駕向梅綬D7雙數(shù)總蹌內(nèi)都魂根總技B組控制E組端EKCPUgO外段樓口內(nèi)郭理鏡1—4組端口七fA(8)-ED—?-WR—?AlAJ—?EESET—?-cs3、8255AT作方式讀、寫控制1駕向梅綬D7雙數(shù)總蹌內(nèi)都魂根總技B組控制E組端EK低4位(4)ASfii^QC離4位⑷170PC7?PC0圖5—12B組蟠口B(8)I/OPC0-PC28255A芯片有三種工作方式:方式0、方式1、方式2。它通過對(duì)控制寄存器寫入不同的控制字來決定其三種不同的工作方式。方式0:基本輸入輸出如圖5-13(a)所示。該方式下的A口8位和B口8位可以由輸入的控制字決定為輸入或輸出,C口分成高4位(PC7~PC4)和低4位(PC3~PC0)兩組,也有控制字決定其輸入或輸出。需注意的是:該方式下,只能將C口其中一組的四位全部置為輸入或輸出。方式1:選通輸入輸出RDPA7-0PC4PC5PC3PC7-6PE7-0PC2RDPA7-0PC4PC5PC3PC7-6PE7-0PC2PC1PC0DATA4STBA?IBFAkIHTRA?I/O<DATASTBE*IEFB+IHTRBPA7?0krPC7PC6j■PCSbi.__■rPEE―?PC2PCIPCOkFWRDATADEFAACKAIHTRAI/ODATAOEFBACKBIHTRB圖5-13(c)方式1輸出圖圖5-13(c)方式1輸出如圖5-13(b)、(c)所示。該方式又叫單向輸入輸出方式,它分為A、B兩組,A組由數(shù)據(jù)口A和控制口C的高4位組成,B組由數(shù)據(jù)口B和控制口C的低4位組成。數(shù)據(jù)口的輸入輸出都是鎖存的,與方式0不同,由控制字來決定它作輸入還是輸出。C口的相應(yīng)位用于寄存數(shù)據(jù)傳送中所需的狀態(tài)信號(hào)和控制信息。方式2:雙向輸入輸出圖5—13(D)方式2雙向輸入輸出如圖5—13(d)所示。本方式只有A組可以使用,此時(shí)A口為輸入輸出雙向口,C口中的5位(PC3-PC7)作為A口的控制位。4、8255A控制字76543210PC34J:1^A?O^出棲組PB□:1希入口希出方式選擇:0=方式口,1=方式1棲組PC7H1希入川借出1皿口:1弟/U希出方式選擇:叩=方式口口1=方式11乂=方式2方式標(biāo)志:1=有蘊(yùn)方式選擇控制字PC口按位置/復(fù)位控制字76543210主片X_XX無關(guān)7=苣位』=復(fù)位X_XX無關(guān)三、實(shí)驗(yàn)內(nèi)容1、實(shí)驗(yàn)原理

如實(shí)驗(yàn)原理圖5-14所示,PC口8位接8個(gè)開關(guān)K1~K8,PB口8位接8個(gè)發(fā)光二極管,從PC口讀入8位開關(guān)量送PB口顯示。撥動(dòng)K1~K8,PB口上接的8個(gè)發(fā)光二極管L1~L8對(duì)應(yīng)顯示K1~K8的狀態(tài)。r-acLOi—inU18凸%切r-acLOi—inU18凸%切u825508255CS070H圖5-142、實(shí)驗(yàn)線路連接8255A芯片PC0~PC7插孔依次接K1~K8。8255A芯片PB0~PB7插孔依次接L1~L8。8255A的CS插孔接譯碼輸出070H-07FH插孔。四、實(shí)驗(yàn)軟件框圖五、實(shí)驗(yàn)軟件清單CODESEGMENTASSUMECS:CODEIOCONPTEQU0073HIOCPTEQU0072HIOBPTEQU0071HCONTPORTEQU00DFHDATAPORTEQU00DEHDATA1EQU0500HSTART:JMPIOLEDIOLED:CALLFORMATCALLLEDDISPMOVAL,89HMOVDX,IOCONPTOUTDX,ALNOPNOPNOPIOLED1:MOVDX,IOCPTINAL,DXMOVDX,IOBPTOUTDX,ALMOVCX,0FFFFHDELAY:LOOPDELAYJMPIOLED1LEDDISP:MOVAL,90HMOVDX,CONTPORTOUTDX,ALMOVBYTEPTRDS:[0600H],00LED1:CMPBYTEPTRDS:[0600H],07HJALED2MOVBL,DS:[0600H]MOVBH,0HMOVAL,CS:[BX+DATA1]MOVDX,DATAPORTOUTDX,ALADDBYTEPTRDS:[0600H],01HJNZLED1FORMAT:MOVBX,0MOVWORDPTRDS:[BX+0500H],4006HADDBX,2MOVWORDPTRDS:[BX+0500H],4040HADDBX,2MOVWORDPTRDS:[BX+0500H],6D6DHADDBX,2MOVWORDPTRDS:[BX+0500H],7F5BHRETCODEENDSENDSTART六、實(shí)驗(yàn)步驟1、按圖5-14連好線路。2、運(yùn)行實(shí)驗(yàn)程序。在系統(tǒng)顯示“DVCC-86H”狀態(tài)下,按任意鍵,顯示器顯示“一”。按GO鍵,顯示“1000XX”輸入F000:B160再按EXEC鍵,在DVCC-8086H顯示上顯示器“8255—1”,同時(shí)撥動(dòng)K1~K8,L1~L8會(huì)跟著亮滅。8255A可編程并行口實(shí)驗(yàn)(二)一、實(shí)驗(yàn)?zāi)康倪M(jìn)一步掌握8255A可編程并行口使用方法。二、實(shí)驗(yàn)內(nèi)容1、實(shí)驗(yàn)原理實(shí)驗(yàn)原理圖如圖5-15所示,PB4~PB7和PC0~PC7分別與發(fā)光二極管電路L1~L12相連,本實(shí)驗(yàn)為模擬交通燈實(shí)驗(yàn)。交通燈的亮滅規(guī)律如下:設(shè)有一個(gè)十字路口,1、3為南北方向,2、4為東西方向,初始為四個(gè)路口的紅燈全亮,之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車;延時(shí)一段時(shí)間后,1、3路口的綠燈熄滅,而1、3路口的黃燈開始閃爍,閃爍若干次以后,1、3路口紅燈亮,而同時(shí)2、4路口的綠燈亮,2、4路口方向通車;延時(shí)一段時(shí)間后,2、4路口的綠燈熄滅,而黃燈開始閃爍,閃爍若干次以后,再切換到1、3路口方向,之后重復(fù)上述過程。TTArLTA76L5L4L3L2L-5*0LI1±LTTATTArLTA76L5L4L3L2L-5*0LI1±LTTAC圖5-158255A的PB4-PB7對(duì)應(yīng)黃燈,PC0~PC3對(duì)應(yīng)紅燈,PC4-PC7對(duì)應(yīng)綠燈。8255A工作于模式0,并置為輸出。由于各發(fā)光二極管為共陽極,使其點(diǎn)亮應(yīng)使8255A相應(yīng)端口清0。2、實(shí)驗(yàn)線路連接L1—PC4L4—PC5L7—PC6L10—PC7L2—PB4L5—PB5L8—PB6L11—PB7L3—PC0L6—PC1L9—PC2L12—PC3三、實(shí)驗(yàn)軟件框圖開始

調(diào)用顯示"8255——9"子程序置股55控制字便日口為輸入口

讀取FE口數(shù)據(jù)保存在EL中

置變關(guān)控制字&0H,使各端口均為輸出口,且均工作于方式口便4個(gè)路口跑燈全亮

延時(shí)一段時(shí)間點(diǎn)亮L3路口綠燈延時(shí)熄滅1、3路口綠燈rL3路口黃切勾蜘啾nr四個(gè)紅燈全亮點(diǎn)亮盅瞞口綠燈延時(shí)四、實(shí)驗(yàn)軟件清單熄滅盅目路口綠燈CODESEGMENTASSUMECS:CODE宴羋&口黃燈閃蜘七次IOCONPTEQU0073HIOAPTEQU0070H四個(gè)紅燈全亮IOBPTEQU0071H—IOCPTEQU0072HIOBDATAEQU0500HCONTPORTEQU00DFHDATAPORTEQU00DEHDATA1EQU0640HSTART:JMPIOLEDIOLED:CALLFORMATCALLLEDDISPMOVAX,0HMOVDS,AXMOVAL,82HMOVDX,IOCONPTOUTDX,ALMOVDX,IOBPTINAL,DXMOVBYTEPTRDS:[0501H],ALMOVDX,IOCONPTMOVAL,80HOUTDX,ALMOVDX,IOBPTMOVAL,DS:[0501H]ORAL,0F0HOUTDX,ALMOVDX,IOCPTMOVAL,0F0HOUTDX,ALCALLDELAY1IOLED0:MOVAL,10100101BMOVDX,IOCPTOUTDX,ALCALLDELAY1CALLDELAY1ORAL,0F0HOUTDX,ALMOVCX,8HIOLED1:MOVDX,IOBPTMOVAL,DS:[0501H]ANDAL,10101111BOUTDX,ALCALLDELAY2ORAL,01010000BOUTDX,ALCALLDELAY2LOOPIOLED1MOVDX,IOCPTMOVAL,0F0HOUTDX,ALCALLDELAY2MOVAL,01011010BOUTDX,ALCALLDELAY1CALLDELAY1ORAL,0F0HOUTDX,ALMOVCX,8HIOLED2:MOVDX,IOBPTMOVAL,DS:[0501H]ANDAL,01011111BOUTDX,ALCALLDELAY2ORAL,10100000BOUTDX,ALCALLDELAY2LOOPIOLED2MOVDX,IOCPTMOVAL,0F0HOUTDX,ALCALLDELAY2JMPIOLED0DELAY1:PUSHAXPUSHCXMOVCX,0030HDELY2:CALLDELAY2LOOPDELY2POPCXPOPAXDELAY2:PUSHCXMOVCX,8000HDELA1:LOOPDELA1POPCXRETLEDDISP:MOVAL,90HMOVDX,CONTPORTOUTDX,ALMOVBYTEPTRDS:[0600H],00LED1:CMPBYTEPTRDS:[0600H],07HJALED2MOVBL,DS:[0600H]MOVBH,0HMOVAL,CS:[BX+DATA1]MOVDX,DATAPORTOUTDX,ALADDBYTEPTRDS:[0600H],01HJNZLED1LED2:RETFORMAT:MOVBX,0MOVWORDPTRDS:[BX+0640H],405BHADDBX,2MOVWORDPTRDS:[BX+0640H],4040HADDBX,2MOVWORDPTRDS:[BX+0640H],6D6DHADDBX,2MOVWORDPTRDS:[BX+0640H],7F5BHRETCODEENDSENDSTART五、實(shí)驗(yàn)步驟1、按圖5-15連好實(shí)驗(yàn)線路2、運(yùn)行實(shí)驗(yàn)程序在系統(tǒng)顯示“DVCC-86H”狀態(tài)下,按任意鍵,系統(tǒng)顯示命令提示符“一”。按GO鍵,顯示“1000XX”輸入F000:B1B0按EXEC鍵,在DVCC—8086H上顯示“8255—2”。同時(shí)L1~L12發(fā)光二極管模擬交通燈顯示。實(shí)驗(yàn)七8253A定時(shí)/計(jì)數(shù)器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)8253A可編程定時(shí)/計(jì)數(shù)器與8088CPU的接口方法;了解8253A的工作方式;掌握8253A在各種方式下的編程方法。二、預(yù)備知識(shí)1、8253A內(nèi)部結(jié)構(gòu)8253A定時(shí)/計(jì)數(shù)器具有定時(shí)、計(jì)數(shù)雙功能。它具有三個(gè)相同且相互獨(dú)立的16位減法計(jì)數(shù)器,分別稱為計(jì)數(shù)器0、計(jì)數(shù)器1、計(jì)數(shù)器2。每個(gè)計(jì)數(shù)器計(jì)數(shù)頻率為0~2MHZ,其內(nèi)部結(jié)構(gòu)如圖5—16所示。由于其內(nèi)部數(shù)據(jù)總線緩沖器為雙向三態(tài),故可直接接在系統(tǒng)數(shù)據(jù)總線上,通過CPU寫入計(jì)數(shù)初值,也可由CPU讀出計(jì)數(shù)當(dāng)前值;其工作方式通過控制字確定;圖中的讀寫控制邏輯,當(dāng)選中該芯片時(shí),根據(jù)讀寫命令及送來的地址信息控制整個(gè)芯片工作;圖中的控制字寄存器用于接收數(shù)據(jù)總線緩沖器的信息:當(dāng)寫入控制字時(shí),控制計(jì)數(shù)器的工作方式,當(dāng)寫入數(shù)據(jù)時(shí)則裝入計(jì)數(shù)初值,控制寄存器為8位,只寫不能讀。圖5—168253A內(nèi)部結(jié)構(gòu)圖圖5—17計(jì)數(shù)器內(nèi)部結(jié)構(gòu)圖2、計(jì)數(shù)器內(nèi)部結(jié)構(gòu)如圖5—17所示,每個(gè)計(jì)數(shù)器由一個(gè)16位可預(yù)置的減1計(jì)數(shù)器組成,計(jì)數(shù)初值可保存在16位的鎖存器中,該鎖存器只寫不能讀。在計(jì)數(shù)器工作時(shí),初值不受影響,以便進(jìn)行重復(fù)計(jì)數(shù)。圖中每個(gè)計(jì)數(shù)器有一個(gè)時(shí)鐘輸入端CLK作為計(jì)數(shù)脈沖源,計(jì)數(shù)方式可以是二進(jìn)制,計(jì)數(shù)范圍1~10000H,也可以是十進(jìn)制,計(jì)數(shù)范圍1~65536。門控端GATE用于控制計(jì)數(shù)開始和停止。輸出OUT端當(dāng)計(jì)數(shù)器計(jì)數(shù)值減到零時(shí),該端輸出標(biāo)志信號(hào)。3、8253A端口地址選擇見表5-2

ZCS/RD/WRAlA2寄存器選擇與操作01000寫入計(jì)數(shù)器#001001寫入計(jì)數(shù)器#101010寫入計(jì)數(shù)器01011寫入控制容存器00100讀計(jì)數(shù)器抑00101讀計(jì)數(shù)器#100110讀計(jì)數(shù)器超00111無操作(二態(tài))1XXXX禁止(二態(tài))表5—211XX無操作〔二態(tài)4、8253A功能8253A既可作定時(shí)器又可作計(jì)數(shù)器:計(jì)數(shù):計(jì)數(shù)器裝入初值后,當(dāng)GATE為高電平時(shí),可用外部事件作為CLK脈沖對(duì)計(jì)數(shù)值進(jìn)行減1計(jì)數(shù),每來一個(gè)脈沖減1,當(dāng)計(jì)數(shù)值減至0時(shí),由OUT端輸出一個(gè)標(biāo)志信號(hào)。⑵定時(shí):計(jì)數(shù)器裝入初值后,當(dāng)GATE為高電平時(shí),由CLK脈沖觸發(fā)開始自動(dòng)計(jì)數(shù),當(dāng)計(jì)數(shù)到零時(shí),發(fā)計(jì)數(shù)結(jié)束定時(shí)信號(hào)。除上述典型應(yīng)用外,8253A還可作頻率發(fā)生器、分頻器、實(shí)時(shí)鐘、單脈沖發(fā)生器等。5、8253A控制字00011011選計(jì)數(shù)器口選計(jì)數(shù)器1選計(jì)數(shù)器2非法數(shù)制控制:o=-ffi制,1=BCD00011011選計(jì)數(shù)器口選計(jì)數(shù)器1選計(jì)數(shù)器2非法數(shù)制控制:o=-ffi制,1=BCD—oo—01—10>—11計(jì)數(shù)器鎖存命令只讀與低8位,高8位自動(dòng)置口只讀有高8位,低g位自動(dòng)置[]先寫低8位,后寫高8位工作方式選擇:口叩方式口001方式1X10方式9XH方式3100方式4101方式516543210說明:8253A每個(gè)通道對(duì)輸入CLK按二進(jìn)制或二十進(jìn)制從預(yù)置值開始減1計(jì)數(shù),減到0時(shí)從OUT輸出一個(gè)信號(hào)。8253A編程時(shí)先寫控制字,再寫時(shí)間常數(shù)。6、8253A工作方式(1)方式0:計(jì)數(shù)結(jié)束產(chǎn)生中斷方式

當(dāng)寫入控制字后,OUT變?yōu)榈碗娖?,?dāng)寫入初值后立即開始計(jì)數(shù),當(dāng)計(jì)數(shù)結(jié)束時(shí),變成高電平。方式1:可編程單次脈沖方式當(dāng)初值裝入后且GATE由低變高時(shí),OUT變?yōu)榈碗娖?,?jì)數(shù)結(jié)束變?yōu)楦唠娖?。方?:頻率發(fā)生器方式當(dāng)初值裝入時(shí),OUT變?yōu)楦撸挥?jì)數(shù)結(jié)束,OUT變?yōu)榈?。該方式下如果?jì)數(shù)未結(jié)束,但GATE為低時(shí),立即停止計(jì)數(shù),強(qiáng)逼OUT變高,當(dāng)GATE再變高時(shí),便啟動(dòng)一次新的計(jì)數(shù)周期。方式3:方波發(fā)生器當(dāng)裝入初值后,在GATE上升沿啟動(dòng)計(jì)數(shù),OUT輸出高電平;當(dāng)計(jì)數(shù)完成一半時(shí),OUT輸出低電平。方式4:軟件觸發(fā)選通當(dāng)寫入控制字后,OUT輸出為高;裝入初值且GATE為高時(shí)開始計(jì)數(shù),當(dāng)計(jì)數(shù)結(jié)束,OUT端輸出一個(gè)寬度等于一個(gè)時(shí)鐘周期的負(fù)脈沖。方式5:硬件觸發(fā)選通在GATE上升沿啟動(dòng)計(jì)數(shù)器,OUT一直保持高電平;計(jì)數(shù)結(jié)束,OUT端輸出一個(gè)寬度等于一個(gè)時(shí)鐘周期的負(fù)脈沖。三、實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)原理圖如圖5-18所示,825

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論