單片機第7章-輸入與輸出_第1頁
單片機第7章-輸入與輸出_第2頁
單片機第7章-輸入與輸出_第3頁
單片機第7章-輸入與輸出_第4頁
單片機第7章-輸入與輸出_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

采用I/O接口的必要性1、CPU和外設間數(shù)據(jù)傳送有如下特點:1)外設種類繁多。機械式、機電式、電子式…2)外部設備工作速度差異很大。慢速設備:開關(guān)、鍵盤等;中速:打印機;高速:磁盤等。CPU無法按固定時序協(xié)調(diào)各方的工作。3)外設數(shù)據(jù)信號多樣化。電壓信號、電流信號、數(shù)字量、模擬量等。第七章輸入和輸出 7.1并行I/O口的概念 7.2MCS-51內(nèi)部并行I/O口 7.3MCS-51并行口的擴展第七章輸入和輸出 7.1并行I/O口的概念 7.2MCS-51內(nèi)部并行I/O口 7.3MCS-51并行口的擴展7.1并行I/O口的概念

計算機為什么需要I/O接口?2、I/O接口的作用1.地址譯碼能根據(jù)CPU給出的地址找到指定的外設。2.數(shù)據(jù)緩沖能對傳送的數(shù)據(jù)進行緩沖,以協(xié)調(diào)CPU與外設的速度。3.信息變換將外設的信息,變成與CPU相容的格式。如:模擬數(shù)字…4.提供狀態(tài)信息將外設的狀態(tài)信息如:忙、閑、就緒、滿、空等狀態(tài)提供給CPU,以便CPU對外設產(chǎn)生同步控制命令。5.能對中斷進行管理建立中斷請求、中斷排隊、中斷識別與中斷響應等。微型機I/O接口I/O接口I/O設備I/O設備1)速度協(xié)調(diào)數(shù)據(jù)在DB上停留時間十分短暫。2)數(shù)據(jù)鎖存8051單片機的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門輸出端用導線直接相連,實現(xiàn)“線與”功能)使用時,需外接上拉電阻。7.1.1I/O端口的編址首先清楚I/O接口(Interface)和I/O端口(Port)的概念?!?/p>

I/O端口:簡稱I/O口,指具有端口地址的寄存器或緩沖器。◆I/O接口:是指單片機與外設間的I/O接口芯片。一個I/O接口芯片可以有多個I/O端口:(1)數(shù)據(jù)口(2)控制口(3)狀態(tài)口I/O端口編址是給所有I/O接口中的寄存器編址。I/O端口編址兩種方式:獨立編址與統(tǒng)一編址。1.獨立編址方式I/O寄存器地址空間和存儲器地址空間分開編址,但需一套專門的讀寫I/O的指令和控制信號。2.統(tǒng)一編址方式

I/O寄存器與數(shù)據(jù)存儲器單元同等對待,統(tǒng)一編址。不需要專門的I/O指令,直接使用訪問數(shù)據(jù)存儲器的指令進行I/O操作,簡單、方便且功能強。MCS-51使用統(tǒng)一編址的方式

MCS-51單片機有片內(nèi)I/O接口和擴展I/O接口。片內(nèi)I/O接口寄存器在SFR中,使用片內(nèi)數(shù)據(jù)存儲器空間。擴展I/O接口使用片外數(shù)據(jù)存儲器地址空間。

輸出指令: 輸入指令:片內(nèi)尋址:MOVP1,A MOV A,P1

片外尋址:MOVX@DPTR,A MOVXA,@DPTR MOVX@R0,A MOVXA,@R0每一接口芯片中的一個功能寄存器(端口)的地址就相當于一個RAM單元。7.1.2I/O數(shù)據(jù)的幾種傳送方式為實現(xiàn)和不同的外設的速度匹配,I/O接口必須根據(jù)不同外設選擇恰當?shù)腎/O數(shù)據(jù)傳送方式。I/O數(shù)據(jù)傳送的幾種傳送方式是:1、程序傳送2、中斷傳送3、直接存儲器存?。―MA)傳送

CPU與外部設備間的數(shù)據(jù)傳送在程序控制下進行的一種方式,分為條件傳送和無條件傳送。1、程序傳送(1)無條件傳送方式

外部設備總處于“準備好”狀態(tài),無需測試。隨時可以傳送數(shù)據(jù),例如指示燈、發(fā)光二極管等。無條件輸入無條件輸出①硬件查詢電路設置狀態(tài)鎖存和數(shù)據(jù)鎖存電路。傳送前,CPU讀取外設的狀態(tài),確認已為輸入輸出做好準備,再進行數(shù)據(jù)傳送。(2)條件傳送(查詢傳送)DBABAB數(shù)據(jù)端口狀態(tài)端口外部設備I/O接口D6②軟件查詢程序先輸入狀態(tài),決定是否進行數(shù)據(jù)傳送。INPUT:MOVDPTR,#SATUS;狀態(tài)口地址WAIT:MOVXA,@DPTRJNBACC.7,WAIT MOVDPTR,#DATA;數(shù)據(jù)口地址 MOVXA,@DPTR查詢狀態(tài)輸入/輸出數(shù)據(jù)準備就緒?YN接口大多數(shù)時間計算機與外設并行工作,計算機不必因等待而浪費資源。當外設準備就緒,向CPU發(fā)出中斷請求信號。CPU暫停當前程序,執(zhí)行I/O操作。當I/O操作結(jié)束,CPU仍繼續(xù)被中斷的工作。大大提高系統(tǒng)的工作效率。2、中斷方式中斷方式傳送示意圖(DMA—DirectMemoryAccess)用于計算機與高速外設進行大批量數(shù)據(jù)交換,由DMA控制器接管總線控制權(quán),RAM與外設之間直接數(shù)據(jù)傳輸,不需CPU的介入。3、直接存儲器存取方式第七章輸入和輸出 7.1并行I/O口的概念 7.2MCS-51內(nèi)部并行I/O口 7.3MCS-51并行口的擴展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單片機內(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ā)光二極管對應顯示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并行口的擴展I/O接口是MCS-51與外設交換數(shù)字信息的橋梁。單片機本身提供的I/O口線不多,真正用作I/O口線的只有P1口的8位和部分P3口線。在多數(shù)應用系統(tǒng)中,MCS-51單片機都需要外擴I/O接口電路。7.3MCS-51并行口的擴展I/O口擴展芯片主要有兩種:

可編程接口芯片(8255A、8155等)不可編程接口芯片(TTL、緩沖器電路等)7.3.1用74LSTTL電路擴展并行I/O口

利用74LS273和74LS244,將P0口擴展成簡單的輸入、輸出口的電路。P0口為雙向數(shù)據(jù)線,既能接收244的輸入數(shù)據(jù),又能將數(shù)據(jù)送給273輸出。

74LS273輸出端接8個LED發(fā)光二極管,以顯示8個按鈕開關(guān)狀態(tài),某位低電平時二極管發(fā)光。74LS244是緩沖驅(qū)動器,擴展輸入口,接8個按鈕開關(guān)。當P2.0=0,WR信號有效時,51單片機通過P0口輸出數(shù)據(jù)到74LS273。當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口輸出 設擴展輸入口和輸出口的端口地址為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 ;反復連續(xù)執(zhí)行7.3.2用MCS-51的串行口擴展并行口用74LS164擴展并行輸出口74LS164:8位串入并出移位寄存器。

下圖是利用74LS164擴展二個8位并行輸出口的接口電路。例:編寫將內(nèi)部RAM單元30H、31H的內(nèi)容經(jīng)串行口由74LS164并行輸出子程序。START:MOVR7,#02H ;設置要發(fā)送的字節(jié)個數(shù) MOVR0,#30H ;設置地址指針 MOVSCON,#00H;設置串行口為方式0SEND: MOVA,@R0 MOVSBUF,A;啟動串行口發(fā)送WAIT: JNBTI,WAIT ;一幀數(shù)據(jù)未發(fā)完,循環(huán)等待CLRTI INCR0 ;取下一個數(shù)DJNZR7,SEND ;未完,發(fā)完從子程序返回

RET可編程I/O擴展:具有狀態(tài)寄存和命令寄存的功能,通過軟件編程方式,確定擴展芯片的工作方式。典型芯片:8255A,8155。7.3.38255A可編程并行I/O口擴展芯片并行接口芯片8255A

8255A是Intel公司生產(chǎ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(復位)電源線單一+5V電源。

8255A主要特點:具有多種功能的可編程并行接口電路芯片最基本的接口電路:三態(tài)緩沖器和鎖存器與CPU間、與外設間的接口電路:狀態(tài)寄存器和控制寄存器還有端口的譯碼和控制電路、中斷控制電路分3個端口,共24個外設引腳共三種輸入輸出工作方式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ù)據(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ù)端口,功能最強大端口B:PB0~PB7常作數(shù)據(jù)端口端口C:PC0~PC7可作數(shù)據(jù)、狀態(tài)和控制端口分兩個4位,每位可獨立操作控制最靈活,最難掌握2.與處理器接口CSA1A0I/O地址讀操作RD寫操作WR000001010011D000HD001HD002HD003H讀端口A讀端口B讀端口C非法寫端口A寫端口B寫端口C寫控制字假設:CS片選地址范圍(D000H~DFFFH)

8255A的工作方式方式0:基本輸入輸出方式適用于無條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式適用于查詢和中斷方式的接口電路方式2:雙向選通傳送方式適用于雙向傳送數(shù)據(jù)的外設適用于查詢和中斷方式的接口電路方式0:基本輸入輸出方式兩個8位口PA、PB和兩個4位口,輸入輸出的任意組合。適用于無條件數(shù)據(jù)傳輸。也可以對C口進行位操作,以C口某一狀態(tài),實現(xiàn)查詢方式數(shù)據(jù)傳送。例如:從口線讀入一組開關(guān)狀態(tài),向端口輸出數(shù)字量,控制一組指示燈的亮、滅。不需要聯(lián)絡信號。方式1:選通輸入輸出方式PA、PB口用于數(shù)據(jù)輸入\輸出,PC口提供數(shù)據(jù)傳送聯(lián)絡信號(有固定對應關(guān)系的選通信號和應答信號)。STB——選通信號,低電平有效由外設提供的輸入信號,當其有效時,將外設送來的8位數(shù)據(jù)送至8255A的輸入緩沖器IBF——輸入緩沖器滿信號,高電平有效8255A輸出的聯(lián)絡信號。當其有效時,表示已有數(shù)據(jù)在輸入緩沖器INTR——中斷請求信號,高電平有效8255A輸出的信號,可用于向CPU提出中斷請求,要求CPU讀取外設數(shù)據(jù)輸入聯(lián)絡信號:方式1輸入引腳:A端口數(shù)據(jù)選通信號表示外設已經(jīng)準備好數(shù)據(jù)輸入緩沖器滿信號表示A口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)STB、INTE、IBF都為高電平時PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中斷允許信號,控制A口中斷允許或屏蔽方式1輸入引腳:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB數(shù)據(jù)選通信號表示外設已經(jīng)準備好數(shù)據(jù)輸入緩沖器滿信號表示B口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)STB、INTE、IBF都為高電平時中斷允許信號,控制B口中斷的允許與屏蔽方式1需借用端口C用做聯(lián)絡信號同時還具有中斷請求和屏蔽功能方式1輸出引腳:A端口外設響應信號表示外設已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)通知外設取走中斷請求信號請求CPU再次輸出數(shù)據(jù)PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中斷允許信號方式1輸出引腳:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外設響應信號表示外設已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)通知外設取走中斷請求信號請求CPU再次輸出數(shù)據(jù)中斷允許信號只有端口A可以工作于方式2,需要利用端口C的5個信號線,其作用與方式1相同。PA工作于方式2下,則PB可工作在方式0和方式1。方式2:雙向選通傳送方式方式2雙向引腳PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6設置INTE1(輸出)用PC4設置INTE2(輸入)輸入和輸出中斷通過或門輸出INTRA信號PC口聯(lián)絡信號定義8255A的編程初始化編程:一個方式控制字采用控制I/O地址:A1A0=11工作過程中:通過數(shù)據(jù)端口對外設數(shù)據(jù)進行讀寫數(shù)據(jù)讀寫利用端口A、B和C的I/O地址,A1A0依次等于00、01、10在MCS-51單片機上,若片選CS地址范圍為:D000H~DFFFH,則端口A、B、C和控制端口的I/O地址分別為D000H、D001H、D002H和D003H。1.寫入方式控制字:控制字格式舉例要求:A端口:方式1輸入C端口上半部:輸出,C口下半部:輸入B端口:方式0輸出方式控制字:10110001B或B1H初始化的程序段:

movdptr,#0d003h ;假設控制端口為d003H

mova,#0b1h ;方式控制字

movx@dptr,a ;送到控制端口練習

假設8255A的控制字寄存器地址為FF7FH,則令A口和C口的高4位工作在方式0輸出,B口和C口的低4位工作于方式0輸入,初始化程序:MOVDPTR,#0FF7FH;控制字寄存器地址送DPTRMOVA,#83H;方式控制字83H送AMOVX@DPTR,A;83H送控制字寄存器2.C口按位置位/復位控制字可對C口8位中的任一位置“1”或清“0”。用于位控。位控制字寫入控制端口特別便于置位復位內(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的應用作為通用的并行接口芯片,8255A具有廣泛的應用應用在單片機、IBMPC機上應用于打印機接口電路連接簡易鍵盤控制和驅(qū)動LED數(shù)碼管……1、8255A與51系統(tǒng)的連接 51單片機擴展的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與打印機接口BUSY

DATA0~78255APC7PC2PA0~PA7打印機STROBE打印機接口的信號與時序BUSYDATA0~7ACKSTROBE數(shù)據(jù)數(shù)據(jù)主機把數(shù)據(jù)送給引腳DATA0~DATA7同時送出數(shù)據(jù)選通信號STROBE打印機在BUSY信號線上發(fā)出忙信號打印機處理好輸入的數(shù)據(jù)時撤消忙信號同時又送出一個響應信號ACK例1:

8255A的初始化Init_8255:

movdptr,#0d003h

;控制端口地址:0d003H

mova,#10000001b

;方式控制字:81H

movx@dptr,a

;A端口方式0輸出,;C端口上端輸出、下端輸入

mova,#00001111b

;端口C的復位置位控制字,使PC7=1

movx@dptr,a

PA0-PA7口輸出PC7輸出PC2輸入例1:打印子程序:查詢prn:movdptr,#0d002h

;讀取端口C

movxa,@dptr

;查詢打印機狀態(tài)

movc,acc.2

;PC2=BUSY=0?

jcprn

;PC2=1,打印機忙,則循環(huán)等待

movdptr,#0d00h

;PC2=0,打印機不忙,則輸出數(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口用法較特殊、比較復雜,是學習的一個難點,為了更好的理解,下面做一個歸納:(1)C口被分成兩個四位端口,兩個端口只能以方式0工作,但分別可選擇輸入或輸出(若PC0選輸入,則PC1輸出無法辦到,因為它們同屬C口的下半部分)。(2)當A、B口工作在選通方式時,C口的部分引腳被征用為聯(lián)絡信號,其余引腳還可工作在方式0。(3)通過向控制口寫入位控字,C口某個引腳輸出1或0,該操作每次限定對一位操作。位控字有兩個作用:輸出控制;對8255A內(nèi)部的中斷允許觸發(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設備7.3.48155可編程并行I/O口擴展芯片

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口的應答控制聯(lián)絡信號線;

④一個控制寄存器組,用來存放控制命令字;8155引腳說明: ①AD0~AD7:地址/數(shù)據(jù)復用線??膳cP0口直接相連。 ②CE:片選,輸入,低電平有效。 ③IO/M:RAM和I/O口選擇線。當IO/M=1時,選中I/O口;當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ù)復用線端口A,I/O線端口B,I/O線端口C,I/O線讀選通信號線寫選通信號線片選線定時/計數(shù)器輸出端復位端1IO0MCPU外設二、CPU對8155I/O口的控制

8155芯片中的RAM和I/O口占用系統(tǒng)片外RAM的地址,其中高8位地址確定CE和IO/M。 當CE=0,IO/M=0時,低8位的00H~FFH為RAM的有效地址; 當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)絡線PC3~PC5為基本I/O口10

A口、B口為選通I/OPC0~PC2口為PA口聯(lián)絡線PC3~PC5為PB口聯(lián)絡線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外設CPU8155PAPBPCAD0~AD7WRRDALEIO/MCE8基本輸入

MOVXA,@DPTR基本輸出

MOVX@DPTR,A88端口數(shù)據(jù)線8端口數(shù)據(jù)線AINTRABFASTBBINTRBBFBSTB至CPU至外設自外設至CPU至外設自外設8155PAPBAD0~AD7WRRDALEIO/MCEPC0PC1PC2PC3PC4PC5⑵8155選通I/O方式邏輯結(jié)構(gòu)CPUA口外設B口外設帶聯(lián)絡信號的應答式輸入、輸出聯(lián)絡線聯(lián)絡線INTR:中斷請求輸出線,高電平有效當A口(B口)設備接收到數(shù)據(jù);或設備從A口(B口)緩沖器取走數(shù)據(jù)時,INTR為高,向單片機(CPU)請求中斷。BF:緩沖器狀態(tài)標志輸出線緩沖器“滿”時BF為高,緩沖器“空”時BF為低STB:設備選通信號輸入線,低電平有效作

CPU的外部中斷請求輸入線僅當相應的中斷允許位為“1”時INTR為高命令字中三根聯(lián)絡線0無中斷1有中斷2、狀態(tài)字格式

(8位)

D7D6

D5

D4

D3

D2

D1

D00空TIMER1滿未用中斷標志由CPU讀出AAAINTRBFINTEBBBINTRBFINTE緩沖器滿空標志中斷允許0關(guān)中斷1開中斷定時器中斷標志1計數(shù)溢出時0讀出狀態(tài)或復位時“只讀不寫”四、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的接口方法和應用實例例1:8031與8155接口并確定RAM和I/O口地址電路連接如下:8031的P0.0~P0.7

與8155的AD0~AD7

相連51單片機與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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論