版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
采用I/O接口的必要性1、CPU和外設(shè)間數(shù)據(jù)傳送有如下特點:1)外設(shè)種類繁多。機(jī)械式、機(jī)電式、電子式…2)外部設(shè)備工作速度差異很大。慢速設(shè)備:開關(guān)、鍵盤等;中速:打印機(jī);高速:磁盤等。CPU無法按固定時序協(xié)調(diào)各方的工作。3)外設(shè)數(shù)據(jù)信號多樣化。電壓信號、電流信號、數(shù)字量、模擬量等。第七章輸入和輸出 7.1并行I/O口的概念 7.2MCS-51內(nèi)部并行I/O口 7.3MCS-51并行口的擴(kuò)展第七章輸入和輸出 7.1并行I/O口的概念 7.2MCS-51內(nèi)部并行I/O口 7.3MCS-51并行口的擴(kuò)展7.1并行I/O口的概念
計算機(jī)為什么需要I/O接口?2、I/O接口的作用1.地址譯碼能根據(jù)CPU給出的地址找到指定的外設(shè)。2.數(shù)據(jù)緩沖能對傳送的數(shù)據(jù)進(jìn)行緩沖,以協(xié)調(diào)CPU與外設(shè)的速度。3.信息變換將外設(shè)的信息,變成與CPU相容的格式。如:模擬數(shù)字…4.提供狀態(tài)信息將外設(shè)的狀態(tài)信息如:忙、閑、就緒、滿、空等狀態(tài)提供給CPU,以便CPU對外設(shè)產(chǎn)生同步控制命令。5.能對中斷進(jìn)行管理建立中斷請求、中斷排隊、中斷識別與中斷響應(yīng)等。微型機(jī)I/O接口I/O接口I/O設(shè)備I/O設(shè)備1)速度協(xié)調(diào)數(shù)據(jù)在DB上停留時間十分短暫。2)數(shù)據(jù)鎖存8051單片機(jī)的4個I/O接口,都通過鎖存器和外界聯(lián)系??偩€隔離技術(shù):任一時刻,只允許一個數(shù)據(jù)源使用數(shù)據(jù)總線。其余數(shù)據(jù)源都和數(shù)據(jù)總線隔離。3)三態(tài)緩沖4)數(shù)據(jù)轉(zhuǎn)換D/A、A/D轉(zhuǎn)換用作接口電路的基本電路鎖存器三態(tài)緩沖電路集電極開路門(OC門)(兩個以上OC門輸出端用導(dǎo)線直接相連,實現(xiàn)“線與”功能)使用時,需外接上拉電阻。7.1.1I/O端口的編址首先清楚I/O接口(Interface)和I/O端口(Port)的概念?!?/p>
I/O端口:簡稱I/O口,指具有端口地址的寄存器或緩沖器。◆I/O接口:是指單片機(jī)與外設(shè)間的I/O接口芯片。一個I/O接口芯片可以有多個I/O端口:(1)數(shù)據(jù)口(2)控制口(3)狀態(tài)口I/O端口編址是給所有I/O接口中的寄存器編址。I/O端口編址兩種方式:獨(dú)立編址與統(tǒng)一編址。1.獨(dú)立編址方式I/O寄存器地址空間和存儲器地址空間分開編址,但需一套專門的讀寫I/O的指令和控制信號。2.統(tǒng)一編址方式
I/O寄存器與數(shù)據(jù)存儲器單元同等對待,統(tǒng)一編址。不需要專門的I/O指令,直接使用訪問數(shù)據(jù)存儲器的指令進(jìn)行I/O操作,簡單、方便且功能強(qiáng)。MCS-51使用統(tǒng)一編址的方式
MCS-51單片機(jī)有片內(nèi)I/O接口和擴(kuò)展I/O接口。片內(nèi)I/O接口寄存器在SFR中,使用片內(nèi)數(shù)據(jù)存儲器空間。擴(kuò)展I/O接口使用片外數(shù)據(jù)存儲器地址空間。
輸出指令: 輸入指令:片內(nèi)尋址:MOVP1,A MOV A,P1
片外尋址:MOVX@DPTR,A MOVXA,@DPTR MOVX@R0,A MOVXA,@R0每一接口芯片中的一個功能寄存器(端口)的地址就相當(dāng)于一個RAM單元。7.1.2I/O數(shù)據(jù)的幾種傳送方式為實現(xiàn)和不同的外設(shè)的速度匹配,I/O接口必須根據(jù)不同外設(shè)選擇恰當(dāng)?shù)腎/O數(shù)據(jù)傳送方式。I/O數(shù)據(jù)傳送的幾種傳送方式是:1、程序傳送2、中斷傳送3、直接存儲器存取(DMA)傳送
CPU與外部設(shè)備間的數(shù)據(jù)傳送在程序控制下進(jìn)行的一種方式,分為條件傳送和無條件傳送。1、程序傳送(1)無條件傳送方式
外部設(shè)備總處于“準(zhǔn)備好”狀態(tài),無需測試。隨時可以傳送數(shù)據(jù),例如指示燈、發(fā)光二極管等。無條件輸入無條件輸出①硬件查詢電路設(shè)置狀態(tài)鎖存和數(shù)據(jù)鎖存電路。傳送前,CPU讀取外設(shè)的狀態(tài),確認(rèn)已為輸入輸出做好準(zhǔn)備,再進(jìn)行數(shù)據(jù)傳送。(2)條件傳送(查詢傳送)DBABAB數(shù)據(jù)端口狀態(tài)端口外部設(shè)備I/O接口D6②軟件查詢程序先輸入狀態(tài),決定是否進(jìn)行數(shù)據(jù)傳送。INPUT:MOVDPTR,#SATUS;狀態(tài)口地址WAIT:MOVXA,@DPTRJNBACC.7,WAIT MOVDPTR,#DATA;數(shù)據(jù)口地址 MOVXA,@DPTR查詢狀態(tài)輸入/輸出數(shù)據(jù)準(zhǔn)備就緒?YN接口大多數(shù)時間計算機(jī)與外設(shè)并行工作,計算機(jī)不必因等待而浪費(fèi)資源。當(dāng)外設(shè)準(zhǔn)備就緒,向CPU發(fā)出中斷請求信號。CPU暫停當(dāng)前程序,執(zhí)行I/O操作。當(dāng)I/O操作結(jié)束,CPU仍繼續(xù)被中斷的工作。大大提高系統(tǒng)的工作效率。2、中斷方式中斷方式傳送示意圖(DMA—DirectMemoryAccess)用于計算機(jī)與高速外設(shè)進(jìn)行大批量數(shù)據(jù)交換,由DMA控制器接管總線控制權(quán),RAM與外設(shè)之間直接數(shù)據(jù)傳輸,不需CPU的介入。3、直接存儲器存取方式第七章輸入和輸出 7.1并行I/O口的概念 7.2MCS-51內(nèi)部并行I/O口 7.3MCS-51并行口的擴(kuò)展RAM
P0口串行口
定時器計數(shù)器特殊功能寄存器(SFR)中斷系統(tǒng)ALU控制邏輯
P2口
P1口
P3口ROM/EPROMCPU內(nèi)部總線VccVssXTAL1XTAL2P2.0~P2.7P0.0~P0.788P1.0~P1.78P3.0~P3.788051/87517.2MCS-51內(nèi)部并行I/O口51單片機(jī)內(nèi)部有四個8位并行I/O端口。P0口:分時提供低8位地址和作8位雙向數(shù)據(jù)總線。P1口:通用I/O口。P2口:分時提供高8位地址。P3口:多功能口,第一功能做通用I/O口,多用于第二功能。P3口的第二功能狀態(tài)P3.0RXD串入(接收端)P3.1TXD串出(發(fā)送端)P3.6WR外部RAM寫信號P3.3INT1外部中斷1輸入P3.4T0計數(shù)器0輸入P3.5T1計數(shù)器1輸入第二功能作用口線P3.2INT0外部中斷0輸入P3.7RD外部RAM讀信號例:用4個發(fā)光二極管對應(yīng)顯示4個開關(guān)的開合狀態(tài)。 如P1.0合則P1.4亮,P1.1合則P1.5亮…MCS-51P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0
ORG0000H AJMPMAIN ORG0100HMAIN:ORLA,#0F0H MOVP1,A MOVA,P1 SWAPA MOVP1,A SJMPMAINEND第七章輸入和輸出 7.1并行I/O口的概念 7.2MCS-51內(nèi)部并行I/O口 7.3MCS-51并行口的擴(kuò)展I/O接口是MCS-51與外設(shè)交換數(shù)字信息的橋梁。單片機(jī)本身提供的I/O口線不多,真正用作I/O口線的只有P1口的8位和部分P3口線。在多數(shù)應(yīng)用系統(tǒng)中,MCS-51單片機(jī)都需要外擴(kuò)I/O接口電路。7.3MCS-51并行口的擴(kuò)展I/O口擴(kuò)展芯片主要有兩種:
可編程接口芯片(8255A、8155等)不可編程接口芯片(TTL、緩沖器電路等)7.3.1用74LSTTL電路擴(kuò)展并行I/O口
利用74LS273和74LS244,將P0口擴(kuò)展成簡單的輸入、輸出口的電路。P0口為雙向數(shù)據(jù)線,既能接收244的輸入數(shù)據(jù),又能將數(shù)據(jù)送給273輸出。
74LS273輸出端接8個LED發(fā)光二極管,以顯示8個按鈕開關(guān)狀態(tài),某位低電平時二極管發(fā)光。74LS244是緩沖驅(qū)動器,擴(kuò)展輸入口,接8個按鈕開關(guān)。當(dāng)P2.0=0,WR信號有效時,51單片機(jī)通過P0口輸出數(shù)據(jù)到74LS273。當(dāng)P2.0=0,RD信號有效時,通過244輸入按鍵數(shù)據(jù)。輸出程序段:
MOVA,#data ;數(shù)據(jù)→A MOVDPTR,#0FEFFH;I/O地址→DPTR MOVX@DPTR,A ;WR為低,數(shù)據(jù)經(jīng)74LS273口輸出 設(shè)擴(kuò)展輸入口和輸出口的端口地址為FEFFH。輸入程序段:
MOVDPTR,#0FEFFH;I/O地址→DPTRMOVXA,@DPTR ;RD為低,74LS244口;數(shù)據(jù)讀入內(nèi)部RAM例編寫程序把按鈕開關(guān)狀態(tài)通過上圖中的發(fā)光二極管顯示出來。程序如下:DDIS: MOVDPTR,#0FEFFH ;輸入口地址→DPTRLP: MOVXA,@DPTR ;按鈕開關(guān)狀態(tài)讀入A中MOVX@DPTR,A ;A中數(shù)據(jù)送輸出口SJMPLP ;反復(fù)連續(xù)執(zhí)行7.3.2用MCS-51的串行口擴(kuò)展并行口用74LS164擴(kuò)展并行輸出口74LS164:8位串入并出移位寄存器。
下圖是利用74LS164擴(kuò)展二個8位并行輸出口的接口電路。例:編寫將內(nèi)部RAM單元30H、31H的內(nèi)容經(jīng)串行口由74LS164并行輸出子程序。START:MOVR7,#02H ;設(shè)置要發(fā)送的字節(jié)個數(shù) MOVR0,#30H ;設(shè)置地址指針 MOVSCON,#00H;設(shè)置串行口為方式0SEND: MOVA,@R0 MOVSBUF,A;啟動串行口發(fā)送WAIT: JNBTI,WAIT ;一幀數(shù)據(jù)未發(fā)完,循環(huán)等待CLRTI INCR0 ;取下一個數(shù)DJNZR7,SEND ;未完,發(fā)完從子程序返回
RET可編程I/O擴(kuò)展:具有狀態(tài)寄存和命令寄存的功能,通過軟件編程方式,確定擴(kuò)展芯片的工作方式。典型芯片:8255A,8155。7.3.38255A可編程并行I/O口擴(kuò)展芯片并行接口芯片8255A
8255A是Intel公司生產(chǎn)的標(biāo)準(zhǔn)外圍接口電路。采用單一+5V電源供電,具有40條引腳。三個端口A、B、C,A、B是單純的數(shù)據(jù)口,C口既可作數(shù)據(jù)口,也可作控制口。
C7-4控制A口,合稱A組;
C3-0控制B口,合稱B組。數(shù)據(jù)線D7-D0,PA7-PA0,PB7-PB0,PC7-PC0。尋址線
片選信號CSA1和A0四種組合分別選擇A、B、C和控制寄存器??刂凭€
讀信號(CPU對8255A讀操作)寫信號(CPU對8255A寫操作)reset(復(fù)位)電源線單一+5V電源。
8255A主要特點:具有多種功能的可編程并行接口電路芯片最基本的接口電路:三態(tài)緩沖器和鎖存器與CPU間、與外設(shè)間的接口電路:狀態(tài)寄存器和控制寄存器還有端口的譯碼和控制電路、中斷控制電路分3個端口,共24個外設(shè)引腳共三種輸入輸出工作方式8255A的內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~D7A組控制A組端口AA組端口C上部B組控制B組端口BB組端口C下部讀寫控制邏輯PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET1.外設(shè)數(shù)據(jù)端口端口A:PA0~PA7A組,支持工作方式0、1、2端口B:PB0~PB7B組,支持工作方式0、1端口C:PC0~PC7僅支持工作方式0A組控制高4位PC4~PC7B組控制低4位PC0~PC3端口A:PA0~PA7常作數(shù)據(jù)端口,功能最強(qiáng)大端口B:PB0~PB7常作數(shù)據(jù)端口端口C:PC0~PC7可作數(shù)據(jù)、狀態(tài)和控制端口分兩個4位,每位可獨(dú)立操作控制最靈活,最難掌握2.與處理器接口CSA1A0I/O地址讀操作RD寫操作WR000001010011D000HD001HD002HD003H讀端口A讀端口B讀端口C非法寫端口A寫端口B寫端口C寫控制字假設(shè):CS片選地址范圍(D000H~DFFFH)
8255A的工作方式方式0:基本輸入輸出方式適用于無條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式適用于查詢和中斷方式的接口電路方式2:雙向選通傳送方式適用于雙向傳送數(shù)據(jù)的外設(shè)適用于查詢和中斷方式的接口電路方式0:基本輸入輸出方式兩個8位口PA、PB和兩個4位口,輸入輸出的任意組合。適用于無條件數(shù)據(jù)傳輸。也可以對C口進(jìn)行位操作,以C口某一狀態(tài),實現(xiàn)查詢方式數(shù)據(jù)傳送。例如:從口線讀入一組開關(guān)狀態(tài),向端口輸出數(shù)字量,控制一組指示燈的亮、滅。不需要聯(lián)絡(luò)信號。方式1:選通輸入輸出方式PA、PB口用于數(shù)據(jù)輸入\輸出,PC口提供數(shù)據(jù)傳送聯(lián)絡(luò)信號(有固定對應(yīng)關(guān)系的選通信號和應(yīng)答信號)。STB——選通信號,低電平有效由外設(shè)提供的輸入信號,當(dāng)其有效時,將外設(shè)送來的8位數(shù)據(jù)送至8255A的輸入緩沖器IBF——輸入緩沖器滿信號,高電平有效8255A輸出的聯(lián)絡(luò)信號。當(dāng)其有效時,表示已有數(shù)據(jù)在輸入緩沖器INTR——中斷請求信號,高電平有效8255A輸出的信號,可用于向CPU提出中斷請求,要求CPU讀取外設(shè)數(shù)據(jù)輸入聯(lián)絡(luò)信號:方式1輸入引腳:A端口數(shù)據(jù)選通信號表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號表示A口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)STB、INTE、IBF都為高電平時PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中斷允許信號,控制A口中斷允許或屏蔽方式1輸入引腳:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB數(shù)據(jù)選通信號表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號表示B口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)STB、INTE、IBF都為高電平時中斷允許信號,控制B口中斷的允許與屏蔽方式1需借用端口C用做聯(lián)絡(luò)信號同時還具有中斷請求和屏蔽功能方式1輸出引腳:A端口外設(shè)響應(yīng)信號表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)通知外設(shè)取走中斷請求信號請求CPU再次輸出數(shù)據(jù)PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中斷允許信號方式1輸出引腳:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外設(shè)響應(yīng)信號表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)通知外設(shè)取走中斷請求信號請求CPU再次輸出數(shù)據(jù)中斷允許信號只有端口A可以工作于方式2,需要利用端口C的5個信號線,其作用與方式1相同。PA工作于方式2下,則PB可工作在方式0和方式1。方式2:雙向選通傳送方式方式2雙向引腳PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6設(shè)置INTE1(輸出)用PC4設(shè)置INTE2(輸入)輸入和輸出中斷通過或門輸出INTRA信號PC口聯(lián)絡(luò)信號定義8255A的編程初始化編程:一個方式控制字采用控制I/O地址:A1A0=11工作過程中:通過數(shù)據(jù)端口對外設(shè)數(shù)據(jù)進(jìn)行讀寫數(shù)據(jù)讀寫利用端口A、B和C的I/O地址,A1A0依次等于00、01、10在MCS-51單片機(jī)上,若片選CS地址范圍為:D000H~DFFFH,則端口A、B、C和控制端口的I/O地址分別為D000H、D001H、D002H和D003H。1.寫入方式控制字:控制字格式舉例要求:A端口:方式1輸入C端口上半部:輸出,C口下半部:輸入B端口:方式0輸出方式控制字:10110001B或B1H初始化的程序段:
movdptr,#0d003h ;假設(shè)控制端口為d003H
mova,#0b1h ;方式控制字
movx@dptr,a ;送到控制端口練習(xí)
假設(shè)8255A的控制字寄存器地址為FF7FH,則令A(yù)口和C口的高4位工作在方式0輸出,B口和C口的低4位工作于方式0輸入,初始化程序:MOVDPTR,#0FF7FH;控制字寄存器地址送DPTRMOVA,#83H;方式控制字83H送AMOVX@DPTR,A;83H送控制字寄存器2.C口按位置位/復(fù)位控制字可對C口8位中的任一位置“1”或清“0”。用于位控。位控制字寫入控制端口特別便于置位復(fù)位內(nèi)部中斷允許觸發(fā)器INTED7D6D5D4D3D2D1D0方式1輸入I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1輸出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2雙向OBFAINTE1IBFAINTE2INTRA×××端口C的狀態(tài)字A組B組舉例:若8255A的控制字寄存器選口地址為70FBH,試寫出令PC3先置“1”以及后置“0”的程序。程序:
MOVDPTR,#70FBH;命令口地址MOVA,#07H ;PC3=1命令MOVX@DPTR,A MOVA,#06H ;PC3=0命令MOVX@DPTR,A8255A的應(yīng)用作為通用的并行接口芯片,8255A具有廣泛的應(yīng)用應(yīng)用在單片機(jī)、IBMPC機(jī)上應(yīng)用于打印機(jī)接口電路連接簡易鍵盤控制和驅(qū)動LED數(shù)碼管……1、8255A與51系統(tǒng)的連接 51單片機(jī)擴(kuò)展的I/O接口均與片外RAM統(tǒng)一編址。8255A與8051的接口電路
軟件編程舉例要求8255A工作在方式0,且A口作為輸入,B口、C口作為輸出,程序如下: MOV A,#90H;A口方式0輸入,B口、C口輸出的方式控制送A MOV DPTR,#0FF7FH;控制寄存器地址→DPTR MOVX@DPTR,A ;方式控制字→控制寄存器MOV DPTR,#0FF7CH;A口地址→DPTRMOVXA,@DPTR ;從A口讀數(shù)據(jù)……MOVDPTR,#0FF7DH;B口地址→DPTRMOV A,#DATA1 ;要輸出的數(shù)據(jù)DATA1→AMOVX@DPTR,A;將DATA1送B口輸出MOVDPTR,#0FF7EH;C口地址→DPTRMOVA,#DATA2 ;DATA2→AMOVX@DPTR,A ;將數(shù)據(jù)DATA2送C口輸出2、用8255A方式0與打印機(jī)接口BUSY
DATA0~78255APC7PC2PA0~PA7打印機(jī)STROBE打印機(jī)接口的信號與時序BUSYDATA0~7ACKSTROBE數(shù)據(jù)數(shù)據(jù)主機(jī)把數(shù)據(jù)送給引腳DATA0~DATA7同時送出數(shù)據(jù)選通信號STROBE打印機(jī)在BUSY信號線上發(fā)出忙信號打印機(jī)處理好輸入的數(shù)據(jù)時撤消忙信號同時又送出一個響應(yīng)信號ACK例1:
8255A的初始化Init_8255:
movdptr,#0d003h
;控制端口地址:0d003H
mova,#10000001b
;方式控制字:81H
movx@dptr,a
;A端口方式0輸出,;C端口上端輸出、下端輸入
mova,#00001111b
;端口C的復(fù)位置位控制字,使PC7=1
movx@dptr,a
PA0-PA7口輸出PC7輸出PC2輸入例1:打印子程序:查詢prn:movdptr,#0d002h
;讀取端口C
movxa,@dptr
;查詢打印機(jī)狀態(tài)
movc,acc.2
;PC2=BUSY=0?
jcprn
;PC2=1,打印機(jī)忙,則循環(huán)等待
movdptr,#0d00h
;PC2=0,打印機(jī)不忙,則輸出數(shù)據(jù)
mova,@r0
incr0
movx@dptr,a
;將打印數(shù)據(jù)從端口A輸出
movdptr,#0d003h
;從PC7送出控制低脈沖
mova,#00001110b
;置PC7(STROBE)=0
movx@dptr,a
nop
;產(chǎn)生一定寬度的低電平
mova,#00001111b
;置PC7=1
movx@dptr,a;最終,STROBE*產(chǎn)生低脈沖信號
retBUSYDATA0~7ACKSTROBE本章總結(jié)深刻理解8255A的基本特性;了解8255A的外部特性和內(nèi)部結(jié)構(gòu);熟練掌握8255A的兩個控制字的含義和使用;熟練掌握8255A的三種工作方式的特點、原理,能夠用它們解決實際問題。本章難點在于C口的使用。
在8255A的三個數(shù)據(jù)口中,C口用法較特殊、比較復(fù)雜,是學(xué)習(xí)的一個難點,為了更好的理解,下面做一個歸納:(1)C口被分成兩個四位端口,兩個端口只能以方式0工作,但分別可選擇輸入或輸出(若PC0選輸入,則PC1輸出無法辦到,因為它們同屬C口的下半部分)。(2)當(dāng)A、B口工作在選通方式時,C口的部分引腳被征用為聯(lián)絡(luò)信號,其余引腳還可工作在方式0。(3)通過向控制口寫入位控字,C口某個引腳輸出1或0,該操作每次限定對一位操作。位控字有兩個作用:輸出控制;對8255A內(nèi)部的中斷允許觸發(fā)器置位或復(fù)位。END一、8155內(nèi)部結(jié)構(gòu)256×8靜態(tài)RAMPA口PB口PC口14位定時/計數(shù)器PA7~PA0PB7~PB0PC5~PC0TIMEOUTTIMEINAD7~AD0ALE/RD/WR/CEIO/MRESETVccGNDCPUI/O設(shè)備7.3.48155可編程并行I/O口擴(kuò)展芯片
8155含有:
①256字節(jié)的RAM;
②一個14位定時/計數(shù)器
③三個并行I/O口:A、B、C口。其中A、B口為8位,C口為6位。A、B口可作為基本I/O口,也可作為選通I/O口;C口除可作為基本I/O口外,還可用作A口、B口的應(yīng)答控制聯(lián)絡(luò)信號線;
④一個控制寄存器組,用來存放控制命令字;8155引腳說明: ①AD0~AD7:地址/數(shù)據(jù)復(fù)用線??膳cP0口直接相連。 ②CE:片選,輸入,低電平有效。 ③IO/M:RAM和I/O口選擇線。當(dāng)IO/M=1時,選中I/O口;當(dāng)IO/M=0時,選中RAM。 ④ALE:地址鎖存信號。⑤RD:讀選通,輸入,低電平有效。 ⑥WR:寫選通,輸入,低電平有效。 ⑦TIMERIN:定時器輸入,是片內(nèi)定時器的脈沖信號輸入端。 ⑧TIMEROUT:定時器輸出,計時結(jié)束時可以輸出矩形波或脈沖波。 ⑨PA0~PA7、PB0~PB7:A/B口通用的輸入/輸出線。由編程來決定是輸入還是輸出。 ⑩PC0~PC5:C口的輸入/輸出或控制信號線。定時/計數(shù)器輸入端PA1PA2PA3PA4PA5PA6PA7PA0PB1PB2PB3PB4PB5PB6PB7PB0PC1PC2PC3PC4PC5PC0AD1AD2AD3AD4AD5AD6AD7AD0TIMEINTIMEOUTALEIO/MRESETRDWRCE8155芯片引腳功能RAM及IO選擇地址鎖存線三態(tài)地址/數(shù)據(jù)復(fù)用線端口A,I/O線端口B,I/O線端口C,I/O線讀選通信號線寫選通信號線片選線定時/計數(shù)器輸出端復(fù)位端1IO0MCPU外設(shè)二、CPU對8155I/O口的控制
8155芯片中的RAM和I/O口占用系統(tǒng)片外RAM的地址,其中高8位地址確定CE和IO/M。 當(dāng)CE=0,IO/M=0時,低8位的00H~FFH為RAM的有效地址; 當(dāng)CE=0,IO/M=1時,低8位地址中的末3位(A2A1A0)來決定各個端口的地址,如下表所示。三、命令寄存器及狀態(tài)寄存器1、命令字格式(8位)
D7
D6
D5
D4D3D2
D1D0TM2
TM1IEBIEAPC2
PC1PB
PA0輸入1輸出1開中斷D0PAD1PBD3D20輸入1輸出PC2PC1A、B口為基本I/O口,C口輸入00A、B口為基本I/O口,C口輸出11
01
A口為選通方式,B口為基本I/OPC0~PC2口為PA口聯(lián)絡(luò)線PC3~PC5為基本I/O口10
A口、B口為選通I/OPC0~PC2口為PA口聯(lián)絡(luò)線PC3~PC5為PB口聯(lián)絡(luò)線0關(guān)中斷00空操作01停止計數(shù)10時間到,停止計數(shù)11置入方式控制字和計數(shù)初值后,立即啟動計數(shù)。若正在計數(shù),溢出后則按新的方式和初值計數(shù)??删幊炭煽氐摹爸粚懖蛔x”由CPU寫入⑴8155基本I/O方式邏輯結(jié)構(gòu)8I/O8I/O6I/O外設(shè)CPU8155PAPBPCAD0~AD7WRRDALEIO/MCE8基本輸入
MOVXA,@DPTR基本輸出
MOVX@DPTR,A88端口數(shù)據(jù)線8端口數(shù)據(jù)線AINTRABFASTBBINTRBBFBSTB至CPU至外設(shè)自外設(shè)至CPU至外設(shè)自外設(shè)8155PAPBAD0~AD7WRRDALEIO/MCEPC0PC1PC2PC3PC4PC5⑵8155選通I/O方式邏輯結(jié)構(gòu)CPUA口外設(shè)B口外設(shè)帶聯(lián)絡(luò)信號的應(yīng)答式輸入、輸出聯(lián)絡(luò)線聯(lián)絡(luò)線INTR:中斷請求輸出線,高電平有效當(dāng)A口(B口)設(shè)備接收到數(shù)據(jù);或設(shè)備從A口(B口)緩沖器取走數(shù)據(jù)時,INTR為高,向單片機(jī)(CPU)請求中斷。BF:緩沖器狀態(tài)標(biāo)志輸出線緩沖器“滿”時BF為高,緩沖器“空”時BF為低STB:設(shè)備選通信號輸入線,低電平有效作
CPU的外部中斷請求輸入線僅當(dāng)相應(yīng)的中斷允許位為“1”時INTR為高命令字中三根聯(lián)絡(luò)線0無中斷1有中斷2、狀態(tài)字格式
(8位)
D7D6
D5
D4
D3
D2
D1
D00空TIMER1滿未用中斷標(biāo)志由CPU讀出AAAINTRBFINTEBBBINTRBFINTE緩沖器滿空標(biāo)志中斷允許0關(guān)中斷1開中斷定時器中斷標(biāo)志1計數(shù)溢出時0讀出狀態(tài)或復(fù)位時“只讀不寫”四、8155內(nèi)部定時器TIMERIN:定時器時鐘輸入端TIMEROUT:為定時器輸出,輸出各種波形:a單次方波b連續(xù)方波c單次脈沖d連續(xù)脈沖14位減法計數(shù)器可接系統(tǒng)時鐘,作定時器也可接外部輸入,作計數(shù)器定時器編程:首先將計數(shù)常數(shù)及定時器輸出方式送入定時器口計數(shù)常數(shù)在0002H~3FFFH之間
D7
D6
D5
D4D3
D2D1
D0T13T12
T11T10T9
T8
T7T6T5T4T3T2T1T000
單次方波01
連續(xù)方波10
單次脈沖11
連續(xù)脈沖
D7
D6
D5
D4D3
D2D1
D004H計數(shù)器低8位TL05H計數(shù)器高6位TH工作方式M2M18155定時器格式:
地址04H地址05H五、MCS-51與8155的接口方法和應(yīng)用實例例1:8031與8155接口并確定RAM和I/O口地址電路連接如下:8031的P0.0~P0.7
與8155的AD0~AD7
相連51單片機(jī)與8155接口連接,不需要任何附加邏輯即可增加:256BRAM14位定時器22根
I/O
口線8031的P2.7與
8155
的CE相連8031的P2.0
與8155
的IO/M
相連8155與8031接口電路P2.7P2.0CEP00P01P02P03P04P05P06P07AD0AD1AD2AD3AD4AD5AD6AD7IO/M80318155ALEALE地址分配:7F00H命令狀態(tài)寄存器7F01HPA口7F02HPB口7F03HPC口7F04H定時器低8位7F05H定
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 異黃樟素生物合成機(jī)制-洞察分析
- 元宇宙的區(qū)塊鏈技術(shù)應(yīng)用-洞察分析
- 《熔體破裂現(xiàn)象》課件
- 性激素與子宮內(nèi)膜異位癥-洞察分析
- 疫情期間的健康防護(hù)-洞察分析
- 辦公環(huán)境下的食品安全培訓(xùn)課程設(shè)計
- 玩具設(shè)計師職責(zé)描述
- 內(nèi)容創(chuàng)新推動下的教育現(xiàn)代化進(jìn)程
- 健康教育課程的設(shè)計與實踐應(yīng)用研究
- 2025購銷合同解除協(xié)議書
- 2025公司集團(tuán)蛇年新春年會游園(靈蛇舞動共創(chuàng)輝煌主題)活動策劃方案-31P
- 2024年高考?xì)v史必修部分重點必考知識點總結(jié)(經(jīng)典版)
- 《計算機(jī)視覺》教學(xué)課件-第08章1-神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)1
- 職業(yè)衛(wèi)生技術(shù)服務(wù)機(jī)構(gòu)檢測人員考試真題題庫
- 人教版2024年小學(xué)二年級上學(xué)期語文期末考試往年真題
- 安全月度例會匯報材料模板
- 大國兵器學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年無子女離婚協(xié)議書范文百度網(wǎng)盤
- UNIT 4 Section Ⅳ Lesson 3 My Favourite Comedian 學(xué)案 高中英語北師大版 (選擇性必修第二冊)
- 24秋國家開放大學(xué)《0-3歲嬰幼兒的保育與教育》期末大作業(yè)參考答案
- 流行病學(xué)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論