




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第9章 并行I/O口的應(yīng)用與擴展 本章學習目標 掌握MCS-51單片機基本I/O口的應(yīng)用 與擴展串行通信控制寄存器掌握鍵盤與顯示器的擴展原理及方法掌握常用外圍電路接口芯片8255、8155、 8279的性能特點及使用方法。掌握存儲器的擴展原理與方法9.1 I/O擴展概述I/O接口電路也叫做輸入/輸出接口電路 9.1.1 I/O接口電路的功能并行通信1速度協(xié)調(diào) 2數(shù)據(jù)鎖存 3三態(tài)緩沖 4信息轉(zhuǎn)換9.1.2 I/O端口的編址 1I/O端口和存儲器統(tǒng)一編址方式 I/O端口和存儲器公用一個地址空間,端口與存儲器統(tǒng)一編址,即把每個I/O端口當做一個存儲單元,給它分配存儲空間的一個地址。2I/O端口獨立編
2、址方式這種方式是端口地址與存儲器地址分開編址。對I/O端口獨立編址,需要專門的I/O指令和接口信號訪問I/O端口。9.2 基本I/O口的應(yīng)用與擴展 9.2.1 I/O口的直接應(yīng)用 從P1.0P1.3輸入開關(guān)狀態(tài),再經(jīng)P1.4P1.7輸出去驅(qū)動發(fā)光二極管,使發(fā)光二極管顯示開關(guān)的狀態(tài)。 程序如下: ORG0000H AJMP MAIN ORG0030HMAIN:MOVA,#0FHMOVP1,A;熄滅發(fā)光二極管MOVA,P1;讀入開關(guān)狀態(tài)SWAPA;A高低半字節(jié)交換MOVP1,A;開關(guān)狀態(tài)輸出AJMP MAINEND擴展I/O接口所用的芯片主要有通用可編程I/O芯片和TTL、CMOS鎖存器、三態(tài)門電
3、路芯片兩大類。9.2.2 簡單并行I/O接口的擴展 采用74LS244做擴展輸入、74LS273做擴展輸出的簡單I/O擴展電路。程序如下: ORG0000H AJMP MAIN ORG0030HMAIN:MOV DPTR,#0FEFFH;數(shù)據(jù)指針指向I/O口地址 MOVX A,DPTR;從244讀入數(shù)據(jù),檢測按鍵MOVX DPTR,A ;向273輸出數(shù)據(jù),驅(qū)動LEDAJMP MAINEND9.3 鍵盤與顯示器的擴展 9.3.1 基本LED顯示原理 1LED顯示器的結(jié)構(gòu)與原理 共陰極共陽極十六進制數(shù)字形代碼表 字型共陽極代碼共陰極代碼字型共陽極代碼共陰極代碼0C0H3FH990H6FH1F9H0
4、6HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H滅FFH00H880H7FH2LED顯示器接口方法(1)以硬件為主的接口方法 (2)以軟件為主的接口方法 9.3.2 矩陣式鍵盤的擴展 鍵盤上的鍵按行列構(gòu)成矩陣,在行列的交點上都對應(yīng)有一個鍵。所謂鍵實際上就是一個機械開關(guān),被按下則其交點的行線和列線接通。非編碼鍵鍵盤接口技術(shù)的主要內(nèi)容就是如何確定被按鍵的行列位置,并根據(jù)此產(chǎn)生鍵碼。1鍵輸入過程與軟件結(jié)構(gòu)2鍵盤輸入接口與軟件應(yīng)解決的任務(wù) (1)鍵開關(guān)的可靠輸入 抖動的處理有硬件
5、處理和軟件處理兩種。(2)按鍵編碼與鍵號定義 (3)鍵盤檢測與編制鍵盤程序 3矩陣式鍵盤電路的結(jié)構(gòu)及工作原理一個44的行、列結(jié)構(gòu)可以構(gòu)成一個含有16個按鍵的鍵盤。 掃描方法:先令列線Y0為低電平(0),其余3根列線Y1、Y2、Y3都為高電平,讀行線狀態(tài)。如果X0、X1、X2、X3都為高電平,則Y0這一列上沒有鍵閉合,如果讀出的行線狀態(tài)不全為高電平,則為低電平的行線和Y0相交的鍵處于閉合狀態(tài);如果Y0這一列上沒有鍵閉合,接著使列線Y1為低電平,其余列線為高電平。用同樣的方法檢查Y1這一列上有無鍵閉合,依次類推,最后使列線Y3為低電平,其余列線為高電平,檢查Y3這一列有無鍵閉合。 4鍵盤接口舉例
6、82行列式鍵盤掃描接口電路 鍵盤掃描的程序(采用查詢方法) KS:MOVDPTR,#7FFFH;鍵掃描程序CLRP1.0;先掃描第1列(即07號鍵)MOVXA,DPTR;讀入按鍵狀態(tài)MOV37H,A;暫存按鍵狀態(tài)CPLA;JZKSK1;07號鍵沒有鍵操作,則跳LCALLDL20;07號鍵有操作,則延時去抖MOVXA,DPTR;再讀鍵狀態(tài)XRLA,37H;和延時前的狀態(tài)一樣嗎?JZKS1;一樣,則轉(zhuǎn)去查詢鍵號KSK1:SETBP1.0;開始掃描第2列,8F號鍵CLRP1.1MOVXA,DPTR;讀入按鍵狀態(tài)MOV37H,A;暫存按鍵狀態(tài)CPLAJZKSK2;8F號鍵沒有鍵操作,則跳LCALLDL
7、20;8F號鍵有操作,則延時去抖MOVXA,DPTR;再讀鍵狀態(tài)XRLA,37H;和延時前的狀態(tài)一樣嗎?JZKS1;一樣,則轉(zhuǎn)去查詢鍵號KSK2:AJMPKS9;8F號鍵也不存在操作,則跳KS1:MOVXA,DPTR;再讀按鍵狀態(tài)CPLAJNZKS1;按鍵沒有松開,則等待松開MOVA,37H;查詢有鍵操作的鍵號JBACC.0,KS2;不是第1個鍵,則跳MOV37H,#00H;賦鍵初值A(chǔ)JMPKS10KS2:JBACC.1,KS3;不是第2個鍵,則跳MOV37H,#01H;賦鍵初值A(chǔ)JMPKS10 9.3.4 8255A的應(yīng)用8255A是可編程的并行輸入/輸出接口芯片,通用性強且使用靈活,常用來
8、實現(xiàn)與MCS-51系列單片機的并行I/O擴展。 18255A的邏輯結(jié)構(gòu)和信號引腳 2總線接口電路(1)數(shù)據(jù)總線緩沖器 (2)讀/寫控制器 38255A的工作方式8255A共有三種工作方式,即方式0、方式1和方式2。 (1)方式0 基本輸入/輸出方式方式0適合于無條件數(shù)據(jù)傳送,可供使用的是兩個8位口(A口和B口)及兩個4位口(C口高位部分和低位部分)。 (2)方式1 選通輸入/輸出方式 方式1下,A口和B口分別用于數(shù)據(jù)的輸入/輸出。而C口則作為數(shù)據(jù)傳送的聯(lián)絡(luò)信號。具體定義見表。 (3)方式2 雙向數(shù)據(jù)傳送方式 只有A口才能選擇這種工作方式,這時A口既能輸入數(shù)據(jù)又能輸出數(shù)據(jù)。在這種方式下需使用C口
9、的五位口線作控制線。方式2適用于查詢或中斷方式的雙向數(shù)據(jù)傳送。如果把A口置于方式2下,則B口只能工作于方式0。58255A控制字及初始化編程(1)工作方式控制字 (2)C口位置位/復(fù)位位控制字 68255A的應(yīng)用 ORG0000H AJMPMAIN ORG0030HMAIN:MOVA,#90H;方式0,A口輸入C口輸出MOVDPTR,#7FFFH;控制寄存器地址DPTRMOVXDPTR,A;寫入控制寄存器MOVDPTR,#7FFCH;A口地址DPTRMOVXA,DPTR;接收A口數(shù)據(jù)MOVDPTR,#7FFEH;C口地址DPTRMOVXDPTR,A;將A口讀入數(shù)據(jù)送C口輸出 END8255A芯
10、片的PA端口的地址為7FFCH,PB端口的地址為7FFDH,PC端口的地址為7FFEH,控制寄存器的地址為7FFFH??捎谩癕OVX”指令來訪問這些端口。9.3.5 8155的應(yīng)用 1.主要接口信號引腳 AD7AD0:地址數(shù)據(jù)復(fù)合線。ALE:地址信號鎖存信號,除進行AD7AD0的地址鎖存控制外,還用于把片選信號和等信號進行鎖存。 :讀選通信號。 :寫選通信號。 :片選信號。 :I/O與片內(nèi)RAM選擇信號。8155內(nèi)部的I/O口與RAM是分開編址的,要使用控制信號進行區(qū)分。RESET:復(fù)位信號。8155以600ns的正脈沖進行復(fù)位后,復(fù)位后A、B、C口均為輸入方式。 PA和PB都是8位通用輸入/
11、輸出口,只有輸入/輸出兩種工作方式。而PC口則為6位口,它既可以作為數(shù)據(jù)口用于數(shù)據(jù)的I/O傳送,也可以用于傳送控制信號和狀態(tài)信號,對PA和PB的I/O操作進行控制。PC口具有4種工作方式,即輸入方式、輸出方式、PA口控制端口方式以及PA和PB口控制端口方式。 RAM單元及I/O編址 8155共有256個RAM單元,加上6個可編址的端口。為此8155引入了8位地址AD7AD0,無論是RAM還是可編址端口都使用這8位地址進行編址??删幹返?個端口地址是:命令/狀態(tài)寄存器、PA口、PB口、PC口、定時器/計數(shù)器低8位以及定時器/計數(shù)器高8位。 28155的命令/狀態(tài)字 8155有一個命令/狀態(tài)寄存器
12、,實際上這是兩個不同的寄存器,分別存放命令字和狀態(tài)字。(1)命令字命令字共8位,用于定義端口及定時器/計數(shù)器的工作方式。對命令寄存器只寫不能讀。ALT1:A口、B口基本輸入輸出,C口輸入。ALT2:A口、B口基本輸入輸出,C口輸出。ALT3:A口選通輸入輸出,B口基本輸入輸出,PC0: AINTR,PC1:ABF,PC2: ,PC5PC3:輸出。ALT4:A口、B口選通輸入輸出,PC0:AINTRPC1:ABF, PC2:,PC3:BINTR,PC4:BBF,PC5: 。 8155命令字格式 8155狀態(tài)字格式 38155的定時器/計數(shù)器 8155的定時器/計數(shù)器是一個14位的減法計數(shù)器,由兩
13、個8位寄存器構(gòu)成,其中的低14位組成計數(shù)器,剩下的兩個高位(M2、M1)用于定義計數(shù)器輸出的信號形式。T13T0為計數(shù)器的計數(shù)初值,M2、M1表示計數(shù)器的輸出方式。48051單片機與8155的接口及應(yīng)用 程序:ORG0000H AJMPMAINORG0030HMAIN:MOVDPTR,#7F00H;指向命令字端口MOVA,#02H;A口為輸入,B口、C口為輸出MOVXDPTR,A;送命令字MOVDPTR,#7F01H;指向A口地址MOVXA,DPTR;讀入A口的數(shù)據(jù)INCDPTR;指向B口MOVXDPTR,A;數(shù)據(jù)送入B口AJMPMAINEND9.3.6 8279的應(yīng)用 18279的內(nèi)部結(jié)構(gòu)原
14、理 28279的管腳及引線功能 (1)D0D7:雙向、三態(tài)數(shù)據(jù)總線。用與CPU和8279之間數(shù)據(jù)、命令和狀態(tài)的傳送。(2)CLK:時鐘輸入線,用于產(chǎn)生內(nèi)部時鐘。(3)RESET:復(fù)位輸入線,該引腳輸入一個高電平以復(fù)位8279。其復(fù)位狀態(tài)為:16個字符顯示左邊輸入;編碼掃描鍵盤雙鍵鎖定;時鐘系數(shù)為31。(4) :讀有效輸入線,低電平有效。讀有效時將數(shù)據(jù)讀出,送外部數(shù)據(jù)總線。(5) :寫有效輸入線,低電平有效。寫有效時接收外部數(shù)據(jù)總線上的數(shù)據(jù)。引線功能6)A0:緩沖器地址輸入線。當A0=1時CPU寫入8279的數(shù)據(jù)為命令字,CPU從8279讀出的數(shù)據(jù)為狀態(tài)字;當A0=0時,CPU讀、寫的信息均為數(shù)
15、據(jù)。(7) :片選信號。當為低電平時,CPU才選中8279進行讀寫。(8)IRQ:中斷請求輸出線,高電平有效。在鍵盤工作方式中,當FIFO RAM緩沖器中存有鍵盤上閉合鍵的編碼時,IRQ線升高,向CPU請求中斷 (9)SHIFT:換擋輸入線,高電平有效。(10)CNTL/STB:控制/選通輸入線,高電平有效。在鍵盤工作方式時,該輸入信號是鍵盤數(shù)據(jù)的最高位。在選通輸入方式時,該信號的上升沿可把來自RL0RL7的數(shù)據(jù)存入FIFO RAM中。在傳感器方式下,該信號無效。引線功能(11)RL0RL7:輸入線,它們是鍵盤矩陣或傳感器矩陣的列(或行)信號輸入線。作為鍵輸入線,由內(nèi)部上拉電阻拉成高電平,也可
16、由鍵盤上按鍵拉成低電平。 (12)SL0SL3:掃描輸出線,用于對鍵盤顯示器掃描。(13)OUTA0OUTA3:顯示段數(shù)據(jù)輸出線。(14)OUTB0OUTB3:顯示段數(shù)據(jù)輸出線。OUTB0OUTB3和OUTA0OUTA3可分別作為兩個半個字節(jié)輸出,也可作為8位段數(shù)據(jù)輸出口,此時OUTB0為最低位,OUTA3為最高位。(15)BD:顯示消隱輸出線,低電平有效。38279的命令格式與命令字 8279控制命令字 4狀態(tài)格式與狀態(tài)字 其中:NNN(D2、D1、D0)為表示FIFO RAM中字符的個數(shù)(閉合鍵次數(shù));FIFO中無字符(無鍵閉合)時,該3位為000;F(D3)為FIFO滿標志。當F=1時,
17、表示FIFO RAM已滿(存入8個鍵入數(shù)據(jù));U(D4)為讀空標志。當FIFO RAM中沒有輸入字符時,CPU對FIFO RAM讀,該位置“1”;O(D5)為FIFO RAM溢出標志。當FIFO已滿,又輸入一個字符時發(fā)生溢出,該位置“1”;S/E(D6)為S/E用于傳感器矩陣輸入方式,幾個傳感器同時閉合時置“1”;DU(D7)為顯示無效特征位。 5輸入數(shù)據(jù)格式 (1)在鍵掃描方式中,鍵輸入數(shù)據(jù)格式如下: (2)傳感器方式或選通方式中,輸入數(shù)據(jù)格式為: 68279與鍵盤/顯示器的接口 初始化程序:Z8279EQU7FFFH;8279狀態(tài)口地址D8279EQU7FFEH;8279數(shù)據(jù)口地址INIT
18、8279:MOVDPTR,#Z8279;指向命令/狀態(tài)口MOVA,#0D1H;送清除命令MOVXDPTR,AWAIT:MOVXA,DPTR;讀入8279狀態(tài)字JBACC.7,WAIT;等待清除命令完成MOVA,#00H;送方式字MOVXDPTR,AMOVA,#2AH;設(shè)置分頻命令字MOVXDPTR,ASETBEA讀取鍵盤子程序: PINT1:PUSHPSWPUSHDPHPUSHDPL PUSHAMOVDPTR,#Z8279MOVXA,DPTR;讀8279狀態(tài)ANLA,#07HJNZGETVAL;判斷是否有鍵輸入MOVA,#00H;置無鍵輸入標志SJMPNKBHITGETVAL:MOVA,#40
19、H;輸出讀FIFO命令MOVXDPTR,AMOVDPTR,#D8279;讀鍵輸入值 MOVXA,DPTR ANLA,#3FH;屏蔽SHIFT和CTRL鍵 MOVDPTR,#KEYCODE;鍵碼表起始地址 MOVCA,A+DPTR;查表 MOVB,A;置返回鍵值 MOVA,#0FFH;置有鍵輸入標志PRI1:POPA POPDPL POPDPH POPPSW RET顯示字符子程序: DISLED:PUSHDPHPUSHDPLPUSHAMOVDPTR,#Z8279H;輸出寫顯示RAM命令MOVA,#90HMOVXDPTR,AMOVR0,#70H;顯示數(shù)據(jù)的起始地址MOVR7,#08HMOVDPTR
20、,#D8279HDL0:MOVA,R0ADDA,#05HMOVCA,A+PC;顯示數(shù)據(jù)轉(zhuǎn)換為段碼MOVXDPTR,A;寫入顯示RAMINCR0 DJNZR7,DL0RETLEDSEG:DB3FH,06H,5BH,4FH,66H,6DH;DB7DH,07H,7EH,6FH,77H,7CHDB39H,5EH,79H,71H9.4 存儲器擴展9.4.1 利用P0口與P2口擴展數(shù)據(jù)存儲器1典型數(shù)據(jù)存儲器的擴展方法 訪問片外數(shù)據(jù)存儲器時,僅用4條寄存器間接尋址指令:MOVXA,RiMOVXA,DPTRMOVXRi,AMOVXDPTR,A2典型數(shù)據(jù)存儲器的擴展電路 (1)6116靜態(tài)RAM的擴展 A10A
21、0:地址線D7D0:數(shù)據(jù)線:片選信號:數(shù)據(jù)輸出允許信號:寫選通信號VCC:電源(+5V)GND:地6116工作方式選擇 擴展6116靜態(tài)RAM 9.4.2 串行數(shù)據(jù)存儲器的擴展 傳統(tǒng)擴展數(shù)據(jù)存儲器的并行方法占用了CPU的P0口和P2口以及部分P3口的寶貴端口I/O線資源,而狀態(tài)顯示、鍵盤操作、A/D轉(zhuǎn)換等所需要的I/O口往往還要進行擴充,其結(jié)果是電路結(jié)構(gòu)復(fù)雜,總線外置,抗干擾性能差。解決這個問題可采用串行擴展數(shù)據(jù)存儲器的方法。 1. X24128引腳說明 X24128有三種封裝形式:14-SOIC、16-SOIC和8-PDIP VCC、VSS:為電源的正、負極輸入端。SCL:串行時鐘輸入端。S
22、DA:串行數(shù)據(jù)輸入與輸出的共用管腳。漏極輸出。WP:硬件寫保護輸入管腳 。S0、S1、S2:器件選擇輸入端。 2地址選擇 X24128內(nèi)部EEPROM由16K8位組成 ,地址為0000H3FFFH。 在器件地址中,高四位必須為1010,這是X24128的識別碼。S0、S1、S2三位為所選器件的地址碼,它們必須與所選器件的輸入管腳S0、S1、S2相一致。例如所選器件的S2管腳接VCC,S1、S0兩個輸入管腳連接VSS,則器件地址應(yīng)為1010100。位為讀、寫選擇位,位為時,選擇讀:位為時,選擇寫。3寫保護寄存器 WEL:為EEPROM陣列寫使能鎖存器,WEL=1時,寫使能鎖存器置位,可進行寫操作;WEL=0時,寫使能鎖存器復(fù)位,拒絕一切寫操作。RWEL:為“寫保護寄
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淺析新課標下高中化學探究性教學新思路
- 中西醫(yī)結(jié)合腫瘤病學知到課后答案智慧樹章節(jié)測試答案2025年春湖南中醫(yī)藥大學
- 注漿小導管施工方案
- 站臺門設(shè)備故障現(xiàn)場處置方案演練腳本
- 財務(wù)會計:財務(wù)會計的基本理論-習題與答案
- 財務(wù)比率分析習題與答案
- 物理(湖北卷)(參考答案)
- 河北省唐山市豐南區(qū)2024-2025學年八年級上學期期末考試物理試題(原卷版+解析版)
- 稅收籌劃在科技型上市母子公司間的應(yīng)用及風險探究
- 廈門水務(wù)集團自來水收費系統(tǒng)的設(shè)計與實現(xiàn)
- 作文復(fù)習:破繭成蝶逆天改命-《哪吒2》現(xiàn)象級成功的高考寫作啟示 課件
- 2025年湖南機電職業(yè)技術(shù)學院單招職業(yè)傾向性測試題庫1套
- 2025中建三局(中原)社會招聘高頻重點模擬試卷提升(共500題附帶答案詳解)
- 【生 物】光合作用課件-2024-2025學年人教版生物七年級下冊
- 人教版 七年級英語下冊 UNIT 2 單元綜合測試卷(2025年春)
- 2024年“新能源汽車裝調(diào)工”技能及理論知識考試題與答案
- 【地理】非洲-位置與范圍 高原為主的地形課件-2024-2025學年湘教版(2024)七下
- 搶救車的管理
- GB/T 17350-2024專用汽車和專用掛車分類、名稱及型號編制方法
- 2025年農(nóng)業(yè)發(fā)展集團有限公司招聘筆試參考題庫含答案解析
- 對話民族英雄戚繼光知到智慧樹章節(jié)測試課后答案2024年秋煙臺科技學院
評論
0/150
提交評論