




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
會計學(xué)1常用接口芯片及應(yīng)用18一月202322第6章常用接口芯片及應(yīng)用
希望硬件接口電路最好具有一定的可變性,即希望存在這么一種芯片,當這個芯片與CPU相連后,盡管電路不能改變,但其功能可通過程序改變。(如設(shè)計某具有O/I功能的端口,可根據(jù)需要通過指令來選擇輸入接口或輸出接口),大大提高計算機系統(tǒng)靈活性。第1頁/共257頁18一月20233第6章常用接口芯片及應(yīng)用
這種可被用戶通過程序來改變功能的電路芯片,稱為可編程芯片,而用程序改變芯片工作方式的過程稱為芯片編程或芯片初始化。第2頁/共257頁18一月20234第6章常用接口芯片及應(yīng)用
如圖是一個簡單的具有輸入功能和輸出功能的可編程接口電路,它包括一個輸入接口,其組成主要是八位的三態(tài)門;一個輸出接口,其組成主要是八位的鎖存器;另外還有八位的多路轉(zhuǎn)換開關(guān)及控制這個開關(guān)的寄存器FF。第3頁/共257頁18一月20235第6章常用接口芯片及應(yīng)用
FF=0,開關(guān)接位置“0”I/O線接鎖存器,電路作為輸出接口。FF=1,開關(guān)接位置“1”I/O線接三態(tài)門,電路作為輸入接口。用戶通過指令把寄存器FF寫入0或1,就可選取所需接口工作狀態(tài)。第4頁/共257頁18一月20236第6章常用接口芯片及應(yīng)用
上述方案就是可編程芯片設(shè)計的主要思想。用戶對寄存器FF寫入的內(nèi)容稱為命令字或方式控制字,而寄存器FF稱為命令寄存器相應(yīng)的端口稱為命令端口或控制端口,對可編程芯片初始化過程實際上就是對芯片的控制端口寫入各種命令字的操作過程。
第5頁/共257頁18一月202377第6章常用接口芯片及應(yīng)用
接口電路已由早期的邏輯電路板(由中、小規(guī)模集成電路芯片組成)發(fā)展到以大規(guī)模集成電路芯片為主的接口芯片,用于微機輸入/輸出的接口芯片種類極多,功能各異。按功能選擇的靈活性來分,可分為可編程接口芯片(8259、8255、8253、8251等)和不可編程接口芯片(如三態(tài)門、CMOS鎖存器、緩沖器電路等);按接口的通用性來分,可分為通用接口芯片(8255、8251等)和專用接口芯片(鍵盤接口,顯示器接口等)。第6頁/共257頁18一月202388第6章常用接口芯片及應(yīng)用
本章將對一些常用的接口芯片8255A(并行I/O接口)、8253(計數(shù)/定時器)、8251A(串行I/O接口)、9259A(中斷控制器)進行介紹。從接口芯片的外特性著手,介紹接口芯片的應(yīng)用。第7頁/共257頁18一月202399第6章常用接口芯片及應(yīng)用§2可編程并行接口芯片8255A(P289)8255A是一種通用的可編程并行I/O接口芯片,廣泛用于幾乎所有系列的微型機系統(tǒng)中,具有3個帶鎖存或緩沖的數(shù)據(jù)端口,用戶可用程序來選擇多種操作方式,各端口內(nèi)具有中斷控制邏輯,在外設(shè)與CPU之間可用中斷方式進行信息交換,使用條件傳輸方式時可用“聯(lián)絡(luò)”線進行控制。第8頁/共257頁18一月20231010第6章常用接口芯片及應(yīng)用
一、8255A的內(nèi)部結(jié)構(gòu)8255A的內(nèi)部結(jié)構(gòu)如圖6.1(P291,圖6.5)所示。二、8255A的引腳功能8255A芯片采用NMOS工藝制造,40個引腳的雙列直插封裝如圖6.4所示。40條引腳可分為與CPU連接和與外設(shè)連接的引腳。第9頁/共257頁18一月20231111第6章常用接口芯片及應(yīng)用
三、8255A的工作方式及編程1.8255A的工作方式8255A各端口共有3種基本工作方式:方式0——基本輸入/輸出方式;方式1——選通輸入/輸出方式;方式2——雙向傳送方式。第10頁/共257頁18一月20231212第6章常用接口芯片及應(yīng)用
方式0主要工作在無條件的輸入/輸出方式下,不需要“聯(lián)絡(luò)”信號。A口、B口和C口均可工作在此方式下。在方式0下,C口的輸出位可由用戶直接獨立設(shè)置為“0”或“1”。第11頁/共257頁18一月202313第6章常用接口芯片及應(yīng)用
方式1主要工作在異步或條件傳輸方式(必須先檢查狀態(tài),然后才能傳輸數(shù)據(jù))下,此時,僅有A口和B口可工作于方式1。由于條件傳輸需要聯(lián)絡(luò)線,所以在方式1下C口的某些位分別為A口和B口提供3根聯(lián)絡(luò)線。第12頁/共257頁18一月202314第6章常用接口芯片及應(yīng)用
方式2的雙向傳送方式是指在同一端口內(nèi)分時進行輸入/輸出的操作。8255A中只有A口可工作在這種方式下,此時需要5個控制信號進行“聯(lián)絡(luò)”,這5個信號由C口提供。故此時B口只能工作在方式0或方式1下,當B口工作在方式1時,又需要3根聯(lián)絡(luò)線。第13頁/共257頁18一月202315第6章常用接口芯片及應(yīng)用
所以當A口工作在方式2下,同時B口又工作在方式1下時,8255A的C口8根線將全部作為聯(lián)絡(luò)線使用,C口也就因沒有I/O功能而“消失”了。關(guān)于C口“聯(lián)絡(luò)”信號的定義后面討論。第14頁/共257頁18一月202316第6章常用接口芯片及應(yīng)用
2.8255A編程所謂8255A編程,就是用戶在使用8255前,用戶可用軟件來定義端口的工作方式,選擇所需要的功能。掌握8255A的編程時正確使用該芯片的前提。
8255A復(fù)位時,A、B、C三端口工作在方式0的輸入狀態(tài)。第15頁/共257頁18一月20231717第6章常用接口芯片及應(yīng)用
3.方式選擇控制字格式如圖所示(P296,圖6.12)。通過定義工作方式控制字可將3個端口定義為各種不同方式的組合
第16頁/共257頁18一月20231818【例1】
設(shè)端口A工作在方式1輸出,端口C上半部為輸出,下半部為輸入,端口B工作在方式0輸入,則這時的方式選擇控制字應(yīng)為10100011B或A3H。第6章常用接口芯片及應(yīng)用如果把這個方式選擇控制字通過輸出指令寫入到8255A的控制寄存器中,便完成了對8255A的初始化。顯然,對8255A初始化后,8255A就會按照初始化時所設(shè)定的方式選擇控制字指定的工作方式來完成工作。第17頁/共257頁18一月20231919第6章常用接口芯片及應(yīng)用設(shè)8255A的控制端口地址為FFF6H,那么對8255A的初始化程序為
MOVDX,0FFF6H;控制端口地址
MOVAL,0A3H;寫入控制字
OUT DX,AL第18頁/共257頁18一月20232020第6章常用接口芯片及應(yīng)用
【例2】按下述要求對8255A進行初始化:要求A口設(shè)為輸入數(shù)據(jù),工作于方式1;B口設(shè)為輸出數(shù)據(jù),工作于方式0;C口高四位輸出,低四位輸入數(shù)據(jù)。8255A的端口地址為04A0H~04A6H。第19頁/共257頁18一月20232121第6章常用接口芯片及應(yīng)用解:初始化程序段如下:
MOVDX,04A6H;送控制口地址
MOVAL,10110001H;設(shè)置方式選擇控制字
OUTDX,AL第20頁/共257頁18一月20232222第6章常用接口芯片及應(yīng)用
4.C口按位置位/復(fù)位控制字格式如圖所示(P296)
D7位為置位/復(fù)位控制字標志位,必須使D7=0;D3~Dl位用于選擇對端口C中某一位進行操作;D0位指出對選中位是置1還是清0。D0=1時,使選中位置1;D0=0時,使選中位清0。第21頁/共257頁18一月20232323若D0=0,D3D2D1=101,則C端口的第5位PC5置“0”;若D0=1,D3D2D1=001,則C端口的第1位PC1置“1”。第6章常用接口芯片及應(yīng)用第22頁/共257頁18一月20232424第6章常用接口芯片及應(yīng)用【例1】
設(shè)一片8255A的端口地址為60H~63H,PC5平時為低電平,要求從PC5的引腳輸出一個正脈沖??梢杂贸绦蛳葘C5置1,輸出一個高電平,再把PC5清0,輸出一個低電平,結(jié)果PC5引腳上便輸出一個正脈沖。實現(xiàn)這個功能的程序段如下:
MOVAL,000010l1B
OUT63H,AL ;置PC5為高電平
MOVAL,00001010B
OUT63H,AL ;置PC5為低電平第23頁/共257頁18一月20232525第6章常用接口芯片及應(yīng)用
【例2】要使端口C的bit3置位的控制字為:00000111B;
MOVAL,00000111BOUT0FBH,AL
而使端口C的bit3復(fù)位的控制字為:00000110B;
MOVAL,00000110BOUT0FBH,AL第24頁/共257頁18一月20232626第6章常用接口芯片及應(yīng)用
【例3】試編程使8255A的C口PC3位產(chǎn)生一個方波信號。8255A的端口地址為04A0H~04A6H。解:可利用C口置/復(fù)位控制字,交替使PC3位輸出“1”和“0”。程序段如下:第25頁/共257頁18一月20232727第6章常用接口芯片及應(yīng)用
MOVDX,04A6H;送控制口地址
LL:MOVAL,00000111B;對PC3位置1OUTDX,ALCALLDELAY;延時
MOVAL,00000110B;對PC3位置0OUTDX,ALJMPLL;循環(huán),產(chǎn)生周期信號第26頁/共257頁18一月20232828第6章常用接口芯片及應(yīng)用【例4】
要把端口C的PC7置成1。則控制字應(yīng)為00001111B或0FH。把該控制字的內(nèi)容寫入8255A的控制寄存器中,就實現(xiàn)了對端口C的PC7位置1的操作。其程序如下:
MOVDX,0FFF6H ;8255A控制端口地址
MOVAL,0FH ;PC7置1的控制字
OUTDX,AL
;寫入控制端口
若要使端口C的PC3置0,則控制字應(yīng)為00000110B或06H。第27頁/共257頁18一月20232929其程序段如下:
MOV DX,0FFF6H ;控制端口地址
MOV AL,06H ;PC3置0的控制字
OUT DX,AL
;寫入控制端口
端口C置1/置0控制字雖然是對端口C進行操作,但它是一種控制字,因此,必須寫入控制端口而不能寫入端口C的地址中。第6章常用接口芯片及應(yīng)用第28頁/共257頁18一月20233030第6章常用接口芯片及應(yīng)用5.讀入C端口狀態(tài)字
前面指出,當8255A工作于方式1和方式2時,C端口產(chǎn)生或接收與外設(shè)間的聯(lián)絡(luò)信號,這時,讀取C端口的內(nèi)容可使編程人員測試或檢查外設(shè)的狀態(tài),用輸入指令對C端口進行讀操作就可讀取C端口的狀態(tài)。C端口的狀態(tài)字有以下幾種格式。第29頁/共257頁18一月20233131第6章常用接口芯片及應(yīng)用①.方式1狀態(tài)字
輸入狀態(tài)字的格式如下:各位含義見P297其中,D7~D3位為A組狀態(tài)字,D2~D0位為B組狀態(tài)字。
輸出狀態(tài)字的格式如下:各位含義見P297其中,D7~D3位為A組狀態(tài)字,D2~D0位為B組狀態(tài)字。第30頁/共257頁18一月20233232第6章常用接口芯片及應(yīng)用②.方式2狀態(tài)字
方式2狀態(tài)字的格式如下:其中,D7~D3位為A組狀態(tài)字,D2~D0位為B組所用,當B口工作于方式1時,這幾位作B口的狀態(tài)字,當B口工作于方式0時,這幾位不是狀態(tài)位,而是用做輸入/輸出。第31頁/共257頁18一月20233333第6章常用接口芯片及應(yīng)用四.
8255A的工作方式的功能及應(yīng)用
8255A共有三種工作方式可選擇,每個端口可選擇的工作方式都有所差別。8255A端口A可以在方式0、方式1和方式2三種方式下工作,而端口B只能在方式0和方式1兩種方式下工作。8255A工作在什么方式下是由控制寄存器的內(nèi)容決定的。8255A的各個I/O端口在不同工作方式下的功能如表6-3所示。下面介紹這三種工作方式的特點、功能、時序及使用場合等。第32頁/共257頁18一月20233434第6章常用接口芯片及應(yīng)用
①、方式0-基本輸入輸出方式(P291)
8255A的3個端口均可工作在這種方式下,特別是C口只能工作在方式0。在這種方式下,CPU與端口之間交換數(shù)據(jù)可以執(zhí)行IN或OUT指令完成,不需檢測狀態(tài)線,8255A的3個端口可分別定義為輸入或輸出端口,因此3個端口可有表2所示的16種輸入/輸出組合。第33頁/共257頁18一月20233535第6章常用接口芯片及應(yīng)用
由控制字中D4D3D1D0等4位的不同取值可定義方式0的16種工作方式的組合,如表2所示。第34頁/共257頁18一月20233636第6章常用接口芯片及應(yīng)用
這意味著當8255A與CPU相連后,該接口部件可以提供用戶16種不同功能的輸入/輸出端口。采用可編程芯片作為接口電路可以大大提高計算機硬件系統(tǒng)靈活性。方式0中,數(shù)據(jù)輸出有鎖存,輸入無鎖存。方式0的輸入/輸出時序如圖6.6所示。
第35頁/共257頁18一月20233737第6章常用接口芯片及應(yīng)用第36頁/共257頁18一月20233838第6章常用接口芯片及應(yīng)用
例1:要求8255A的A口和B口均工作于方式0,A口和下C口作輸入口,B口和上C口作輸出口,設(shè)8255A各端口地址為40H~43H,可用下列指令來設(shè)置這種工作方式:
MOVAL,91H;方式控制字0010001B→AL
OUT43H,AL;方式控制字送控制寄存器第37頁/共257頁18一月202339第6章常用接口芯片及應(yīng)用
例2.8255A的A口和B口工作在方式0,A口為輸入端口,接有四個開關(guān)。B口為輸出端,接有一個七段發(fā)光二極管,連接電路如圖所示。試編一程序要求七段發(fā)光二班管顯示開關(guān)所撥通的數(shù)字。
第38頁/共257頁18一月202340第6章常用接口芯片及應(yīng)用第39頁/共257頁18一月202341第6章常用接口芯片及應(yīng)用
例中,8255的端口地址由兩部分組成,由CPUA15—A3通過74LS138產(chǎn)生CS,A2—A1組合成4個端口地址,A0與譯碼器Y4通過邏輯組合,保證8255的4個端口地址為偶地址。8020H、8022H、8024H、8026H。七段發(fā)光二極管為共陽極LED器件。a段亮從PB0輸出1,熄滅輸出0。第40頁/共257頁18一月202342第6章常用接口芯片及應(yīng)用
8255A的口接有開關(guān),4位開關(guān)的組合可為0H—FH。為此,可將在LED上顯示0H—FH各字符的斷碼列于圖表中。方式控制字:10010000B(90H或99H)參考程序如下:第41頁/共257頁18一月202343第6章常用接口芯片及應(yīng)用A_PORTEQU8020HB_PORTEQU8022H;定義端口的符號地址C_PORTEQU8024HCTRL_PORTEQU8026HDATASEGMENTTAB1DB3FH,06H,…,31HDATAENDS第42頁/共257頁18一月202344第6章常用接口芯片及應(yīng)用CODESEGMENTASSUMEDS:DATA,CS:CODEMOVAX,DATAMOVDS,AXMOVAL,90HMOVDX,CTRL_PORTOUTDX,AL;設(shè)置8255方式字ADD1:MOVDX,A_PORT第43頁/共257頁18一月202345第6章常用接口芯片及應(yīng)用
INAL,DX;取鍵盤信息
ANDAL,0FH;屏蔽高4位
MOVBX,OFFSETTAB1XLATMOVDX,B_PORTOUTDX,AL;輸出顯示
MOVCX,0600HADD2:LOOPADD2JMPADD1CODEENDSEND第44頁/共257頁18一月202346第6章常用接口芯片及應(yīng)用
②方式1—選通輸入/輸出方式P292在這種方式下,數(shù)據(jù)輸入/輸出操作要在選通信號控制下完成,因此適合條件傳送,A口和B口可工作在此方式下,這時C口的某些位就用來作“聯(lián)絡(luò)線”。A口和B口可以作為輸入接口,也可作為輸出接口,由于輸入和輸出接口所需的選通控制不同,相應(yīng)“聯(lián)絡(luò)線”的定義功能也就不同。第45頁/共257頁18一月20234747第6章常用接口芯片及應(yīng)用
當8255A的端口A和端口B都工作在方式1時,任何一個端口都可作為輸入端口或輸出端口,這時端口C中有6位將被規(guī)定為配合方式1的聯(lián)絡(luò)信號,其中3位作為端口A的聯(lián)絡(luò)信號,另外3位作為端口B的聯(lián)絡(luò)信號。端口C剩下的2位可由程序設(shè)定為輸入或輸出,也具有置位/復(fù)位功能。第46頁/共257頁18一月20234848
如果8255A的端口A和端口B中只有一個工作在方式1,則此時端口C中的3位被規(guī)定為配合工作在方式1的聯(lián)絡(luò)信號。另外一個端口(端口A或端口B)可以工作在方式0,端口C中的其他位也可以工作在方式0,作為輸入或輸出。第6章常用接口芯片及應(yīng)用第47頁/共257頁18一月20234949第6章常用接口芯片及應(yīng)用
方式1輸入情況下有關(guān)信號的規(guī)定當A口作為方式1輸入時,C口的PC3、PC4、PC5作為控制信號,PC6、PC7則可作為I/O口利用。當B口作為方式1輸入時,C口的PC0、PC1、PC2作為控制信號。如圖6.7所示(P293,圖6.8)。
第48頁/共257頁18一月20235050第6章常用接口芯片及應(yīng)用
8255A中的端口A和端口B均工作于方式1輸入模式,其工作方式控制字格式如圖6.8-1所示方式1的輸入時序如圖6.9所示(P294,T6.9)。常見的8255A的輸入接口(中斷I/O)的連接圖如圖6-7所示第49頁/共257頁18一月202351第6章常用接口芯片及應(yīng)用
例:8255的A口和B口分別工作在方式1和方式0,A口為輸入端口,接有8個開關(guān)。B口為輸出端,接有8個發(fā)光二極管,連接電路如圖所示。現(xiàn)要求用方式1把改變后的鍵信息輸入到CPU并通過B口顯示。
第50頁/共257頁18一月202352第6章常用接口芯片及應(yīng)用
這個系統(tǒng)的工作過程如下:
1、用戶通過改變K0~K7,產(chǎn)生新的鍵信息;
2、按下開關(guān)K,產(chǎn)生選通信號,數(shù)據(jù)進入A口的緩沖器,
此步驟實際上告訴CPU,8255的A口來了一個新數(shù)據(jù);第51頁/共257頁18一月202353第6章常用接口芯片及應(yīng)用3、IBFA有效使LED點亮。這里含有兩個信息,一個是8255A通知CPU其A口來了一個新數(shù)據(jù),另一個是告訴用戶CPU尚未取走這個這個數(shù)據(jù),用戶不得再送其他數(shù)據(jù);
4、CPU取走這個數(shù)據(jù),LED熄滅;
5、轉(zhuǎn)步驟1。
第52頁/共257頁18一月202354第6章常用接口芯片及應(yīng)用
設(shè)8255的I/O地址分布為88H—8EH,相應(yīng)的程序段如下
moval,10111001b ;設(shè)置A口為方式1的輸入,loop1:inal,8ch ;取C口的狀態(tài)線
testal,00100000b ;測試IBFA信息
jzloop1 ;等待用戶設(shè)定新的鍵值
inal,80h ;取數(shù)。LED燈滅(相對于步驟4)
out82h,al ;更新B口的顯示
jmploop1 ;重復(fù)
第53頁/共257頁18一月20235555第6章常用接口芯片及應(yīng)用
方式1輸出有關(guān)信號的規(guī)定當A口作為方式1輸出時,C口的PC7、PC6、PC3作為控制信號,PC4、PC5則作為I/O口使用。當B口作為方式1輸出時,C口的PC0、PC1、PC2作為控制信號,PC4、PC5則作為I/O口使用。如圖6.10所示(P292,圖6.6)。第54頁/共257頁18一月20235656第6章常用接口芯片及應(yīng)用
8255A中的端口A和端口B為工作方式1輸出模式,那么工作方式控制字的具體格式如圖6.11所示,方式1的輸出時序如圖6.12所示(P293,T6.7),輸出接口(中斷I/O),其一般連接如圖6-10-1所示第55頁/共257頁18一月202357第6章常用接口芯片及應(yīng)用
例:8255A的A口工作在方式1的輸出,接有8個發(fā)光二極管,現(xiàn)要求把內(nèi)存中的10個數(shù),通過A口發(fā)送給發(fā)光二極管以二進制的形式供用戶抄錄。第56頁/共257頁18一月202358第6章常用接口芯片及應(yīng)用
這個系統(tǒng)的工作過程如下:CPU把內(nèi)存中的一個數(shù)據(jù)寫入A口;LED燈亮,告訴用戶LED顯示的是新數(shù)據(jù).用戶抄錄數(shù)據(jù);用戶按下開關(guān)K,發(fā)ACK信號,告訴CPU數(shù)據(jù)已取走;轉(zhuǎn)第一步。第57頁/共257頁18一月202359第6章常用接口芯片及應(yīng)用DATASEGMENTXXDBX0,X1,…,X9DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODEMOVAX,DATAMOVDS,AX第58頁/共257頁18一月202360第6章常用接口芯片及應(yīng)用
movcx,10 ;送10個數(shù)
movbx,offsetxx ;數(shù)組指針送bx loop1: moval,[bx] ;取數(shù)
out88h,al ;送數(shù)到A口
loop2: inal,8ch ;取C口狀態(tài)線
anlal,80h ;測試IBOA jnzloop2
;用戶尚未抄錄數(shù)據(jù),檢測;等待, ;此時;LED燈亮(對應(yīng)步驟2)
calldelay
;用戶已抄錄數(shù)據(jù),LED燈滅(對 ;應(yīng)步驟4)
incbx ;準備送下一個數(shù)
looploop1 ;循環(huán)10次
……;返回系統(tǒng)第59頁/共257頁18一月20236161第6章常用接口芯片及應(yīng)用
③、方式2-雙向總線方式(僅適用于A口)P294工作特點:該方式只適用于A口(因其有輸入、輸出兩個鎖存器)。在該方式下,可使外設(shè)利用A口的8位數(shù)據(jù)線與CPU之間分時進行雙向數(shù)據(jù)傳送,即在單一的8位數(shù)據(jù)線PA7-PA0上,既可輸出數(shù)據(jù)給外設(shè),也可以從外設(shè)輸入數(shù)據(jù)(當然不能同時進行)。輸入或輸出數(shù)據(jù)均鎖存。第60頁/共257頁18一月20236262第6章常用接口芯片及應(yīng)用
A口工作在方式2時,C口的PC7~PC3被規(guī)定為控制信號,配合A口使用。如圖6.13所示(P294,T6.10)。圖中控制信號的含義與方式1中完全相同。第61頁/共257頁18一月20236363第6章常用接口芯片及應(yīng)用
當A口工作在方式2時,B口可工作在方式0或方式1。在方式1情況下,可用PC2~PC0作為控制信號。方式控制字格式如圖6.14-1所示。系統(tǒng)連接圖如圖6-13-1所示。第62頁/共257頁18一月20236464通過以上對8255A的三種基本工作方式的分析可以得出這樣的結(jié)論:端口A可以工作在這三種工作方式中的任何一種,端口B只能工作在方式0或方式1,端口C則通常配合端口A和端口B工作,為端口A和端口B提供其輸入/輸出過程中所需的聯(lián)絡(luò)信號,方式2只有端口A使用。同一組的兩個端口(A組或B組)可以分別工作在輸出方式或輸入方式,并不要求一定要同為輸入方式或同為輸出方式,各端口具體工作在什么工作方式下,作為輸入端口還是輸出端口,這些都是通過寫入方式選擇控制字來決定的。第6章常用接口芯片及應(yīng)用第63頁/共257頁18一月20236565第6章常用接口芯片及應(yīng)用
四、8255A與CPU的連接使用8255A占外設(shè)的4個地址,即A口、B口、C口和控制寄存器各占一個外設(shè)接口地址。對同一個地址分別進行讀寫工作。例如:讀A口可將A口的數(shù)據(jù)讀出;寫A口可將CPU的數(shù)據(jù)寫入A口并輸出。利用8255A的片選信號、A0、A1,以及讀寫信號,既可方便的對8255A進行尋址。這些信號的功能如表所示。(P298,表6.1)第64頁/共257頁18一月20236666第6章常用接口芯片及應(yīng)用第65頁/共257頁18一月20236767第6章常用接口芯片及應(yīng)用
圖6.17(P298)為8255A與8086總線連接,8255A右邊的信號線與系統(tǒng)總線連接,左邊的3個口分別與外設(shè)的數(shù)據(jù)輸入輸出線、狀態(tài)信息連接。第66頁/共257頁18一月20236868第6章常用接口芯片及應(yīng)用
五、8255A初始化8255A初始化編程可以分兩步進行:首先把方式選擇控制字寫入控制口,確定所用端口的工作方式,如果端口選擇為工作方式1或方式2,還要確定CPU和8255A之間是用查詢方式還是用中斷方式交換信息,并以此來組織C口置位/復(fù)位控制字,寫入8255A控制口,使相應(yīng)的中斷允許標志(INTE)置0或置1,從而達到禁止或開放中斷的目的。完成了初始化編程之后,CPU就可以用IN和OUT指令通過8255A與外設(shè)交換數(shù)據(jù)了。第67頁/共257頁18一月20236969第6章常用接口芯片及應(yīng)用
§3、8255A的應(yīng)用一、簡單開關(guān)接口電路例1:在工業(yè)控制等實際應(yīng)用中,經(jīng)常需要檢測某些開關(guān)量的狀態(tài)。如圖所示,在某系統(tǒng)中,采用8255A不斷檢測8個開關(guān)K7~K0的通斷狀態(tài),并隨時在8個發(fā)光二極管LED7~LED0上顯示出來。要求開關(guān)閉合時,相應(yīng)的LED亮;開關(guān)斷開時,相應(yīng)的LED滅。8255A的端口地址為60H~63H。
第68頁/共257頁18一月20237070第6章常用接口芯片及應(yīng)用第69頁/共257頁18一月20237171第6章常用接口芯片及應(yīng)用
解:由電路原理可知,A口為方式0輸入,B口為方式0輸出,則8255A的方式選擇控制字為10010000B,即90H。且開關(guān)閉合,則A口輸入低電平;當B口輸出低電平時,相應(yīng)的LED點亮。程序段如下:第70頁/共257頁18一月20237272第6章常用接口芯片及應(yīng)用
MOVDX,63HMOVAL,90H;設(shè)置方式選擇控制字OUTDX,ALTES:MOVDX,60H;讀A口(開關(guān)狀態(tài))
INAL,DXMOVDX,61H;送B口顯示
OUT61H,ALJMPTES;循環(huán)檢測第71頁/共257頁18一月20237373第6章常用接口芯片及應(yīng)用
二、8255A與LED數(shù)碼管接口(P335)1.七段數(shù)碼顯示器一般7段LED顯示器的內(nèi)部結(jié)構(gòu)和外部引腳如圖6.46(a)所示。其內(nèi)部各發(fā)光二極管之間的連接方法有共陰極和共陽極兩種,如圖6.46(b)和6.46(c)所示。第72頁/共257頁18一月20237474第6章常用接口芯片及應(yīng)用
LED數(shù)碼管的主要部分是七段發(fā)光二極管,如圖6.46(a)所示。這七段發(fā)光二極管分別稱為a、b、c、d、e、f、g,有的產(chǎn)品還附帶有一個小數(shù)點h,通過7個發(fā)光段的不同組合,可以顯示0~9和A~F共16個字母數(shù)字或其它異形字符。
第73頁/共257頁18一月20237575第6章常用接口芯片及應(yīng)用
LED數(shù)碼管有共陽極、共陰極兩種結(jié)構(gòu),如圖6.46(b)和(c)所示。如為共陽極結(jié)構(gòu),則共用的陽極應(yīng)接高電平,各段則輸入低電平,方為有效。如為共陰極結(jié)構(gòu),共用的陰極必須接低電平,而各段處于高電平時便發(fā)光。表6.2表示了共陰極與共陽極結(jié)構(gòu)字符0~F的編碼表。編碼的低位為a,高位為g。第74頁/共257頁18一月20237676
由此可見,無論是共陰極還是共陽極,要使LED按照要求顯示數(shù)字或字母,必須輸入各段發(fā)光的代碼,該代碼稱為七段碼。顯示代碼之間的對應(yīng)關(guān)系如表6.2所示。例如,要顯示數(shù)字5,只要將a、f、g、c、d段接低電平,其余段接高電平即可。對于共陰極結(jié)構(gòu)的LED顯示器,陰極連在一起后接地,各陽極段接到器件的引腳上,要想點亮某一段,只要將相應(yīng)引腳接高電平即可。第6章常用接口芯片及應(yīng)用第75頁/共257頁18一月20237777第6章常用接口芯片及應(yīng)用
由于發(fā)光二極管發(fā)光時,通過的平均電流為10mA~20mA,而通常的輸出鎖存器不能提供這么大的電流,所以LED各段必須接驅(qū)動電路,如圖所示。第76頁/共257頁18一月20237878第6章常用接口芯片及應(yīng)用
例1:8255A作為開關(guān)K0~K3及七段LED顯示器接口。要求開關(guān)設(shè)置的二進制信息,由PC0~PC3輸入,經(jīng)程序轉(zhuǎn)換為對應(yīng)的七段LED顯示器的字形代碼后,由PA口輸出顯示。第77頁/共257頁18一月20237979第6章常用接口芯片及應(yīng)用第78頁/共257頁18一月20238080第6章常用接口芯片及應(yīng)用解:8255A各端口地址確定:各端口地址為:E8H~EEH第79頁/共257頁18一月20238181第6章常用接口芯片及應(yīng)用
LED顯示器的字形代碼表存放在TABLE單元開始的內(nèi)存中.
TABLEDB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB80H,98H,88H,83H,0C6H,0A1H,86H,8EH第80頁/共257頁18一月20238282第6章常用接口芯片及應(yīng)用實現(xiàn)操作的具體程序如下:MOV DX,0EEH;設(shè)置8255A工作方式 MOV AL,81H OUT DX,ALMOV DX,0ECH;指向端口C,讀開關(guān)狀態(tài) IN AL,DX AND AL,0FHLEA BX,TABLE;顯示代碼表首地址送BX XLAT ;查表,取出相應(yīng)的字形碼送ALMOV DX,0E8H ;指向端口A OUT DX,AL ;輸出字形碼顯示
HLT第81頁/共257頁18一月20238383第6章常用接口芯片及應(yīng)用
三、8255與并行打印機接口(P332)例1:并行打印機接口電路P332利用8255A的A口方式0與微型打印機相連,將內(nèi)存緩沖區(qū)BUFF中的字符打印輸出。試完成相應(yīng)的軟硬件設(shè)計。(CPU為8088)首先分析打印機。微型打印機和主機之間的接口采用并行接口。第82頁/共257頁18一月20238484第6章常用接口芯片及應(yīng)用1.打印機接口信號(如表)P332BUSY:輸出,表示打印機是否可接受數(shù)據(jù)的信號。忙信號,有效時不能接受數(shù)據(jù)。:輸出,向主機發(fā)出的傳送數(shù)據(jù)的請求脈沖。響應(yīng)信號,有效時接收數(shù)據(jù)。:輸入,主機向打印機輸入數(shù)據(jù)的選通脈沖。數(shù)據(jù)選通,有效時接收數(shù)據(jù)。第83頁/共257頁18一月20238585第6章常用接口芯片及應(yīng)用
2.工作流程工作流程是:數(shù)據(jù)傳輸時序如圖所示主機將要打印的數(shù)據(jù)送上數(shù)據(jù)線,然后發(fā)選通信號。打印機將數(shù)據(jù)讀入,同時使BUSY線為高,通知主機停止送數(shù)。這時,打印機內(nèi)部對讀入的數(shù)據(jù)進行處理。處理完以后使ACK有效,同時使BUSY失效,通知主機可以發(fā)下一個數(shù)據(jù)第84頁/共257頁18一月20238686第6章常用接口芯片及應(yīng)用
3.硬件連線PC0充當打印機的選通信號,通過對PC0的置位/復(fù)位產(chǎn)生選通。PC7接收打印機發(fā)出的“BUSY”信號。8255A的控制字為:10001000即88HA口方式0,輸出;C口高位方式0輸入,低位方式0輸出PC0置位:00000001即01HPC0復(fù)位:00000000即00H8255A的4個口地址為:00H,01H,02H,03H。第85頁/共257頁18一月20238787第6章常用接口芯片及應(yīng)用第86頁/共257頁18一月20238888第6章常用接口芯片及應(yīng)用4.編制程序DADASEGMENTBUFFDB'Thisisaprintprogram!','$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA第87頁/共257頁18一月20238989第6章常用接口芯片及應(yīng)用START:MOVAX,DATAMOVDS,AXMOVSI,OFFSETBUFFMOVAL,88H;8255A初始化,A口方式0,輸出
OUT03H,AL;C口高位方式0輸入,低位方式0輸出
MOVAL,01H;
OUT03H,AL;使PC0置位,即使選通無效第88頁/共257頁18一月20239090第6章常用接口芯片及應(yīng)用WAIT:INAL,02HTESTAL,80H;檢測PC7是否為1即是否忙
JNZWAIT;為忙則等待
MOVAL,[SI]
CMPAL,'$';是否結(jié)束符
JZDONE;是則輸出回車
OUT00H,AL;不是結(jié)束符,則從A口輸出
MOVAL,00HOUT03H,AL;產(chǎn)生選通信號
INCSI;修改指針,指向下一個字符
JMPWAIT第89頁/共257頁18一月20239191第6章常用接口芯片及應(yīng)用DONE:MOVAL,0DHOUT00H,AL;輸出回車符
MOVAL,00HOUT03H,AL;產(chǎn)生選通MOVAH,4CHINT
21HCODEENDSENDSTART第90頁/共257頁18一月20239292第6章常用接口芯片及應(yīng)用
§4可編程定時/計數(shù)器8253及其應(yīng)用在微機應(yīng)用系統(tǒng)中,經(jīng)常會提出這樣的要求:一種是要求一些外部實時時鐘,以實現(xiàn)延時控制或定時;另一種是要求能對外部事件計數(shù)的計數(shù)器。實現(xiàn)上述要求可采用三種方法。第91頁/共257頁18一月20239393第6章常用接口芯片及應(yīng)用(1)設(shè)計數(shù)字邏輯電路來實現(xiàn)計數(shù)或定時要求。即由硬件電路實現(xiàn)的計數(shù)器/定時器,這種電路,若要改變計數(shù)/定時的要求,必須改變電路參數(shù)。通用性、靈活性差;第92頁/共257頁18一月20239494第6章常用接口芯片及應(yīng)用(2)編制一段程序,用軟件來實現(xiàn)計數(shù)和定時的要求。這種方法通用性和靈活性都好,但是要占用CPU的時間;(3)采用可編程定時器/計數(shù)器,其定時與計數(shù)功能可由程序靈活地設(shè)定,設(shè)定后與CPU并行工作,不占用CPU的時間。
第93頁/共257頁18一月20239595第6章常用接口芯片及應(yīng)用本節(jié)介紹的8253就是一種可編程定時器/計數(shù)器芯片,又稱為“可編程間隔定時器”。一、8253的引線功能及內(nèi)部結(jié)構(gòu)1.8253的內(nèi)部結(jié)構(gòu)(P301,T6.20)如圖所示第94頁/共257頁18一月20239696第6章常用接口芯片及應(yīng)用
2.8253的引線①.與CPU的接口信號數(shù)據(jù)線(D7~D0):三態(tài)雙向數(shù)據(jù)線。與CPU數(shù)據(jù)總線相連,用于傳遞CPU與8253之間的數(shù)據(jù)信息、控制信息和狀態(tài)信息。計數(shù)器的計數(shù)值亦通過此數(shù)據(jù)總線進行讀寫。第95頁/共257頁18一月20239797第6章常用接口芯片及應(yīng)用
控制線(CS,RD,WR):完成片選和讀寫操作。8253的讀/寫操作邏輯如表所示。片選及地址線CS,A1,A0——用于芯片及內(nèi)部寄存器、計數(shù)器的尋址。即3個計數(shù)器和一個控制字寄存器。一般與CPU低位的地址線相連。第96頁/共257頁18一月20239898第6章常用接口芯片及應(yīng)用A9A8A7A6A5=00010選中(CS=0),A4A3A2未用,A1A0接8253的A1A0。第97頁/共257頁18一月20239999第6章常用接口芯片及應(yīng)用②.與外部設(shè)備的接口信號CLK0(CLK1,CLK2)——時鐘脈沖輸入端,用于輸入定時脈沖或計數(shù)脈沖信號。CLK可以是系統(tǒng)時鐘脈沖,也可以是由其他脈沖源提供。如果輸入是周期精確的時鐘,則8253一般工作在定時方式,如果輸入是周期不定的脈沖,或關(guān)心的只是脈沖的數(shù)量而不是脈沖的時間間隔,則此時8253一般作為計數(shù)器使用。8253規(guī)定加在CLK引腳的輸入時鐘周期不得小于380ns。8253:0~2.6MHz;8254-2:0~10MHz。第98頁/共257頁18一月2023100100第6章常用接口芯片及應(yīng)用GATE0(GATE1,GATE2)——門控輸入端,用于外部控制計數(shù)器的啟動或停止計數(shù)的操作。當GATE為高電平時,允許計數(shù)器工作,當GATE為低電平時,禁止計數(shù)器工作。兩個或兩個以上計數(shù)器連用時,可用此信號來同步,也可用于與外部信號的同步。OUT0(OUT1,OUT2-)-——計數(shù)輸出端。在不同工作方式中,當計數(shù)器計數(shù)到0時,OUT引腳上必輸出相應(yīng)的信號。第99頁/共257頁18一月2023101101第6章常用接口芯片及應(yīng)用
二、8253的工作方式8253內(nèi)部3個相同16位計數(shù)器都能夠以6種方式工作。第100頁/共257頁18一月2023102第6章常用接口芯片及應(yīng)用
從上述工作方式看出,8253的6種工作方式可以歸為兩類,一類是充當頻率發(fā)生器(方式2、方式3),一類是主要作為計數(shù)器(方式0、方式1、方式4、方式5)來使用。第101頁/共257頁18一月2023103103第6章常用接口芯片及應(yīng)用三、8253的控制字與初始化編程1.控制字格式P2008253的控制字有4個主要功能*選擇計數(shù)器;*確定計數(shù)器數(shù)據(jù)的讀寫格式;*確定計數(shù)器的工作方式;*確定計數(shù)器計數(shù)的數(shù)制。第102頁/共257頁18一月2023104104第6章常用接口芯片及應(yīng)用最大0FFFFH最大9999第103頁/共257頁18一月2023105105第6章常用接口芯片及應(yīng)用
2.8253的初始化編程剛接通電源時,諸如8253之類的可編程外圍接口芯片通道都處于未定義狀態(tài),在使用之前,必須用程序把它們初始化為所需的特定模式,這個過程稱為初始化編程。對8253芯片進行初始化編程時,需按下列步驟進行:第104頁/共257頁18一月2023106106第6章常用接口芯片及應(yīng)用
(1)寫入控制字用輸出指令向控制字寄存器寫入一個控制字,以選定計數(shù)器通道,規(guī)定該計數(shù)器的工作方式和計數(shù)格式。寫入控制字還起到復(fù)位作用,使輸出端OUT變?yōu)橐?guī)定的初始狀態(tài),并使計數(shù)器清0。第105頁/共257頁18一月2023107107第6章常用接口芯片及應(yīng)用
(2)寫入計數(shù)初值用輸出指令向選中的計數(shù)器端口地址中寫入一個計數(shù)初值,初值設(shè)置時要符合控制字中有關(guān)格式的規(guī)定。初值可以是8位數(shù)據(jù),也可以是16位數(shù)據(jù)。若是8位數(shù),只要用一條輸出指令就可完成初值的設(shè)置。如果是16位數(shù),則必須用兩條輸出指令來完成,而且規(guī)定先送低8位數(shù)據(jù),后送高8位數(shù)據(jù)。注意,計數(shù)初值為0時,若為16位計數(shù),也要分成兩次寫入。第106頁/共257頁18一月2023108108計數(shù)初值的計算
假設(shè)已知8253相應(yīng)通道的CLK端接入的時鐘頻率為fCLK,周期記為TCLK=1/fCLK,要求產(chǎn)生的周期性信號頻率為f(周期為T)或定時時間為T(f=1/T),則所需計數(shù)初值n為在計算時應(yīng)注意時間和頻率的單位要一致。第6章常用接口芯片及應(yīng)用第107頁/共257頁18一月2023109109第6章常用接口芯片及應(yīng)用
8253工作過程中,CPU可用輸入指令讀取任一通道的計數(shù)值。CPU讀到的是執(zhí)行輸入指令瞬間計數(shù)器的當前值。但8253的計數(shù)器是16位,所以要分2次讀至CPU。因此,若不鎖存的話,在前后兩次執(zhí)行輸入指令的過程中,計數(shù)值可能已經(jīng)變化了。鎖存當前計數(shù)值的方法:第108頁/共257頁18一月2023110110第6章常用接口芯片及應(yīng)用向8253寫入一個方式控制字,令8253通道的鎖存器鎖存。8253的每個通道都有一個16位鎖存器,平時它的值隨著通道計數(shù)器的值變化。當向通道寫入鎖存的控制字時,它把計數(shù)器的當前值鎖存(計數(shù)器可繼續(xù)計數(shù)),于是CPU讀取的就是鎖存器的值。當對計數(shù)器重新編程,或讀取計數(shù)值后,自動解除鎖存狀態(tài),它的值又隨計數(shù)器變化。第109頁/共257頁18一月2023111111第6章常用接口芯片及應(yīng)用
例1:在某微機系統(tǒng)中,8253的3個計數(shù)器的端口地址分別為3F0H、3F2H和3F4H,控制字寄存器的端口地址為3F6H,要求8253的通道0工作于方式3,BCD計數(shù),并已知對它寫入的計數(shù)初值n=1234(十進制數(shù)),則初始化程序為:第110頁/共257頁18一月2023112112MOVAL,00110111;控制字:選擇通道0,先讀/寫低字節(jié),后高字節(jié),方式3,BCD計數(shù)MOVDX,3F6H;指向控制口OUTDX,AL;送控制字MOVAL,34H;計數(shù)值低字節(jié),代表00110100BCDMOVDX,3F0H;指向計數(shù)器0端口OUTDX,AL;先寫入低字節(jié)MOVAL,12H;計數(shù)值高字節(jié),代表00010010BCDOUTDX,AL;后寫入高字節(jié)第111頁/共257頁18一月2023113113第6章常用接口芯片及應(yīng)用
四、8253應(yīng)用舉例1.8253定時功能的應(yīng)用在計算機應(yīng)用中,經(jīng)常會遇到隔一定時間重復(fù)某一個動作的應(yīng)用。
【例1】設(shè)某應(yīng)用系統(tǒng)中,系統(tǒng)提供一個頻率為10kHz的時鐘信號,要求每隔100ms采集一次數(shù)據(jù)。第112頁/共257頁18一月2023114114第6章常用接口芯片及應(yīng)用
解:在系統(tǒng)中,采用8253定時器的通道0來實現(xiàn)這一要求。將8253芯片的CLK0接到系統(tǒng)的10kHz時鐘上,OUT0輸出接到CPU的中斷請求線上,8253的端口地址為10H~13H,如圖所示。第113頁/共257頁18一月2023115115第6章常用接口芯片及應(yīng)用
(1)選擇工作方式由于系統(tǒng)每隔100ms定時中斷一次,則采樣頻率為10Hz,可選用方式2來實現(xiàn)。當8253定時器工作在方式2時,在寫入控制字與計數(shù)初值后,定時器就啟動工作,每到100ms時間,即計數(shù)器減到1時,輸出端OUT0輸出一個CLK周期的低電平,向CPU申請中斷,CPU在中斷服務(wù)程序中完成數(shù)據(jù)采集,同時按原設(shè)定值重新開始計數(shù),實現(xiàn)了計數(shù)值的自動重裝。第114頁/共257頁18一月2023116116第6章常用接口芯片及應(yīng)用(2)確定計數(shù)初值已知fCLK0=10kHz,則TCLK0=0.1ms,所以,計數(shù)初值N=TOUT0/TCLK0=100ms/0.1ms=1000=03E8H(3)初始化編程根據(jù)以上要求,可確定8253通道0的方式控制字為00110100B,即34H。初始化程序段如下:第115頁/共257頁18一月2023117117第6章常用接口芯片及應(yīng)用MOVAL,34H;通道0,16位計數(shù),方式2,二進制計數(shù)OUT13H,AL;寫入方式控制字到控制字寄存器MOVAL,0E8H;計數(shù)初值低8位OUT10H,AL;寫入計數(shù)初值低8位到通道0MOVAL,03H;計數(shù)初值高8位OUT10H,AL;寫入計數(shù)初值高8位到通道0第116頁/共257頁18一月2023118118第6章常用接口芯片及應(yīng)用
2.8253計數(shù)功能的應(yīng)用
【例2】通過PC機系統(tǒng)總線在外部擴展一個8253,利用其通道0記錄外部事件的發(fā)生次數(shù),每輸入一個高脈沖表示事件發(fā)生1次。當事件發(fā)生100次后就向CPU提出中斷請求(邊沿觸發(fā)),假設(shè)8253片選信號的I/O地址范圍為200H~203H,如圖所示。第117頁/共257頁18一月2023119119第6章常用接口芯片及應(yīng)用
根據(jù)要求,可以選擇方式0來實現(xiàn),計數(shù)初值N=100。8253初始化程序段如下:MOVDX,203H;設(shè)置方式控制字地址MOVAL,10H;設(shè)定通道0為工作方式0,二進制計數(shù),只寫入低字節(jié)計數(shù)值OUTDX,ALMOVDX,200H;設(shè)置計數(shù)器通道0的地址MOVAL,64H;計數(shù)初值為100OUTDX,AL
第118頁/共257頁18一月2023120120第6章常用接口芯片及應(yīng)用
3.8253計數(shù)通道的級聯(lián)使用
【例3】已知某8253占用I/O空間地址為320H~323H,如圖所示,輸入其CKL1端的脈沖頻率為1MHz,要求用8253連續(xù)產(chǎn)生10秒的定時信號。第119頁/共257頁18一月2023121121第6章常用接口芯片及應(yīng)用
解:分析:8253的一個通道的最大計數(shù)范圍為65536,本例中要求輸出10秒定時信號,則計數(shù)初值N=10/10-6=107,超過了8253一個通道的最大計數(shù)值,此時可以使用2個8253通道級連方式來實現(xiàn)。
第120頁/共257頁18一月2023122122第6章常用接口芯片及應(yīng)用
若級連前2個通道的初值為N1和N2,則級連后作為一個整體的計數(shù)值為N=N1×N2。設(shè)計數(shù)器初值N1=500=1F4H,N2=20000=4E20H,使用方式2,二進制計數(shù),則通道1、2的初始化程序如下:第121頁/共257頁18一月2023123123第6章常用接口芯片及應(yīng)用MOVDX,323HMOVAL,74H;01110100B,通道1,寫入16位初值,方式2,二進制計數(shù)OUTDX,AL;寫入通道1方式字MOVDX,321HMOVAL,0F4HOUTDX,AL;寫入初值500的低8位入通道1MOVAL,01HOUTDX,AL;寫入初值500的高8位入通道1第122頁/共257頁18一月2023124124第6章常用接口芯片及應(yīng)用MOVDX,323HMOVAL,0B4H;10110100B,通道2,寫入16位初值,方式2,二進制計數(shù)OUTDX,AL;寫入通道2方式字MOVDX,322HMOVAL,20HOUTDX,AL;寫入通道2初值20000的低8位MOVAL,4EHOUTDX,AL;寫入通道2初值20000的高8位第123頁/共257頁18一月2023125125第6章常用接口芯片及應(yīng)用
4.綜合舉例
【例4】如圖是用8253監(jiān)視一個生產(chǎn)流水線示意圖,每通過50個工件揚聲器響5秒鐘,頻率為2000Hz。第124頁/共257頁18一月2023126126第6章常用接口芯片及應(yīng)用
電路工作過程說明:圖中工件從光源與光敏電阻之間通過時,在晶體管的發(fā)射極上產(chǎn)生一個脈沖,此脈沖作為8253通道0計數(shù)器的計數(shù)輸入CLK0,當通道0計數(shù)滿50后,有OUT0輸出負脈沖,經(jīng)反相后作為8259的一個中斷請求信號,在中斷服務(wù)程序中,啟動8253通道1計數(shù)器工作,由OUT1連續(xù)2000Hz的方波。持續(xù)5秒后停止輸出。試編程。第125頁/共257頁18一月2023127127第6章常用接口芯片及應(yīng)用
解:分析
1.通道0計數(shù)器工作于方式2,通道1計數(shù)器工作于方式3,通道1的門控信號GATE1由8255A的PC0控制,輸出方波信號經(jīng)驅(qū)動、濾波后送揚聲器。
第126頁/共257頁18一月2023128128第6章常用接口芯片及應(yīng)用
2.控制字設(shè)計:通道0計數(shù)器工作于方式2,采用BCD計數(shù),因計數(shù)初值為50,采用RL0、RL1=01(讀/寫計數(shù)器低8位),則工作方式擴展字為:00010101B(15H);通道1計數(shù)器工作于工作于方式3,CLK1接2.5MHz時鐘,要求產(chǎn)生2000Hz的方波,則計數(shù)初值為:2.5*106/2000=1250,采用RL1、RL2=11(先讀/寫低8位,后讀/寫高8位),BCD計數(shù),則工作方式字為:01110111(77H)H。第127頁/共257頁18一月2023129129第6章常用接口芯片及應(yīng)用
3.設(shè)通道0的地址為40H,通道1的地址為41H,控制口地址為43H,8255的口地址為80H。第128頁/共257頁18一月2023130130第6章常用接口芯片及應(yīng)用
主程序:
MOVAL,15H;通道初始化
OUT43H,ALMOVAL,50H;計數(shù)初值
OUT40H,ALSTI;開中斷
LOP:HLT;等待中斷
JMPLOP第129頁/共257頁18一月2023131131第6章常用接口芯片及應(yīng)用中斷服務(wù)程序:
MOVAL,01H;通道1的GATE1置1,啟動計數(shù)
OUT80H,ALMOVAL,77H;通道1初始化
OUT43H,ALMOVAL,50H;計數(shù)初值
OUT41H,ALMOVAL,12HOUT41H,ALCALLDLY5S;延時5秒
MOVAL,00H;通道1的GATE1置0,停止計數(shù)
OUT80H,ALIRET第130頁/共257頁18一月2023132132【例5】設(shè)端口地址為F8H~FEH,使計數(shù)器0工作在方式1,按二進制計數(shù),計數(shù)值為3025H。進行初始化編成。其初始化程序為
MOV AL,00110010B
OUT 0FEH,AL;寫方式控制字
MOV AL,25H
OUT 0F8H,AL;向計數(shù)器0寫入低8位計數(shù)值
MOV AL,30H
OUT 0F8H,AL;向計數(shù)器0再寫入高8位計數(shù)值第6章常用接口芯片及應(yīng)用第131頁/共257頁18一月2023133133第6章常用接口芯片及應(yīng)用若要讀出當前計數(shù)值,可利用鎖存命令和讀出命令來實現(xiàn)
MOVAL,00H
OUT0FEH,AL;計數(shù)器0的鎖存命令寫入控制口,鎖存當前計數(shù)值
INAL,0FEH
MOVAH,AL;讀計數(shù)器0的低8位計數(shù)值,暫存于AH
INAL,0FEH;讀計數(shù)器0的高8位計數(shù)值
XCHGAL,AH;AX中為計數(shù)器0的當前計數(shù)值。第132頁/共257頁18一月2023134結(jié)束第133頁/共257頁18一月2023135135§5數(shù)/模(D/A)和模/數(shù)(A/D)變換接口第6章常用接口芯片及應(yīng)用教學(xué)重點
DAC0832及其與主機的連接
ADC0809及其與主機的連接第134頁/共257頁18一月2023136136問題的提出:當計算機用于數(shù)據(jù)采集和過程控制的時候,采集對象往往是連續(xù)變化的物理量(如溫度、壓力、聲波等),但計算機處理的是離散的數(shù)字量,因此需要對連接變化的物理量(模擬量)進行采樣、保持,再把模擬量轉(zhuǎn)換為數(shù)字量交給計算機處理、保存等。計算機輸出的數(shù)字量有時需要轉(zhuǎn)換為模擬量去控制某些執(zhí)行元件(如聲卡播放音樂等)。A/D轉(zhuǎn)換器完成模擬量→數(shù)定量的轉(zhuǎn)換,D/A轉(zhuǎn)換器完成數(shù)字量→模擬量的轉(zhuǎn)換。
第135頁/共257頁18一月202313718一月2023137
D/A和A/D在控制系統(tǒng)中的地位數(shù)字信號模擬信號現(xiàn)場信號1現(xiàn)場信號2現(xiàn)場信號n微型計算機放大器放大器放大器多路開關(guān)低通濾波傳感器低通濾波傳感器低通濾波傳感器A/D轉(zhuǎn)換器采樣保持器數(shù)字信號受控對象控制信號模擬信號D/A轉(zhuǎn)換器放大驅(qū)動電路…傳感器將各種現(xiàn)場的物理量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)生禁毒教育
- 疫情防控大會課件
- 藝術(shù)節(jié)活動組織與實施計劃
- 公司場地授權(quán)使用合同標準文本
- 全款買房合同標準文本
- a輪融資協(xié)議合同標準文本
- 繪畫技法教學(xué)步驟示范計劃
- 企業(yè)廠房轉(zhuǎn)讓合同標準文本
- 上下鋪房轉(zhuǎn)租合同標準文本
- 企業(yè)采購紅酒合同標準文本
- 新聞采編人員考試復(fù)習(xí)材料
- GB/T 43543-2023漱口水
- 農(nóng)業(yè)無人設(shè)備智能控制與決策
- 長江師范學(xué)院《C語言程序設(shè)計》2019-2020學(xué)年期末考試試卷
- 中國滅絕姓氏的研究報告
- 數(shù)學(xué)八年級下冊專題16.8 二次根式章末測試卷(拔尖卷)(人教版)(學(xué)生版)
- 35770-2022合規(guī)管理體系-要求及使用指南標準及內(nèi)審員培訓(xùn)教材
- DZ-T 0270-2014地下水監(jiān)測井建設(shè)規(guī)范
- 貴州省生態(tài)文明教育讀本(高年級) -教案(教學(xué)設(shè)計)
- 四渡赤水(課件)
- 1到六年級古詩全部打印
評論
0/150
提交評論