第8章可編程接口芯片及應(yīng)用(6h+4h)_第1頁
第8章可編程接口芯片及應(yīng)用(6h+4h)_第2頁
第8章可編程接口芯片及應(yīng)用(6h+4h)_第3頁
第8章可編程接口芯片及應(yīng)用(6h+4h)_第4頁
第8章可編程接口芯片及應(yīng)用(6h+4h)_第5頁
已閱讀5頁,還剩106頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、西郵計(jì)算機(jī)學(xué)院西郵計(jì)算機(jī)學(xué)院第8章 可編程接口芯片及應(yīng)用主要內(nèi)容l為了實(shí)現(xiàn)人機(jī)交互和各種形式的輸入為了實(shí)現(xiàn)人機(jī)交互和各種形式的輸入/ /輸出操作,微機(jī)系統(tǒng)輸出操作,微機(jī)系統(tǒng)中使用了各種各樣的中使用了各種各樣的I/OI/O設(shè)備。這些設(shè)備。這些I/OI/O設(shè)備在工作原理、設(shè)備在工作原理、驅(qū)動(dòng)方式、信息格式以及工作速度等方面均存在很大差異驅(qū)動(dòng)方式、信息格式以及工作速度等方面均存在很大差異,在處理速度上也比,在處理速度上也比CPUCPU慢得多,所以,必須通過接口電慢得多,所以,必須通過接口電路(介于主機(jī)和外設(shè)之間的一種緩沖電路)把它們與主機(jī)路(介于主機(jī)和外設(shè)之間的一種緩沖電路)把它們與主機(jī)系統(tǒng)連接起來

2、。系統(tǒng)連接起來。l隨著微型計(jì)算機(jī)技術(shù)的發(fā)展,與其配套的各種接口芯片大隨著微型計(jì)算機(jī)技術(shù)的發(fā)展,與其配套的各種接口芯片大量出現(xiàn),不同系列的微處理器都有其標(biāo)準(zhǔn)化、系列化的接量出現(xiàn),不同系列的微處理器都有其標(biāo)準(zhǔn)化、系列化的接口芯片可供選用??谛酒晒┻x用。l本章僅介紹本章僅介紹80 x8680 x86系列微處理器配套使用的通用可編程接口系列微處理器配套使用的通用可編程接口芯片,例如:芯片,例如:8253/82548253/8254、82558255等等。1234章節(jié)安排可編程定時(shí)器可編程定時(shí)器/ /計(jì)數(shù)器芯片計(jì)數(shù)器芯片8253/82548253/8254可編程并行接口芯片可編程并行接口芯片8255A

3、8255A串行通信及可編程接口芯片串行通信及可編程接口芯片8251A8251A模模/ /數(shù)與數(shù)數(shù)與數(shù)/ /模轉(zhuǎn)換技術(shù)及其接口模轉(zhuǎn)換技術(shù)及其接口8.1 可編程定時(shí)器/計(jì)數(shù)器芯片8253/8254l定時(shí)信號(hào)的產(chǎn)生定時(shí)信號(hào)的產(chǎn)生l1. 1.軟件定時(shí)軟件定時(shí)l方法:根據(jù)所需時(shí)間常數(shù)設(shè)計(jì)一個(gè)延遲子程序。方法:根據(jù)所需時(shí)間常數(shù)設(shè)計(jì)一個(gè)延遲子程序。l優(yōu)點(diǎn):節(jié)省硬件。優(yōu)點(diǎn):節(jié)省硬件。l缺點(diǎn):執(zhí)行延時(shí)程序期間缺點(diǎn):執(zhí)行延時(shí)程序期間CPUCPU一直被占用,降低了一直被占用,降低了CPUCPU效率,不易提供多作業(yè)環(huán)境。效率,不易提供多作業(yè)環(huán)境。l適用:延時(shí)時(shí)間較短、重復(fù)次數(shù)有限的情況。適用:延時(shí)時(shí)間較短、重復(fù)次數(shù)有

4、限的情況。8.1 可編程定時(shí)器/計(jì)數(shù)器芯片8253/8254(續(xù))l2. 2.硬件定時(shí)硬件定時(shí)l方法:利用專門的定時(shí)方法:利用專門的定時(shí)/ /計(jì)數(shù)器作為主要硬件,在簡(jiǎn)單計(jì)數(shù)器作為主要硬件,在簡(jiǎn)單軟件控制下,產(chǎn)生準(zhǔn)確時(shí)間延遲。軟件控制下,產(chǎn)生準(zhǔn)確時(shí)間延遲。l優(yōu)點(diǎn):定時(shí)優(yōu)點(diǎn):定時(shí)/ /計(jì)數(shù)器與計(jì)數(shù)器與CPUCPU并行工作,不占并行工作,不占CPUCPU時(shí)間,利時(shí)間,利用定時(shí)用定時(shí)/ /計(jì)數(shù)器產(chǎn)生中斷信號(hào),可以建立多作業(yè)環(huán)境,計(jì)數(shù)器產(chǎn)生中斷信號(hào),可以建立多作業(yè)環(huán)境,大大提高了大大提高了CPUCPU利用率。利用率。l適用:廣泛應(yīng)用。適用:廣泛應(yīng)用。l8253825382548254是是IntelInt

5、el公司生產(chǎn)的一種通用的計(jì)數(shù)定公司生產(chǎn)的一種通用的計(jì)數(shù)定時(shí)器時(shí)器CTCCTC,也稱為可編程序間隔定時(shí)器,也稱為可編程序間隔定時(shí)器PITPIT,它是,它是采用采用NMOSNMOS工藝由單一工藝由單一+5V+5V電源供電的雙列直插式電源供電的雙列直插式封裝封裝2424引腳芯片。引腳芯片。l8253825382548254芯片兩者的外形引腳及功能都是兼容的芯片兩者的外形引腳及功能都是兼容的,僅是工作的最高頻率有所不同,以滿足不同的,僅是工作的最高頻率有所不同,以滿足不同的接口要求。例如:接口要求。例如:l8253 (2MHz)8253 (2MHz)、 8253-5 (5MHz )8253-5 (5M

6、Hz ),l8254 (8MHz)8254 (8MHz)、 8254-5 (5MHz )8254-5 (5MHz )、 8254-2 (10MHz)8254-2 (10MHz)。8.1 可編程定時(shí)器/計(jì)數(shù)器芯片8253/8254(續(xù))8.1.1 8253的結(jié)構(gòu)及功能l1 82531 8253的引腳的引腳圖圖8.1 82538.1 8253引腳及功能結(jié)構(gòu)引腳及功能結(jié)構(gòu) 8253124223322421520619718817916101511141213D7CLK0OUT0GATE0GNDOUT1VCCA1CLK2OUT2GATE2CLK1GATE1D6D5D4D3D2D1D0WRRDCSA0

7、0#8253D7D0A0CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2WRRDA1CS 1# 2#8.1.1 8253的結(jié)構(gòu)及功能(續(xù))l2 82532 8253內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)8.1.1 8253的結(jié)構(gòu)及功能(續(xù))l(1) (1) 數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器l82538253用于和用于和CPUCPU數(shù)據(jù)總線連接的數(shù)據(jù)總線連接的8 8位、雙向、三態(tài)緩沖器,位、雙向、三態(tài)緩沖器,CPUCPU讀寫讀寫82538253的所有數(shù)據(jù)都經(jīng)過該緩沖器。的所有數(shù)據(jù)都經(jīng)過該緩沖器。lCPUCPU用輸出指令向用輸出指令向82538253寫入方式控制字至控制寄存器、寫寫入方式控制字

8、至控制寄存器、寫入計(jì)數(shù)值至某個(gè)計(jì)數(shù)器,都是經(jīng)數(shù)據(jù)總線緩沖器和入計(jì)數(shù)值至某個(gè)計(jì)數(shù)器,都是經(jīng)數(shù)據(jù)總線緩沖器和82538253內(nèi)內(nèi)部總線傳送的。部總線傳送的。lCPUCPU用輸入指令讀某個(gè)計(jì)數(shù)器值時(shí),該計(jì)數(shù)器的現(xiàn)行計(jì)數(shù)用輸入指令讀某個(gè)計(jì)數(shù)器值時(shí),該計(jì)數(shù)器的現(xiàn)行計(jì)數(shù)值經(jīng)值經(jīng)82538253內(nèi)部總線和數(shù)據(jù)總線緩沖器傳送到系統(tǒng)數(shù)據(jù)總線內(nèi)部總線和數(shù)據(jù)總線緩沖器傳送到系統(tǒng)數(shù)據(jù)總線上,讀入上,讀入CPUCPU。8.1.1 8253的結(jié)構(gòu)及功能(續(xù))l(2) (2) 讀寫邏輯讀寫邏輯l82538253內(nèi)部操作的控制部件內(nèi)部操作的控制部件l接收系統(tǒng)總線輸入信號(hào),轉(zhuǎn)換成接收系統(tǒng)總線輸入信號(hào),轉(zhuǎn)換成82538253內(nèi)部

9、操作的各種控制內(nèi)部操作的各種控制信號(hào)信號(hào)l選擇讀寫操作的對(duì)象(某計(jì)數(shù)器或控制寄存器選擇讀寫操作的對(duì)象(某計(jì)數(shù)器或控制寄存器由由A0A0、A1A1決定)決定)l決定內(nèi)部總線上數(shù)據(jù)的傳送方向(輸入還是輸出由決定內(nèi)部總線上數(shù)據(jù)的傳送方向(輸入還是輸出由WRWR、RDRD決定)決定)l82538253端口地址及內(nèi)部操作端口地址及內(nèi)部操作8.1.1 8253的結(jié)構(gòu)及功能(續(xù))l(3) (3) 控制寄存器控制寄存器l82538253初始化時(shí)接收初始化時(shí)接收CPUCPU寫入的控制字寫入的控制字l控制字指定計(jì)數(shù)器的工作方式,選擇以二進(jìn)制或控制字指定計(jì)數(shù)器的工作方式,選擇以二進(jìn)制或二二十進(jìn)制計(jì)數(shù)等十進(jìn)制計(jì)數(shù)等l

10、該寄存器為該寄存器為只寫只寫寄存器寄存器8.1.1 8253的結(jié)構(gòu)及功能(續(xù))l(4) (4) 計(jì)數(shù)器計(jì)數(shù)器0 0、計(jì)數(shù)器、計(jì)數(shù)器1 1、計(jì)數(shù)器、計(jì)數(shù)器2 2l三個(gè)計(jì)數(shù)器結(jié)構(gòu)完全相同、操作完全獨(dú)立三個(gè)計(jì)數(shù)器結(jié)構(gòu)完全相同、操作完全獨(dú)立l每個(gè)計(jì)數(shù)器內(nèi)部包含:一個(gè)每個(gè)計(jì)數(shù)器內(nèi)部包含:一個(gè)1616位計(jì)數(shù)初值寄存器(位計(jì)數(shù)初值寄存器(CRCR)、)、計(jì)數(shù)執(zhí)行部件(計(jì)數(shù)執(zhí)行部件(CECE)、一個(gè))、一個(gè)1616位輸出鎖存器(位輸出鎖存器(OLOL)和一個(gè))和一個(gè)控制寄存器控制寄存器l每個(gè)計(jì)數(shù)器外部有兩個(gè)輸入端(每個(gè)計(jì)數(shù)器外部有兩個(gè)輸入端(CLKCLK、GATEGATE)和一個(gè)輸)和一個(gè)輸出端(出端(OUT

11、OUT)8.1.1 8253的結(jié)構(gòu)及功能(續(xù))l3 3 計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)計(jì)數(shù)器的內(nèi)部結(jié)構(gòu)計(jì)數(shù)器 0控制寄存器計(jì)數(shù)初值寄存器(CR)減1計(jì)數(shù)器(CE)輸出鎖存寄存器(OL) CRHCEHOLHCRLCELOLL8.1.1 8253的結(jié)構(gòu)及功能(續(xù))l4 82534 8253的工作過程的工作過程由由CPUCPU向向控制寄存器控制寄存器寫入控制字,以確定工作方式;寫入控制字,以確定工作方式;由由CPUCPU向向計(jì)數(shù)器寄存器計(jì)數(shù)器寄存器寫入計(jì)數(shù)初值或定時(shí)常數(shù);寫入計(jì)數(shù)初值或定時(shí)常數(shù);計(jì)數(shù)單元計(jì)數(shù)單元從計(jì)數(shù)器寄存器中獲得初值,在從計(jì)數(shù)器寄存器中獲得初值,在CLKCLK端輸入端輸入的計(jì)數(shù)脈沖控制下進(jìn)行的計(jì)

12、數(shù)脈沖控制下進(jìn)行減減1 1計(jì)數(shù)計(jì)數(shù)(CLK(CLK決定計(jì)數(shù)速率決定計(jì)數(shù)速率) );8.1.1 8253的結(jié)構(gòu)及功能(續(xù))l4 82534 8253的工作過程的工作過程8.1.1 8253的結(jié)構(gòu)及功能(續(xù))8.1.2 8253的編程l82538253在工作之前,用戶首先要為某一計(jì)數(shù)器在工作之前,用戶首先要為某一計(jì)數(shù)器( (計(jì)數(shù)計(jì)數(shù)器器0 0 2) 2)寫入控制字以確定其工作方式;寫入定時(shí)寫入控制字以確定其工作方式;寫入定時(shí)/ /計(jì)數(shù)初值;在定時(shí)計(jì)數(shù)初值;在定時(shí)/ /計(jì)數(shù)工作過程中,有時(shí)還需要計(jì)數(shù)工作過程中,有時(shí)還需要讀取某計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值。讀取某計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值。l1. 82531. 825

13、3的控制字格式的控制字格式l82538253的控制字格式如下圖所示。的控制字格式如下圖所示。0 二進(jìn)制計(jì)數(shù)1 十進(jìn)制計(jì)數(shù)00 將減1計(jì)數(shù)器CE中的數(shù)據(jù) 鎖存到OL中(鎖存功能)000 方式0D7D6計(jì)數(shù)器選擇讀寫格式工作方式數(shù)制00 選擇計(jì)數(shù)器001 選擇計(jì)數(shù)器110 選擇計(jì)數(shù)器211 非法01 對(duì)計(jì)數(shù)器的低8位讀或?qū)?0 對(duì)計(jì)數(shù)器的高8位讀或?qū)?1 計(jì)數(shù)器16位操作(先低8 位,后高8位讀或?qū)?001 方式110 方式211 方式3100 方式4101 方式5D5D4D3D1D2D0SC1RL1M1M0M2BCDSC0RL08.1.2 8253的編程(續(xù))l2 82532 8253的讀的讀/

14、 /寫操作寫操作l對(duì)對(duì)82538253的讀的讀/ /寫操作不僅要用到寫操作不僅要用到RDRD和和WRWR控制信號(hào),還要根控制信號(hào),還要根據(jù)計(jì)數(shù)據(jù)計(jì)數(shù)/ /定時(shí)工作的要求利用門控信號(hào)定時(shí)工作的要求利用門控信號(hào)GATEGATE和鎖存功能來和鎖存功能來控制控制82538253的讀的讀/ /寫操作。寫操作。l 讀操作:是指讀出計(jì)數(shù)器的計(jì)數(shù)值至讀操作:是指讀出計(jì)數(shù)器的計(jì)數(shù)值至CPUCPU中。中。l直接讀出直接讀出( (停讀停讀) ):l直接用輸入指令讀取所選擇的端口計(jì)數(shù)器值。直接用輸入指令讀取所選擇的端口計(jì)數(shù)器值。l鎖存讀出鎖存讀出( (飛讀飛讀) ):l鎖存計(jì)數(shù)值以供讀取,是專為在計(jì)數(shù)過程中讀數(shù)據(jù)而設(shè)

15、計(jì)的。鎖存計(jì)數(shù)值以供讀取,是專為在計(jì)數(shù)過程中讀數(shù)據(jù)而設(shè)計(jì)的。l(2) (2) 寫操作:是指寫操作:是指CPUCPU對(duì)對(duì)82538253寫入控制字或計(jì)數(shù)初值。寫入控制字或計(jì)數(shù)初值。8.1.2 8253的編程(續(xù))l3. 3. 初始化編程初始化編程l82538253投入工作之前,投入工作之前,CPUCPU要對(duì)它進(jìn)行初始化編程。初始化要對(duì)它進(jìn)行初始化編程。初始化編程的步驟為:編程的步驟為:l 寫入計(jì)數(shù)器的控制字,規(guī)定其工作方式及相應(yīng)功能;寫入計(jì)數(shù)器的控制字,規(guī)定其工作方式及相應(yīng)功能;l 寫入計(jì)數(shù)初值。寫入計(jì)數(shù)初值。例如:設(shè)例如:設(shè)82538253端口地址為端口地址為4040 43H43H。 若若選擇

16、選擇0 0計(jì)數(shù)器,工作在方式計(jì)數(shù)器,工作在方式3 3,計(jì)數(shù)初值為,計(jì)數(shù)初值為2354H2354H,十進(jìn)制計(jì)數(shù)方式,十進(jìn)制計(jì)數(shù)方式; 或或選擇選擇l l計(jì)數(shù)器,工作在方式計(jì)數(shù)器,工作在方式2 2,計(jì)數(shù)初值為,計(jì)數(shù)初值為18H18H,二進(jìn)制計(jì)數(shù)方式二進(jìn)制計(jì)數(shù)方式。 根據(jù)根據(jù)上述各計(jì)數(shù)器的功能,其初始化編程如下:上述各計(jì)數(shù)器的功能,其初始化編程如下: 0 0計(jì)數(shù)器的控制字為:計(jì)數(shù)器的控制字為:37H37H 1 1計(jì)數(shù)器的控制字為:計(jì)數(shù)器的控制字為:54H54H SC1RL1M1M0M2BCDSC0RL08.1.2 8253的編程(續(xù))l對(duì)對(duì)0 0計(jì)數(shù)器初始化編程:計(jì)數(shù)器初始化編程: MOVMOVAL

17、AL, 37H 37H ;對(duì);對(duì)0 0計(jì)數(shù)器送控制字。計(jì)數(shù)器送控制字。 OUT OUT 43H43H, ALAL MOV MOV ALAL, 54H 54H ;送初值的低;送初值的低8 8位。位。 OUT OUT 40H40H, ALAL MOV MOV ALAL, 23H 23H ;送初值的高;送初值的高8 8位。位。 OUT OUT 40H40H, ALALl對(duì)對(duì)1 1計(jì)數(shù)器初始化編程:計(jì)數(shù)器初始化編程: MOV MOV AL,AL,01010100B 01010100B ;對(duì);對(duì)1 1計(jì)數(shù)器送控制字。計(jì)數(shù)器送控制字。 OUT OUT 43H43H, ALAL MOV MOVALAL, 1

18、8H 18H ;計(jì)數(shù)初值送低;計(jì)數(shù)初值送低8 8位。位。 OUTOUT41H41H, ALAL8.1.2 8253的編程(續(xù))l當(dāng)采用當(dāng)采用“飛讀飛讀”的方法讀取的方法讀取1 1計(jì)數(shù)器的計(jì)數(shù)值時(shí),可采用計(jì)數(shù)器的計(jì)數(shù)值時(shí),可采用如下程序片段:如下程序片段: MOV MOV ALAL, 010100000100100B 0B ;對(duì);對(duì)1 1計(jì)數(shù)器送鎖存控制字。計(jì)數(shù)器送鎖存控制字。 OUT OUT 43H43H, ALAL IN IN ALAL, 41H 41H ;讀低;讀低8 8位。位。 MOV MOV CLCL, AL AL ;讀取的計(jì)數(shù)值存于;讀取的計(jì)數(shù)值存于CLCL中。中。l當(dāng)計(jì)數(shù)值為當(dāng)計(jì)數(shù)

19、值為1616位時(shí),則位時(shí),則“飛讀飛讀”時(shí)還應(yīng)讀取高時(shí)還應(yīng)讀取高8 8位鎖存器中位鎖存器中的計(jì)數(shù)值。即:的計(jì)數(shù)值。即: IN IN ALAL, 41H 41H ;讀低;讀低8 8位。位。 MOV MOV CLCL, ALAL IN IN ALAL, 41H 41H ;讀高;讀高8 8位。位。 MOV MOV CHCH, ALAL8.1.3 8253的工作方式及時(shí)序圖l82538253定時(shí)器計(jì)數(shù)器的每個(gè)計(jì)數(shù)器都有六種可編程選擇的定時(shí)器計(jì)數(shù)器的每個(gè)計(jì)數(shù)器都有六種可編程選擇的工作方式。工作方式。l對(duì)于每一種工作方式,由時(shí)鐘輸入信號(hào)對(duì)于每一種工作方式,由時(shí)鐘輸入信號(hào)CLKCLK確定計(jì)數(shù)器遞確定計(jì)數(shù)器遞

20、減的速率。減的速率。l門控信號(hào)門控信號(hào)GATEGATE用于允許或禁止用于允許或禁止CLKCLK信號(hào)進(jìn)入計(jì)數(shù)器,或信號(hào)進(jìn)入計(jì)數(shù)器,或者根據(jù)工作方式用作計(jì)數(shù)器的啟動(dòng)信號(hào)。者根據(jù)工作方式用作計(jì)數(shù)器的啟動(dòng)信號(hào)。l計(jì)數(shù)結(jié)束時(shí),在輸出線計(jì)數(shù)結(jié)束時(shí),在輸出線OUTOUT上產(chǎn)生一個(gè)標(biāo)志信號(hào),該信號(hào)上產(chǎn)生一個(gè)標(biāo)志信號(hào),該信號(hào)可編程定義為脈沖、恒定電位或周期信號(hào)??删幊潭x為脈沖、恒定電位或周期信號(hào)。l區(qū)分六種工作方式的主要標(biāo)志有三點(diǎn):區(qū)分六種工作方式的主要標(biāo)志有三點(diǎn):輸出波形不同;輸出波形不同;啟動(dòng)的觸發(fā)方式不同;啟動(dòng)的觸發(fā)方式不同;計(jì)數(shù)過程中門控信號(hào)計(jì)數(shù)過程中門控信號(hào)CATECATE對(duì)計(jì)數(shù)操作的影響不同。對(duì)計(jì)

21、數(shù)操作的影響不同。l現(xiàn)在分別討論不同工作方式的特點(diǎn)?,F(xiàn)在分別討論不同工作方式的特點(diǎn)。8.1.3 8253的工作方式及時(shí)序圖(續(xù))1. 1.方式方式0 0 計(jì)數(shù)結(jié)束產(chǎn)生中斷方式計(jì)數(shù)結(jié)束產(chǎn)生中斷方式8.1.3 8253的工作方式及時(shí)序圖(續(xù))322201CLKGATEOUTWRCWN31. 1.方式方式0 0 計(jì)數(shù)結(jié)束產(chǎn)生中斷方式計(jì)數(shù)結(jié)束產(chǎn)生中斷方式8.1.3 8253的工作方式及時(shí)序圖(續(xù))12120CLKGATEOUTWRCWN2圖圖8.7 8.7 方式方式1 1的波形的波形 2. 2.方式方式1 1 可編程單次脈沖可編程單次脈沖8.1.3 8253的工作方式及時(shí)序圖(續(xù))CLKGATEOUT

22、WRCWN3TOUTN*TCLK1321233圖圖8.8 8.8 方式方式2 2的波形的波形 3. 3.方式方式2 2 分頻工作方式分頻工作方式8.1.3 8253的工作方式及時(shí)序圖(續(xù))2143342CLKGATEOUTWRCWN4TOUTN*TCLK圖圖8.9 8.9 方式方式3 3的波形的波形 4. 4.方式方式3 3 方波發(fā)生器方波發(fā)生器8.1.3 8253的工作方式及時(shí)序圖(續(xù))21034CLKGATEOUTWRCWN45. 5.方式方式4 4 軟件觸發(fā)選通軟件觸發(fā)選通8.1.3 8253的工作方式及時(shí)序圖(續(xù))04312CLKGATEOUTWRCWN46. 6.方式方式5 5 硬件

23、觸發(fā)選通硬件觸發(fā)選通8.1.3 8253的工作方式及時(shí)序圖(續(xù))8253工作方式小結(jié)l輸出端輸出端OUTOUT的初始狀態(tài)的初始狀態(tài)l只有方式只有方式0 0是在寫入控制字后輸出為低,其他均為高是在寫入控制字后輸出為低,其他均為高l計(jì)數(shù)值的設(shè)置計(jì)數(shù)值的設(shè)置l任一種方式,只有在寫入計(jì)數(shù)值之后才能開始計(jì)數(shù),方任一種方式,只有在寫入計(jì)數(shù)值之后才能開始計(jì)數(shù),方式式0 0、2 2、3 3、4 4在寫入計(jì)數(shù)值之后,計(jì)數(shù)自動(dòng)開始,方式在寫入計(jì)數(shù)值之后,計(jì)數(shù)自動(dòng)開始,方式1 1、5 5需要外部觸發(fā)才開始計(jì)數(shù)需要外部觸發(fā)才開始計(jì)數(shù)計(jì)數(shù)值N與輸出波形的關(guān)系方式方式功能功能N N與輸出波形的關(guān)系與輸出波形的關(guān)系0 0計(jì)

24、完最后一個(gè)數(shù)中斷計(jì)完最后一個(gè)數(shù)中斷寫入計(jì)數(shù)值寫入計(jì)數(shù)值N N后,經(jīng)過后,經(jīng)過N N+1+1個(gè)個(gè)CLKCLK脈沖輸出變高脈沖輸出變高1 1硬件再觸發(fā)單拍脈沖硬件再觸發(fā)單拍脈沖單拍負(fù)脈沖的寬度為單拍負(fù)脈沖的寬度為N N個(gè)個(gè)CLKCLK脈沖脈沖2 2速率發(fā)生器(分頻)速率發(fā)生器(分頻)N N個(gè)個(gè)CLKCLK脈沖,輸出寬度為一個(gè)脈沖,輸出寬度為一個(gè)CLKCLK周期的負(fù)脈沖周期的負(fù)脈沖3 3方波發(fā)生器方波發(fā)生器寫入寫入N N后,輸出后,輸出N/2N/2個(gè)個(gè)CLKCLK高電平,高電平,N/2N/2個(gè)個(gè)CLKCLK低電低電平(平(N N為偶數(shù));(為偶數(shù));(N+1N+1)/2/2個(gè)個(gè)CLKCLK高電平,(

25、高電平,(N-1N-1)/2/2個(gè)個(gè)CLKCLK低電平(低電平(N N為奇數(shù))為奇數(shù))4 4軟件觸發(fā)選通軟件觸發(fā)選通寫入寫入N N后,經(jīng)過后,經(jīng)過N+1N+1個(gè)個(gè)CLKCLK,輸出寬度為一個(gè),輸出寬度為一個(gè)CLKCLK的負(fù)脈沖的負(fù)脈沖5 5硬件觸發(fā)選通硬件觸發(fā)選通門控觸發(fā)后經(jīng)過門控觸發(fā)后經(jīng)過N+1N+1個(gè)個(gè)CLKCLK,輸出寬度為一個(gè),輸出寬度為一個(gè)CLKCLK的負(fù)脈沖的負(fù)脈沖門控信號(hào)的作用lGATEGATE輸入總是在輸入總是在CLKCLK輸入時(shí)鐘的上升沿被采樣。輸入時(shí)鐘的上升沿被采樣。l在方式在方式0 0、2 2、3 3、4 4中,中,GATEGATE輸入是電平起作用。輸入是電平起作用。l在

26、方式在方式1 1、2 2、3 3、5 5中,中,GATEGATE輸入是上升沿起作用。輸入是上升沿起作用。方式方式功能功能GATEGATE低或變?yōu)榈偷突蜃優(yōu)榈蜕仙厣仙馗吒? 計(jì)完最后一個(gè)數(shù)中斷 禁止計(jì)數(shù) 允許計(jì)數(shù)1 硬件再觸發(fā)單拍脈沖 啟動(dòng)計(jì)數(shù) 下一個(gè)CLK脈沖使輸出變低2 速率發(fā)生器(分頻) 禁止計(jì)數(shù) 立即使輸出為高 重新裝入計(jì)數(shù)值 啟動(dòng)計(jì)數(shù) 允許計(jì)數(shù)3 方波發(fā)生器 禁止計(jì)數(shù) 立即使輸出為高 啟動(dòng)計(jì)數(shù) 允許計(jì)數(shù)4 軟件觸發(fā)選通 禁止計(jì)數(shù) 允許計(jì)數(shù)5 硬件觸發(fā)選通 啟動(dòng)計(jì)數(shù)在計(jì)數(shù)過程中改變計(jì)數(shù)值l說明:說明:“立即有效立即有效”是指寫入計(jì)數(shù)值后的下一個(gè)是指寫入計(jì)數(shù)值后的下一個(gè)CLKCLK脈沖

27、后,新的計(jì)數(shù)值開始起作用。脈沖后,新的計(jì)數(shù)值開始起作用。方式方式功能功能改變計(jì)數(shù)值改變計(jì)數(shù)值0 0計(jì)完最后一個(gè)數(shù)中斷計(jì)完最后一個(gè)數(shù)中斷立即有效立即有效1 1硬件再觸發(fā)單拍脈沖硬件再觸發(fā)單拍脈沖外部觸發(fā)后有效外部觸發(fā)后有效2 2速率發(fā)生器(分頻)速率發(fā)生器(分頻)計(jì)數(shù)到計(jì)數(shù)到1 1后有效后有效3 3方波發(fā)生器方波發(fā)生器外部觸發(fā)后有效外部觸發(fā)后有效計(jì)數(shù)到計(jì)數(shù)到0 0后有效后有效4 4軟件觸發(fā)選通軟件觸發(fā)選通立即有效立即有效5 5硬件觸發(fā)選通硬件觸發(fā)選通外部觸發(fā)后有效外部觸發(fā)后有效8.1.4 8254與8253的區(qū)別l82548254是是82538253的改進(jìn)型,它們的引腳定義與排列、硬件組成的改進(jìn)

28、型,它們的引腳定義與排列、硬件組成等基本上是相同的。因此等基本上是相同的。因此82548254的編程方式與的編程方式與82538253是兼容的是兼容的,凡是使用,凡是使用82538253的地方均可用的地方均可用82548254代替。代替。l 允許最高計(jì)數(shù)脈沖允許最高計(jì)數(shù)脈沖(CLK)(CLK)的頻率不同。的頻率不同。82538253的最高頻率的最高頻率為為2 MHz2 MHz,而,而82548254允許的最高計(jì)數(shù)脈沖頻率可達(dá)允許的最高計(jì)數(shù)脈沖頻率可達(dá)10 10 MHz(8254MHz(8254為為8 MHz8 MHz,8254282542為為10 MHz)10 MHz)。l 8254 8254

29、每個(gè)計(jì)數(shù)器內(nèi)部都有一個(gè)狀態(tài)寄存器和狀態(tài)鎖存器每個(gè)計(jì)數(shù)器內(nèi)部都有一個(gè)狀態(tài)寄存器和狀態(tài)鎖存器,而,而82538253沒有。沒有。l 82548254有一個(gè)讀回命令字,用于讀出當(dāng)前減有一個(gè)讀回命令字,用于讀出當(dāng)前減1 1計(jì)數(shù)器計(jì)數(shù)器CECE的的內(nèi)容和狀態(tài)寄存器的內(nèi)容,而內(nèi)容和狀態(tài)寄存器的內(nèi)容,而82538253沒有此讀回命令字。沒有此讀回命令字。 8.1.5 8253應(yīng)用舉例l例例8.2 8.2 使用使用82538253計(jì)數(shù)器計(jì)數(shù)器2 2產(chǎn)生頻率為產(chǎn)生頻率為40 kHz40 kHz的方波,的方波,設(shè)設(shè)82538253的端口地址為的端口地址為0040H0040H 0043H0043H,已知時(shí)鐘端,已知

30、時(shí)鐘端CLKCLK2 2輸入信號(hào)的頻率為輸入信號(hào)的頻率為2 MHz2 MHz。試設(shè)計(jì)。試設(shè)計(jì)82538253與與80888088總線的接口電路,并編寫產(chǎn)生方波的程序??偩€的接口電路,并編寫產(chǎn)生方波的程序。8253與8088總線的接口電路圖& 74LS138ABC8253D0A0CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2D7D7D0RDWRA1CS0Y1G2BG2AG1&A0A1A2A3A4A5A6A7A8A9A15WRRDIOM2MHz40kHz8.1.5 8253應(yīng)用舉例(續(xù))l1 1 工作方式控制字工作方式控制字l2 2 計(jì)數(shù)初值:計(jì)數(shù)初值:l計(jì)數(shù)初值計(jì)

31、數(shù)初值= =輸入頻率輸入頻率/ /輸出頻率輸出頻率 =2000000Hz/40000Hz =2000000Hz/40000Hz =50 =50 =0032H =0032HD7D6D5D4D3D2D1D0SC1RL1M1M0M2BCDSC0RL0111101108.1.5 8253應(yīng)用舉例(續(xù))l根據(jù)上述要求根據(jù)上述要求2 2計(jì)數(shù)器應(yīng)設(shè)置成方式計(jì)數(shù)器應(yīng)設(shè)置成方式3 3工作狀態(tài),工作狀態(tài),按雙字節(jié)傳送的按雙字節(jié)傳送的5050分頻計(jì)數(shù)值應(yīng)為分頻計(jì)數(shù)值應(yīng)為0032H0032H。此時(shí),。此時(shí),2 2計(jì)數(shù)器的初始化程序如下:計(jì)數(shù)器的初始化程序如下:MOV MOV ALAL, 11110110B 11110

32、110B ;對(duì);對(duì)2 2計(jì)數(shù)器送控制字。計(jì)數(shù)器送控制字。OUT OUT 43H43H, ALALMOV MOV ALAL, 32H 32H ;送低;送低8 8位計(jì)數(shù)值位計(jì)數(shù)值32H32H。OUT OUT 42H42H, AL AL XOR XOR ALAL, AL AL ;送高;送高8 8位計(jì)數(shù)值位計(jì)數(shù)值00H00H。OUT OUT 42H42H, ALALl例:用例:用82538253產(chǎn)生各種定時(shí)波形。要求:產(chǎn)生各種定時(shí)波形。要求:OUT0OUT0輸出頻率寬度為輸出頻率寬度為2KHz2KHz的方波的方波OUT1OUT1產(chǎn)生寬度為產(chǎn)生寬度為1ms1ms的負(fù)脈沖的負(fù)脈沖OUT2OUT2以硬件觸發(fā)

33、方式,輸出單脈沖,時(shí)間常數(shù)為以硬件觸發(fā)方式,輸出單脈沖,時(shí)間常數(shù)為2626已知:已知:82538253基地址為基地址為310H310H,3 3個(gè)計(jì)數(shù)器所用的時(shí)鐘脈個(gè)計(jì)數(shù)器所用的時(shí)鐘脈沖頻率為沖頻率為1MHz1MHz。l分析:分析:l計(jì)數(shù)器計(jì)數(shù)器0 0工作于方式工作于方式3 3,門控信號(hào),門控信號(hào)GATE0GATE0接接+5v+5v,計(jì)數(shù)初值,計(jì)數(shù)初值N0=1MHz/2KHz=500N0=1MHz/2KHz=500;l計(jì)數(shù)器計(jì)數(shù)器1 1工作于方式工作于方式1 1,由門控信號(hào),由門控信號(hào)GATE1GATE1的正跳變觸發(fā),的正跳變觸發(fā),O U T 1O U T 1 的 寬 度 為 時(shí) 常 , 單 次

34、 觸 發(fā) , 計(jì) 數(shù) 初 值的 寬 度 為 時(shí) 常 , 單 次 觸 發(fā) , 計(jì) 數(shù) 初 值N1=1ms/0.001ms=1000N1=1ms/0.001ms=1000;l計(jì)數(shù)器計(jì)數(shù)器2 2工作于方式工作于方式5 5,由門控信號(hào),由門控信號(hào)GATE2GATE2的正跳變觸發(fā),的正跳變觸發(fā),可連續(xù)觸發(fā),計(jì)數(shù)初值為可連續(xù)觸發(fā),計(jì)數(shù)初值為N2=26N2=26。l計(jì)數(shù)器的初始化程序:計(jì)數(shù)器的初始化程序:MOVMOVDX,DX,316H316HMOVMOVAL,AL,37H37HOUTOUTDX,DX,ALALMOVMOVDX,DX,310H310HMOVMOVAL,AL,00H00HOUTOUTDX,DX

35、,ALALMOVMOVAL,AL,05H05HOUTOUTDX,DX,ALALl計(jì)數(shù)器計(jì)數(shù)器1 1的初始化程序:的初始化程序:MOVMOVDX,DX,316H316HMOVMOVAL,AL,73H73HOUTOUTDX,DX,ALALMOVMOVDX,DX,312H312HMOVMOVAL,AL,00H00HOUTOUTDX,DX,ALALMOVMOVAL,AL,10H10HOUTOUTDX,DX,ALALl計(jì)數(shù)器計(jì)數(shù)器2 2的初始化程序:的初始化程序:MOVMOVDX,DX,316H316HMOVMOVAL,AL,9BH9BHOUTOUTDX,DX,ALALMOVMOVDX,DX,314H3

36、14HMOVMOVAL,AL,26H26HOUTOUTDX,DX,ALALl例:例:82538253作為定時(shí)作為定時(shí)/ /計(jì)數(shù)器,其端口地址為計(jì)數(shù)器,其端口地址為0120H 0120H 0123H0123H,輸入,輸入82538253的時(shí)鐘頻率是的時(shí)鐘頻率是2MHz2MHz,要求:,要求:lCNT0CNT0每每10ms10ms輸出一個(gè)輸出一個(gè)CLKCLK周期寬的負(fù)脈沖周期寬的負(fù)脈沖lCNT1CNT1輸出輸出10KHz10KHz的連續(xù)方波信號(hào)的連續(xù)方波信號(hào)lCNT2CNT2在定時(shí)在定時(shí)5ms5ms后輸出高電平后輸出高電平l畫出線路連接圖,并編寫初始化程序。畫出線路連接圖,并編寫初始化程序。l分析

37、:分析:l計(jì)算計(jì)數(shù)初值:計(jì)算計(jì)數(shù)初值:lCNT0CNT0:10ms/0.510ms/0.5 s = 20000s = 20000lCNT1CNT1:2MHz/10KHz = 2002MHz/10KHz = 200 lCNT2CNT2:5ms/0.55ms/0.5 s = 10000s = 10000l確定控制字:確定控制字:lCNT0CNT0:方式:方式2 2,1616位計(jì)數(shù)值位計(jì)數(shù)值 0011010000110100,34H34HlCNT1CNT1:方式:方式3 3,低,低8 8位計(jì)數(shù)值位計(jì)數(shù)值 0101011001010110,56H56HlCNT2CNT2:方式:方式0 0,1616位計(jì)

38、數(shù)值位計(jì)數(shù)值 1011000010110000,B0HB0H計(jì)數(shù)器計(jì)數(shù)器0 0的初始化的初始化MOVDX,0123HMOVAL,34HOUTDX,ALMOVDX,0120HMOVAX,20000OUTDX,ALMOVAL,AHOUTDX, AL計(jì)數(shù)器計(jì)數(shù)器1 1的初始化的初始化MOVDX,0123HMOVAL,56HOUTDX,ALMOVDX,0121HMOVAL,200OUTDX,AL計(jì)數(shù)器計(jì)數(shù)器2 2的初始化的初始化MOVDX,0123HMOVAL,0B0HOUTDX,ALMOVDX,0122HMOVAX,10000OUTDX,ALMOVAL,AHOUTDX, ALl例:例:8253825

39、3控制控制LEDLED。要求。要求LEDLED點(diǎn)亮點(diǎn)亮1010秒,熄滅秒,熄滅1010秒秒l分析:分析:l假設(shè)假設(shè)82538253的數(shù)據(jù)線與的數(shù)據(jù)線與CPUCPU的高的高8 8位數(shù)據(jù)線位數(shù)據(jù)線D8D15D8D15相連,相連,82538253各端口的地址為各端口的地址為81H81H、83H83H、85H85H、87H87HlOUT1OUT1輸出占空比為輸出占空比為1:11:1的方波,的方波,82538253端口端口1 1 工作在方式工作在方式3 3l時(shí)鐘頻率為時(shí)鐘頻率為2MHz2MHz時(shí),時(shí),1616位計(jì)數(shù)通道的最大定時(shí)時(shí)間為位計(jì)數(shù)通道的最大定時(shí)時(shí)間為:0.50.5 s s* *65536=32

40、.768ms65536=32.768msl級(jí)連:級(jí)連:OUT0OUT0輸出輸出400Hz400Hz脈沖(計(jì)數(shù)初值為脈沖(計(jì)數(shù)初值為50005000),),OUT2OUT2輸出輸出0.05Hz0.05Hz方波(計(jì)數(shù)初值為方波(計(jì)數(shù)初值為80008000)計(jì)數(shù)器計(jì)數(shù)器0 0的初始化的初始化MOVAL,35HOUT87H,ALMOVAL,00HOUT81H,ALMOVAL,50HOUT81H, AL計(jì)數(shù)器計(jì)數(shù)器1 1的初始化的初始化MOVAL,77HOUT87H,ALMOVAL,00HOUT83H,ALMOVAL,80HOUT83H, ALl例:用例:用82538253設(shè)計(jì)一個(gè)自動(dòng)計(jì)數(shù)系統(tǒng)(計(jì)數(shù)設(shè)計(jì)

41、一個(gè)自動(dòng)計(jì)數(shù)系統(tǒng)(計(jì)數(shù)500500向向CPUCPU提出中斷申請(qǐng))。已知提出中斷申請(qǐng))。已知82538253的端口地址為:的端口地址為:F0HF0H,F(xiàn)2HF2H,F(xiàn)4HF4H,F(xiàn)6HF6H。l分析:分析:l82538253的計(jì)數(shù)器的計(jì)數(shù)器1 1工作于方式工作于方式0 0,按十進(jìn)制計(jì)數(shù),先讀寫低,按十進(jìn)制計(jì)數(shù),先讀寫低字節(jié),后讀寫高字節(jié)。字節(jié),后讀寫高字節(jié)。l初始化代碼:初始化代碼:MOVMOVAL,AL,71H71HOUTOUT0F6H,0F6H,ALALMOVMOVAL,AL,99H99HOUTOUT0F2H,0F2H,ALALMOVMOVAL,AL,04H04HOUTOUT0F2H,0F2

42、H,ALALl當(dāng)前計(jì)數(shù)值的讀取:當(dāng)前計(jì)數(shù)值的讀?。簂利用門控信號(hào)利用門控信號(hào)GATE1GATE1使計(jì)數(shù)器停止計(jì)數(shù)。這種方式干擾使計(jì)數(shù)器停止計(jì)數(shù)。這種方式干擾了計(jì)數(shù)過程,需要硬件電路配合了計(jì)數(shù)過程,需要硬件電路配合l利用計(jì)數(shù)器鎖存命令鎖存現(xiàn)行計(jì)數(shù)值,就可以從相應(yīng)的利用計(jì)數(shù)器鎖存命令鎖存現(xiàn)行計(jì)數(shù)值,就可以從相應(yīng)的鎖存器鎖存器OL1OL1中讀取計(jì)數(shù)值。中讀取計(jì)數(shù)值。l讀計(jì)數(shù)器讀計(jì)數(shù)器1 1計(jì)數(shù)值的程序:計(jì)數(shù)值的程序:MOVMOVAL,AL,40H40HOUTOUT0F6H,0F6H,ALALININAL,AL,0F2H0F2HMOVMOVAH, AH, ALALININAL,AL,0F2H0F2HX

43、CHGXCHGAH,AH,ALALl例:如下頁圖所示為一自動(dòng)計(jì)數(shù)系統(tǒng)。當(dāng)工件例:如下頁圖所示為一自動(dòng)計(jì)數(shù)系統(tǒng)。當(dāng)工件從光源與光敏電阻之間通過時(shí),從光源與光敏電阻之間通過時(shí),CLK0CLK0端即可接端即可接收到一個(gè)脈沖信號(hào),由計(jì)數(shù)器收到一個(gè)脈沖信號(hào),由計(jì)數(shù)器0 0計(jì)數(shù)。每當(dāng)有計(jì)數(shù)。每當(dāng)有5050個(gè)工件通過后,由輸出端個(gè)工件通過后,由輸出端OUT0OUT0輸出一個(gè)負(fù)脈沖輸出一個(gè)負(fù)脈沖作為中斷請(qǐng)求信號(hào)通知作為中斷請(qǐng)求信號(hào)通知CPUCPU。CPUCPU在處理該中斷在處理該中斷的中斷服務(wù)程序中啟動(dòng)計(jì)數(shù)器的中斷服務(wù)程序中啟動(dòng)計(jì)數(shù)器1 1,由,由OUT1OUT1產(chǎn)生產(chǎn)生2KHz2KHz的方波驅(qū)動(dòng)蜂鳴器發(fā)聲,

44、提示工件已滿的方波驅(qū)動(dòng)蜂鳴器發(fā)聲,提示工件已滿5050個(gè),個(gè),5 5秒后揚(yáng)聲器停止發(fā)聲。秒后揚(yáng)聲器停止發(fā)聲。l分析:分析:l計(jì)數(shù)器計(jì)數(shù)器0 0工作于方式工作于方式2 2,計(jì)數(shù)初值為,計(jì)數(shù)初值為5050;l計(jì)數(shù)器計(jì)數(shù)器1 1工作于方式工作于方式3 3,其計(jì)數(shù)初值為,其計(jì)數(shù)初值為 2.5MHz/2KHz = 12502.5MHz/2KHz = 1250,其門控信號(hào),其門控信號(hào)GATE1GATE1由由8255A8255A的的PA0PA0控制,輸出方波信號(hào)經(jīng)控制,輸出方波信號(hào)經(jīng)驅(qū)動(dòng)、濾波后送揚(yáng)聲器;驅(qū)動(dòng)、濾波后送揚(yáng)聲器;l設(shè):端口設(shè):端口0 0的地址為的地址為4040H H,端口端口1 1的地址為的地

45、址為4141H H,控制口地址控制口地址為為4343H H,8255A8255A的端口地址為的端口地址為8080H H。主程序?yàn)椋篗OVAL,15HOUT43H,ALMOVAL,50HOUT40H,ALSTILP:HLTJMPLP中斷服務(wù)程序?yàn)椋篗OVAL,01HOUT80H,ALMOVAL,77HOUT43H,ALMOVAL,50HOUT41H,ALMOVAL,12HOUT41H,ALCALLDL5SMOVAL,00HOUT80H,ALIRET8.2 可編程并行接口芯片8255Al8.2.1 8255A8.2.1 8255A的引腳與結(jié)構(gòu)的引腳與結(jié)構(gòu)l1 18255A8255A的引腳的引腳l8

46、255A8255A是可編程的并行輸入輸出接口芯片,它具有三個(gè)是可編程的并行輸入輸出接口芯片,它具有三個(gè)8 8位位并行端口并行端口(A(A口、口、B B口和口和C C口口) ),具有,具有4040個(gè)引腳,雙列直插式封個(gè)引腳,雙列直插式封裝,由裝,由+5V+5V供電,其引腳與功能示意圖如圖供電,其引腳與功能示意圖如圖8.148.14所示。所示。 8255A12345678910111213141516171819202524232221262728293031323334353738394036A組8255AA口C口C口B口B組圖圖8.14 8255A引腳及功能引腳及功能示意圖示意圖 (a) 引腳

47、;引腳;(b) 功能示意圖功能示意圖 8.2.1 8255A的引腳與結(jié)構(gòu)(續(xù))lA A口、口、 B B口、口、 C C口:口:8 8位數(shù)據(jù)輸入鎖存器和位數(shù)據(jù)輸入鎖存器和8 8位數(shù)據(jù)輸出鎖存位數(shù)據(jù)輸出鎖存器緩沖器。器緩沖器。lD D0 0 D D7 7: : 數(shù)據(jù)線,三態(tài)雙向數(shù)據(jù)線,三態(tài)雙向8 8位緩沖器。位緩沖器。lRESETRESET:復(fù)位信號(hào),高電平有效。:復(fù)位信號(hào),高電平有效。8255A8255A復(fù)位后,所有復(fù)位后,所有I IO O均處于輸入狀態(tài)。均處于輸入狀態(tài)。lCSCS:片選端,低電平有效。:片選端,低電平有效。lA A0 0 A A1 1:地址線,用于選擇端口。:地址線,用于選擇端

48、口。lRDRD:讀控制線,低電平有效。:讀控制線,低電平有效。lWRWR:寫控制線,低電平有效。:寫控制線,低電平有效。8.2.1 8255A的引腳與結(jié)構(gòu)(續(xù))l2 8255A2 8255A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)l8255A8255A的內(nèi)部結(jié)構(gòu)框圖如圖的內(nèi)部結(jié)構(gòu)框圖如圖8.158.15所示,其內(nèi)部由以下四部分所示,其內(nèi)部由以下四部分組成。組成。 l1) 1) 端口端口A A、端口、端口B B和端口和端口C Cl端口端口A A、端口、端口B B和端口和端口C C都是都是8 8位端口,可以選擇作為輸入或位端口,可以選擇作為輸入或輸出。還可以將端口輸出。還可以將端口C C的高的高4 4位和低位和低4

49、4位分開使用,分別作為位分開使用,分別作為輸入或輸出。當(dāng)端口輸入或輸出。當(dāng)端口A A和端口和端口B B作為選通輸入或輸出的數(shù)據(jù)作為選通輸入或輸出的數(shù)據(jù)端口時(shí),端口端口時(shí),端口C C的指定位與端口的指定位與端口A A和端口和端口B B配合使用,用做配合使用,用做控制信號(hào)或狀態(tài)信號(hào)??刂菩盘?hào)或狀態(tài)信號(hào)。 B 組控制部件內(nèi)部 DB (8)數(shù)據(jù)總線緩沖器讀/寫控制邏輯RESETA0A組端口A(8)A組端口C(高4位)B組端口C(低4位)B組端口B(8)A 組控制部件PA7PA0PC7PC4PC3PC0PB7PB0D7D0CSA1RDWR圖圖8.15 8255A8.15 8255A內(nèi)部結(jié)構(gòu)框圖內(nèi)部結(jié)構(gòu)框

50、圖 l2) A2) A組控制和組控制和B B組控制部件組控制部件l這兩組控制部件有兩個(gè)功能:這兩組控制部件有兩個(gè)功能:接收來自芯片內(nèi)部數(shù)據(jù)總線上的控制字;接收來自芯片內(nèi)部數(shù)據(jù)總線上的控制字;接收來自讀寫控制邏輯電路的讀寫命令,以此來決定兩組端口接收來自讀寫控制邏輯電路的讀寫命令,以此來決定兩組端口的工作方式和讀寫操作。的工作方式和讀寫操作。l3) 3)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器l它是一個(gè)雙向三態(tài)的它是一個(gè)雙向三態(tài)的8 8位數(shù)據(jù)緩沖器位數(shù)據(jù)緩沖器,8255A,8255A正是通過它與系正是通過它與系統(tǒng)數(shù)據(jù)總線相連。統(tǒng)數(shù)據(jù)總線相連。l輸入數(shù)據(jù)、輸出數(shù)據(jù)、輸入數(shù)據(jù)、輸出數(shù)據(jù)、CPUCPU發(fā)給發(fā)給82

51、55A8255A的控制字都是通過該的控制字都是通過該部件傳遞的。部件傳遞的。8.2.1 8255A的引腳與結(jié)構(gòu)(續(xù))l4) 4) 讀寫控制邏輯電路讀寫控制邏輯電路l讀讀/ /寫控制邏輯電路的功能是負(fù)責(zé)管理寫控制邏輯電路的功能是負(fù)責(zé)管理8255A8255A的數(shù)據(jù)傳輸過的數(shù)據(jù)傳輸過程。它接收程。它接收CSCS及來自地址總線的信號(hào)及來自地址總線的信號(hào)A A1 1、A A0 0( (在在80868086總線中總線中為為A A2 2、A A1 1) )和控制總線的信號(hào)和控制總線的信號(hào)RESETRESET、WRWR、RDRD,將它們組,將它們組合后,得到對(duì)合后,得到對(duì)A A組控制部件和組控制部件和B B組

52、控制部件的控制命令,并組控制部件的控制命令,并將命令送給這兩個(gè)部件,再由它們完成對(duì)數(shù)據(jù)信息,狀態(tài)將命令送給這兩個(gè)部件,再由它們完成對(duì)數(shù)據(jù)信息,狀態(tài)信息和控制信息的傳輸。信息和控制信息的傳輸。8.2.1 8255A的引腳與結(jié)構(gòu)(續(xù))l3 3、8255A8255A尋址方式尋址方式l8255A8255A內(nèi)部有內(nèi)部有3 3個(gè)個(gè)I IO O端口和一個(gè)控制字端口,通過地址線端口和一個(gè)控制字端口,通過地址線A A0 0、A A1 1,讀寫控制線,讀寫控制線RDRD、WRWR與片選端與片選端CSCS進(jìn)行尋址并實(shí)現(xiàn)進(jìn)行尋址并實(shí)現(xiàn)相應(yīng)的操作。相應(yīng)的操作。l表表 8.18.1是是8255A8255A的尋址與相應(yīng)操作

53、。的尋址與相應(yīng)操作。8.2.1 8255A的引腳與結(jié)構(gòu)(續(xù))表表8.1 8255A8.1 8255A各端口讀各端口讀/ /寫操作時(shí)的信號(hào)關(guān)系寫操作時(shí)的信號(hào)關(guān)系 CSRDWRA1A0操作01000寫端口A01001寫端口B01010寫端口C01011寫控制寄存器00100讀端口A00101讀端口B00110讀端口C00111無操作8.2.2 8255A的工作方式與控制字l1 18255A8255A的工作方式的工作方式l8255A8255A在使用前要先寫入一個(gè)工作方式控制字,以指定在使用前要先寫入一個(gè)工作方式控制字,以指定A A、B B、C C三個(gè)端口各自的工作方式。三個(gè)端口各自的工作方式。l82

54、55A8255A共有三種工作方式:共有三種工作方式:方式方式0 0基本輸入輸出方式:基本輸入輸出方式:l即無須聯(lián)絡(luò)就可以直接進(jìn)行即無須聯(lián)絡(luò)就可以直接進(jìn)行8255A8255A與外設(shè)之間的數(shù)據(jù)與外設(shè)之間的數(shù)據(jù)輸入或輸出操作,數(shù)據(jù)輸出有鎖存,輸入不能鎖存。輸入或輸出操作,數(shù)據(jù)輸出有鎖存,輸入不能鎖存。lA A口、口、B B口、口、C C口的高口的高4 4位和低位和低4 4位均可設(shè)置為方式位均可設(shè)置為方式0 0。 方式方式0 0適用于適用于無條件無條件數(shù)據(jù)傳送,也可以把數(shù)據(jù)傳送,也可以把C C口的某一位作為狀態(tài)口的某一位作為狀態(tài)位,實(shí)現(xiàn)查詢方式的位,實(shí)現(xiàn)查詢方式的數(shù)據(jù)傳送。數(shù)據(jù)傳送。選通8255AA口

55、PC1輸出設(shè)備準(zhǔn)備好準(zhǔn)備好清除PC7PC6PC0B口輸入設(shè)備8.2.2 8255A的工作方式與控制字(續(xù))8.2.2 8255A的工作方式與控制字(續(xù))l例如,要求例如,要求8255A8255A的的A A口和口和B B口均工作于方式口均工作于方式0, 0, A A口口和下和下C C口作輸入口口作輸入口, , B B口和上口和上C C口作輸出口口作輸出口, ,設(shè)設(shè)82558255A A各端口地址為各端口地址為6 60 0H63HH63H:MOVMOV AL AL,91H91H;方式控制字方式控制字1001000110010001B B ALALOUTOUT 63H 63H,ALAL;方式控制字送

56、控制寄存器方式控制字送控制寄存器 方式方式1 1選通輸入輸出方式:選通輸入輸出方式:l此時(shí)此時(shí)8255A8255A的的A A口和口和B B口與外設(shè)之間進(jìn)行輸入或輸出操作口與外設(shè)之間進(jìn)行輸入或輸出操作時(shí),這兩個(gè)時(shí),這兩個(gè)8 8位數(shù)據(jù)口的輸入、輸出數(shù)據(jù)都能鎖存,但位數(shù)據(jù)口的輸入、輸出數(shù)據(jù)都能鎖存,但必須在聯(lián)絡(luò)信號(hào)的控制下完成必須在聯(lián)絡(luò)信號(hào)的控制下完成I/OI/O操作,操作,端口端口C C的部分引的部分引腳用來產(chǎn)生或接收這些聯(lián)絡(luò)信號(hào)。腳用來產(chǎn)生或接收這些聯(lián)絡(luò)信號(hào)。l只有只有A A口和口和B B口可工作于方式口可工作于方式1 1。 8.2.2 8255A的工作方式與控制字(續(xù))選通輸入方式l此時(shí)此時(shí)P

57、C35 PC35 和和PC02PC02分別用作分別用作A A口和口和B B口的狀態(tài)和控制線口的狀態(tài)和控制線, , PC6PC6和和PC7PC7用作用作I/OI/O線線。PA7PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O線&INTEAoRD方式方式1(A口口)PB7PB08PC2STBBPC1IBFBPC0INTRB&INTEBoRD方式方式1(B口口)IBF輸入緩沖器滿信號(hào),高電平有效,由8255A輸出的狀態(tài)信號(hào),表示輸入緩沖器已滿,向外設(shè)指明不能再送入數(shù)據(jù)。INTE 中斷允許信號(hào)。是控制8255A能否向CPU發(fā)中斷請(qǐng)求信號(hào),它沒有外部引腳,INTEA、INTEB是由

58、用戶對(duì)PC4、PC2按位置位實(shí)現(xiàn)的。PA7PA08PC4STBAPC5IBFAPC3INTRAPC6PC7I/O線&INTEAoRD方式1 (A口)各控制聯(lián)絡(luò)信號(hào)的意義 STB數(shù)據(jù)選通輸入信號(hào),低電平有效,由外設(shè)輸入;INTR中斷請(qǐng)求信號(hào),高電平有效。是8255A向CPU發(fā)出的請(qǐng)求中斷信號(hào),要求CPU服務(wù)。當(dāng) IBF =1、STB =1且 INTE =1時(shí),INTR =1。選通輸出方式這時(shí)PC3、PC6和PC7作A口的應(yīng)答信號(hào),PC0、PC1和PC2作B口的應(yīng)答信號(hào)。余下的PC4和PC5可作輸入或輸出線。PA7PA08PC6ACKAOBFAPC3INTRAPC4PC5I/O線&INTEAoWR

59、方式方式1輸出輸出 (A口口)PC7PB7PB08PC2ACKBPC1OBFBPC0INTRB&INTEBoWR方式方式1輸出輸出 (B口口)ACK外設(shè)的回答信號(hào),低電平有效,由外設(shè)送給8255A。表示CPU送到指定端口的數(shù)據(jù)已被外設(shè)接受。各應(yīng)答信號(hào)的意義OBF輸出緩沖器滿信號(hào),輸出,低電平有效。表示CPU已輸出數(shù)據(jù)到指定端口。INTE中斷允許信號(hào)。 INTEA、INTEB是由用戶對(duì)PC6、PC2按位置位實(shí)現(xiàn)的。PA7PA08PC6ACKAPC7OBFAPC3INTRAPC4PC5I/O線&INTEAoWR方式1輸出 (A口)INTR中斷請(qǐng)求信號(hào),高電平有效。當(dāng) ACK =1、OBF =1且

60、INTE =1時(shí),INTR =1。方式方式2 2選通雙向輸入輸出方式:選通雙向輸入輸出方式:l即同一端口的即同一端口的I/OI/O線既可以輸入也可以輸出,只有線既可以輸入也可以輸出,只有A A口可口可工作于方式工作于方式2 2,此種方式下需要,此種方式下需要C C口的部分口的部分I/OI/O線提供聯(lián)線提供聯(lián)絡(luò)信號(hào)。絡(luò)信號(hào)。 l這時(shí)這時(shí)PA7PA0PA7PA0作為雙向數(shù)據(jù)總線,作為雙向數(shù)據(jù)總線,PC3 PC7PC3 PC7用作用作A A口的口的聯(lián)絡(luò)控制信號(hào)。聯(lián)絡(luò)控制信號(hào)。PC2PC0PC2PC0可用作可用作B B口的應(yīng)答信號(hào)線口的應(yīng)答信號(hào)線,或或作作I/OI/O線。線。8.2.2 8255A的工

溫馨提示

  • 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)論