常用可編程接口芯片課件_第1頁
常用可編程接口芯片課件_第2頁
常用可編程接口芯片課件_第3頁
常用可編程接口芯片課件_第4頁
常用可編程接口芯片課件_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

常用可編程接口芯片8.1可編程定時/計數(shù)器8253定時/計數(shù)的用途:定時中斷、定時檢測、定時掃描、實時控制中的采樣、DRAM定時刷新等定時和計數(shù)本質(zhì)上是一樣的計數(shù)的信號隨機,定時的信號具有周期性定時方法軟件定時:利用一段循環(huán)程序?qū)崿F(xiàn)延時缺點:CPU占用率?延時精度?兼容?硬件定時:定時/計數(shù)器電路不可編程定時:采用中小規(guī)模IC構(gòu)成,定時值不可改變可編程定時:采用可編程計數(shù)器完成,軟件可改變計數(shù)值

8253是一種可編程定時/計數(shù)器芯片8.1.18253的內(nèi)部結(jié)構(gòu)及功能一、內(nèi)部結(jié)構(gòu)

A1A0選擇00計數(shù)通道001計數(shù)通道110計數(shù)通道211控制寄存器二、計數(shù)器的通道結(jié)構(gòu)控制邏輯CRHCRLOLHOLLCECLKGATEOUT讀/寫格式:只讀/寫低8位,高8位自動清零只讀/寫高8位,低8位自動清零先讀/寫低8位,后讀/寫高8位讀出當前計數(shù)值的方法直接讀:用GATE信號使計數(shù)器停止,再規(guī)定讀寫格式,然后讀出。鎖存讀:利用鎖存指令,先鎖存當前計數(shù)值,再用輸入指令將16位計數(shù)值讀出。三、定時/計數(shù)的工作過程1.設置8253的工作方式

2.設置計數(shù)初值到初值寄存器

3.第一個CLK信號使初值寄存器的內(nèi)容置入計數(shù)器

4.以后每來一個CLK信號,計數(shù)器減15.減到0時,OUT端輸出一特殊波形的信號注:以上計數(shù)過程中還受到GATE信號的控制四、計數(shù)啟動方式軟件啟動過程硬件啟動過程GATE端保持為高電平寫入計數(shù)初值后的第2個CLK脈沖的下降沿開始計數(shù)GATE端有一個上升沿對應CLK脈沖的下降沿開始計數(shù)程序指令啟動————軟件啟動外部電路信號啟動——硬件啟動8.1.28253的工作方式一、方式0(軟件啟動,不自動重復計數(shù))①控制字寫入后OUT即變?yōu)榈碗娖?;②計?shù)初值寫入后在下一個CLK下降沿才送入計數(shù)器,當計數(shù)器為0時,輸出OUT變?yōu)楦唠娖?;③當GATE變?yōu)榈碗娖綍r計數(shù)停止,再變?yōu)楦唠娖綍r計數(shù)繼續(xù)進行;④若想再次OUT輸出,必須重寫計數(shù)值。二、方式1(硬件啟動,可重復觸發(fā))主要特點:寫入CW后OUT變?yōu)楦唠娖剑缓髮懭胗嫈?shù)初值,當GATE上升沿觸發(fā)后,OUT變?yōu)榈碗娖讲㈤_始計數(shù),歸零時OUT變?yōu)楦唠娖?;門控信號GATE端的跳變觸發(fā)計數(shù),可重復觸發(fā);若下一次GATE上升沿提前到達,則OUT端負脈沖拉寬為兩次計數(shù)過程之和;計數(shù)過程中寫入新初值不影響本次計數(shù)

三、方式2(分頻器)

主要特點:軟、硬件啟動,自動重復計數(shù)。裝入初值后OUT端變高電平,計數(shù)過程中OUT端為高電平,計數(shù)到1時OUT輸出負脈沖,并連續(xù)重復此過程(周期性負脈沖)。四、方式3(方波發(fā)生器)主要特點:方式3的OUT輸出是周期性的方波。(若計數(shù)值n是偶數(shù),則輸出OUT是對稱方波;若計數(shù)值n是奇數(shù),則輸出OUT在(n+1)/2計數(shù)期間保持為高電平,而在(n-1)/2計數(shù)期間保持為低電平。)五、方式4(軟件觸發(fā)選通)主要特點:

*計數(shù)過程中,GATE端應保持高電平。

*每寫入一次初值,計數(shù)一個周期,然后停止計數(shù)。

*方式4的OUT輸出是一次性負脈沖。

*若想再次OUT輸出,須再次寫入計數(shù)值。六、方式5(硬件觸發(fā)選通)主要特點:

*方式5的OUT輸出是一次性負脈沖。

*若想再次OUT輸出,只須再次啟動GATE脈沖。8253工作方式小結(jié):寫入CW后,方式0輸出即變低,其余5種方式輸出均變高。方式0:用來實現(xiàn)定時或?qū)ν獠渴录M行計數(shù)。方式1:用來產(chǎn)生單脈沖。方式2:產(chǎn)生序列負脈沖,每個負脈沖的寬度與CLK的周期相同方式3:產(chǎn)生連續(xù)的方波。方式2和方式3都實現(xiàn)對CLK的n分頻方式4和方式5的波形相同,都是計數(shù)器歸0后的1個負脈沖,寬度為1個CLK。方式2、4、5的輸出波形是相同的,都是寬度為一個CLK周期的負脈沖。但方式2是連續(xù)的,方式4是由軟件(設置初值)觸發(fā)啟動,而方式5由硬件(門控脈沖)觸發(fā)啟動。方式1、5觸發(fā)計數(shù)方式相同,但輸出波形不同。方式1為輸出n個CLK脈沖周期的負脈沖(計數(shù)過程中輸出為低),而方式5輸出的是寬度為1個CLK脈沖周期的負脈沖(計數(shù)過程輸出為高)8.1.38253的控制字M2M1M0:計數(shù)器工作方式選擇

000方式0001方式1x10方式2x11方式3100方式4101方式5BCD:計數(shù)器進制選擇

016位二進制計數(shù)器

1BCD碼計數(shù)器SC1SC0:計數(shù)器通道選擇

00通道001通道110通道211非法RL1RL0:計數(shù)器讀寫選擇

00計數(shù)器鎖存

01只讀寫低8位

10只讀寫高8位

11先讀寫低8位,再讀寫高8位用于確定各計數(shù)器的工作方式。每個計數(shù)器都必須初始化一次。CPU通過OUT指令把控制字寫入控制寄存器。8.1.48253的應用一、與系統(tǒng)的連接CLKGATEOUTD0~D7WRRDA1A0CSDBIOWIORA1A0譯碼器高位地址A15-A28253占用4個接口地址:

計數(shù)器0

計數(shù)器1

計數(shù)器2

控制寄存器共三組二、8253的編程

設置控制字(寫入控制寄存器地址)

賦計數(shù)初值(寫入相應計數(shù)器地址)讀計數(shù)器內(nèi)容(從相應計數(shù)器地址讀出)初始化寫控制字寫計數(shù)值低8位寫計數(shù)值高8位非必須寫入順序:

可按計數(shù)器分別寫入控制字和初值。

也可先寫所有計數(shù)器控制字,再寫入它們的初值包括1、對計數(shù)器賦計數(shù)初值控制字寫完后,接著賦計數(shù)初值。計數(shù)初值寫入計數(shù)器的格式必須按照控制字的RL1、RL0的讀寫指示來寫。另外,當D0=0時,即選擇二進制計數(shù),計數(shù)初值可在0~FFFFH之間選擇。當D0=1時,即選擇BCD碼計數(shù),計數(shù)初值可在0~9999之間選擇。若想擴大計數(shù)范圍,可以將兩個或三個計數(shù)器級連使用。即將一計數(shù)器的OUT信號與另一計數(shù)器的CLK信號相連接。8253OUT1GATE1CLK1OUT0GATE0CLK0+5V+5V1MHz1KHz1Hz例1

若要使計數(shù)器1工作在方式0,僅用8位二進制計數(shù),計數(shù)值為128,試對其進行初始化編程。假設3個計數(shù)器和控制寄存器的端口地址為:70H~73H

MOVAL,50H;寫控制字01010000OUT73H,ALMOVAL,80H;寫計數(shù)初值,只寫低八位

OUT71H,AL

例2

若要使計數(shù)器0工作在方式1,按BCD碼計數(shù),計數(shù)值為3000,試對其進行初始化編程。

MOVAL,23H;00100011OUT73H,ALMOVAL,30H;計數(shù)初值只寫高八位

OUT70H,AL

2、讀計數(shù)器的內(nèi)容8253的讀操作只能讀計數(shù)器的值,而不能讀控制字。若讀16位計數(shù)值,則對該計數(shù)器讀兩次,先讀低8位,再讀高8位。如果在計數(shù)過程中讀計數(shù)器內(nèi)容,則需發(fā)鎖存命令。計數(shù)器的鎖存命令是用一個字節(jié)的最高兩位D7和D6指定要鎖存的計數(shù)器;D5和D4必須為00作為鎖存命令的標志。而低4位可為全0。它是控制字的一種特殊形式,所以要把此鎖存命令寫到控制字寄存器中去??梢?,3個計數(shù)器的鎖存命令分別為00H,40H和80H。

例3若要使計數(shù)器2工作在方式2,按二進制計數(shù),計數(shù)值為1110H。要在計數(shù)過程中讀取該計數(shù)器的計數(shù)值。試對其進行初始化編程。

MOVAL,0B4HOUT73H,ALMOVAL,10HOUT72H,ALMOVAL,11HOUT72H,ALMOVBH,20H;讓8253工作一段時間,在讀它的

W:DECBH;計數(shù)值

JNZW

MOVAL,80H;對計數(shù)器2進行鎖存,它的某個計

OUT73H,AL;數(shù)值就鎖存到它的鎖存寄存器里

INAL,72HMOVCL,AL;先讀低8位

INAL,72H;再讀高8位

MOVAH,ALMOVAL,CL

例4系統(tǒng)中有一片8253芯片,利用其通道1完成對外部事件計數(shù),計滿250次向CPU發(fā)出中斷申請;利用2通道輸出頻率為1kHz的方波,試編寫8253的初始化程序,硬件電路如圖。三、8253的應用A7A6A5A4A3A2

MOVAL,71H;通道1控制字01110001OUT1FH,AL

MOVAL,0A7H;通道2控制字10100111OUT1FH,AL

MOVAL,50H;通道1計數(shù)值低8位

OUT1DH,AL

MOVAL,02H;通道1計數(shù)值高8位

OUT1DH,AL

MOVAL,20H;通道2計數(shù)值高8位

OUT1EH,AL端口地址分析:1CH、1DH、1EH、1FHN1=250,N2=Tout/Tclk=fclk/fout=2000例58253通道2接有一發(fā)光二極管,要使發(fā)光二極管以點亮2s,熄滅2s的間隔工作,8253各通道端口地址分別為FFE9H~FFEFH。其電路硬件圖如圖。試編程完成以上工作。N=Tout/Tclk=4×106=N1×N2=4000×1000MOVDX,0FFEFH;控制字端口地址

MOVAL,65H;通道1控制字

OUTDX,AL

MOVAL,0A7H;通道2控制字

OUTDX,AL

MOVDX,0FFEBH;通道1端口地址

MOVAL,40H;通道1計數(shù)值高8位

OUTDX,AL

MOVDX,0FFEDH;通道2端口地址

MOVAL,10H;通道2計數(shù)值高8位

OUTDX,AL例6有如下接口原理圖。要求發(fā)光二極管L0亮5秒后就熄滅;L1在K1啟動后亮6秒后就熄滅;L2亮4秒滅4秒交替進行。寫出初始化程序片段。

IORIOWA0A1A2Y5分析:由譯碼電路分析可知,8253芯片計數(shù)器1、計數(shù)器2、計數(shù)器3及控制端口的地址分別為94H,95H,96H,97H。根據(jù)接口圖及題目要求,8253的計數(shù)器0應該工作在方式0,計數(shù)初值N0=5000;計數(shù)器1應工作在方式1,N1=6000;計數(shù)器2應工作在方式3,N2=8000。

MOVAL,21H;初始化計數(shù)器0,00100001OUT97H,ALMOVAL,50HOUT94H,AL

MOVAL,63H;初始化計數(shù)器1,01100011OUT97H,ALMOVAL,60HOUT95H,AL

MOVAL,0A7H;初始化計數(shù)器2,10100111OUT97H,ALMOVAL,80HOUT96H,AL

8.2可編程并行輸入/輸出接口芯片82558.2.18255的內(nèi)部結(jié)構(gòu)A組控制B組控制端口C上半部端口C下半部端口BOOO數(shù)據(jù)總線緩沖器讀/寫控制邏輯端口A數(shù)據(jù)總線D0~D7RDWRA0A1RESETCSPA0~PA7PC4~PC7PC0~PC3PB0~PB7CPU接口外設接口內(nèi)部邏輯8.2.28255的引腳分配

一、與外設聯(lián)系的引腳

A口有PA0~PA78個引腳,同樣B口和C口均有PB0~PB7,PC0~PC78個引腳。

二、與CPU聯(lián)系的引腳數(shù)據(jù)和命令通道線D0~D7,讀/寫控制引腳RD、WR、CS、A0,A1,RESET。三、端口地址控制引腳

CSA1A0

端口

000A口地址

001B口地址

010C口地址

011控制端口地址四、8255與系統(tǒng)的連接D0~D7WRRDA1A0CSDBIOWIORA1A0譯碼器8255A口B口C口D0~D7外設A15~A2系統(tǒng)總線8.2.38255的工作方式及編程

一、8255的工作方式

1、方式0(基本輸入/輸出方式)

2、方式1(選通輸入/輸出方式)

3、方式2(雙向傳送方式)各端口可工作的方式:

A口:方式0、方式1、方式2B口:方式0、方式1C口:方式0無條件傳送方式條件傳送方式條件傳送方式中斷傳送方式二、8255的控制字

1、方式控制字

D7D6D5D4D3D2D1D0B組C口低半字節(jié):1-輸入,0-

輸出B口:1-輸入,0-輸出

方式選擇:0-方式0,1-方式1A組C口高半字節(jié):1-輸入,0-輸出A口:1-輸入,0-輸出

方式選擇:

方式控制字標志:1-有效00-方式001-方式11X-方式22、C口置“1”/清“0”控制字

D7D6D5D4D3D2D1D0位控:1-置1,0-清0狀態(tài)選中位000001010011100101110111PC0PC1PC2PC3PC4PC5PC6PC7位控字標志:0-有效無效8.2.48255各工作方式的功能及應用一、8255工作在方式0特點(無條件傳送方式和條件傳送方式)

8255工作在方式0時,各個端口(包括2個8位端口A、B及2個4位端口C)的輸入、輸出可以有16種不同的組合。在這種方式下,任一個端口都由CPU用簡單的輸入/輸出指令進行讀/寫。不用提供“聯(lián)絡”信號,適用于各種同步傳送情況。

另外,方式0也可用于程序查詢方式來進行數(shù)據(jù)傳送。此時,通常以A口和B口作為數(shù)據(jù)口,而用C口的某些位作為輸入輸出“聯(lián)絡”信號。注意,輸入“聯(lián)絡”信號和輸出“聯(lián)絡”信號不在同一4位C口中。方式0應用舉例(同步情況):例18255的A口和B口工作在方式0,A口為輸入端口,接有4個開關;B口為輸出端口,接有1個7段發(fā)光二極管,其硬件連接電路如圖所示。試編一程序要求7段發(fā)光二極管顯示開關所撥通的數(shù)字。A0A1A2Y4IORIOW分析:

1、端口地址

A口:8020HC口:8022HB口:8021H控制口:8023H2、字符代碼對照表顯示字符7段代碼顯示字符7段代碼

03FH87FH106H96FH25BHA77H34FHb7CH466Hc39H56DHd5EH67DHE79H707HF31H程序:APORTEQU8020HBPORTEQU8021HCONTREQU8023HDATASEGMENTTAB1DB3FH,06H,5BH,4FH,

……DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX

MOVAL,90H;10010000MOVDX,CONTR;定義8255A工作方式

OUTDX,ALADDR1:MOVDX,APORT;取開關值

INAL,DX

ANDAL,0FH;屏蔽高4位

MOVBX,OFFSETTAB1;取代碼表首址

XLAT;找到字符代碼

MOVDX,BPORT;輸出顯示

OUTDX,AL

MOVCX,0400H;顯示延時

ADDR2:DECCX

JNZADDR2

JMPADDR1

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

數(shù)據(jù)接口將數(shù)據(jù)傳送到打印機的數(shù)據(jù)端口,利用一個負脈沖STROBE打入鎖存。這時打印機可發(fā)回答信號ACK,然后由打印機處理。同時打印機送出高電平信號BUSY,表示打印機忙于打印。一旦BUSY變?yōu)榈碗娖?,表示打印結(jié)束,即可接收下一數(shù)據(jù)。例2異步查詢情況:利用8255實現(xiàn)打印機接口,將從DATA單元開始的10個字節(jié)的數(shù)據(jù)進行打印輸出。請利用8255工作方式0實現(xiàn)上述打印控制根據(jù)連線分析得知4個端口地址依次為:0FBC0H,0FBC1H,0FBC2H,0FBC3H程序如下:MOVAL,10000001BMOVDX,0FBC3HOUTDX,

AL;8255初始化

MOVAL,0DH;00001101PC6置1OUTDX,ALMOVSI,OFFSETDATAMOVCX,10X1:MOVDX,0FBC2HINAL,DX;讀PC1TESTAL,02HJNZX1;BUSY=1等待

MOVAL,[SI]MOVDX,0FBC0HOUTDX,AL;數(shù)據(jù)輸出

INCSIMOVAL,0CH;PC6置低電平

MOVDX,0FBC3HOUTDX,ALMOVAL,0DH;PC6恢復高電平

OUTDX,ALLOOPX1二、8255工作在方式1特點:

8255工作在方式1時,數(shù)據(jù)輸入/輸出操作要在選通信號控制下完成。A口和B口可作為輸入或輸出口,而C口的某些位作為“聯(lián)絡”信息。和方式0相比,最重要的差別在于C口的這些位與聯(lián)絡信號有著固定的一一對應關系。A口的聯(lián)絡信息由C口的PC3

~PC7提供,B口的聯(lián)絡信息由C口的PC0~PC2提供。另外,8255在方式1下具有中斷能力,可以發(fā)出中斷請求信號,為CPU工作在中斷方式提供了條件。由于輸入接口和輸出接口所需的選通控制不同,下面分別予以介紹。1、選通輸入方式A口:PC4、PC5、PC3,B口:PC2、PC1、PC0STB:選通輸入信號,低電平有效,它將外設數(shù)據(jù)送入8255的輸入鎖存器,指定為PC4和PC2

。IBF:輸入鎖存器滿信號,和外設相連,高電平有效,通知外設不能送下一個數(shù)據(jù),指定為PC5和PC1

。當CPU讀走數(shù)據(jù)后,IBF變?yōu)榈碗娖?。INTR:中斷請求信號,高電平有效,指定為PC3和PC0。

當STB、IBF、INTE均為1時,8255自動發(fā)出INTR。INTE:中斷允許觸發(fā)器,高電平有效,INTEA由PC4控制,INTEB由PC2控制,可由C口置/復位控制字將INTE置1或復位方式1輸入時“聯(lián)絡”信號時序圖2、選通輸出方式A口:PC7、PC6、PC3,B口:PC1、PC2、PC0OBF:輸出緩沖區(qū)滿信號,低電平有效,指定為PC7和PC1

,通知外設取走數(shù)據(jù)ACK:外設響應信號,指定為PC6和PC2,表示已從數(shù)據(jù)端口取走數(shù)據(jù),并準備好接收下一個數(shù)據(jù),此信號使OBF變高。INTR:中斷請求信號,指定為PC3和PC0。

OBF、ACK、INTE均為1時,8255A自動發(fā)出INTR。INTE:中斷允許觸發(fā)器,高電平有效,INTEA由PC6控制,INTEB由PC2控制,可由C口置/復位控制字將INTE置1或復位。方式1輸出時“聯(lián)絡”信號時序圖方式1應用舉例(中斷情況):例系統(tǒng)中接有一個打印機,8255A作為輸出接口,工作在選通方式,試編一程序?qū)⒕彌_區(qū)B

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論