華東交通大學 單片機微機原理及應用基礎教程第6章 接口技術及其應用基礎(第1部分)_第1頁
華東交通大學 單片機微機原理及應用基礎教程第6章 接口技術及其應用基礎(第1部分)_第2頁
華東交通大學 單片機微機原理及應用基礎教程第6章 接口技術及其應用基礎(第1部分)_第3頁
華東交通大學 單片機微機原理及應用基礎教程第6章 接口技術及其應用基礎(第1部分)_第4頁
華東交通大學 單片機微機原理及應用基礎教程第6章 接口技術及其應用基礎(第1部分)_第5頁
已閱讀5頁,還剩83頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series6.1 常用并行常用并行I/O接口芯片接口芯片 6.2 鍵盤及其接口鍵盤及其接口6.3 LED數(shù)碼顯示器及其接口數(shù)碼顯示器及其接口 6.5 D/A轉換器及其接口轉換器及其接口 6.6 A/D轉換器及其接口轉換器及其接口第第6章章 接口芯片與接口技術接口芯片與接口技術 2機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 8255A可編程并行輸入/輸出接口芯片是Intel公司生產的標準外圍接口電路。它采用NMOS工藝制造,用單

2、一5V電源供電,具有40條引腳,采用雙列直插式封裝。它有A、B、C3個端口共24條I/O線,可以通過編程的方法來設定端口的各種I/O功能。 8255A功能強,能方便地與各種微機系統(tǒng)相接, 所以得到了廣泛的應用。6.1 常用并行常用并行I/O接口芯片接口芯片 3機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series1. 8255A的內部結構的內部結構3個個8位位數(shù)據(jù)端數(shù)據(jù)端口口A、B和和C。A組和組和B組控制組控制電路。它們接受電路。它們接受CPU送出的命令字送出的命令字,根據(jù)命根據(jù)命令字決定兩組分別的令字決定兩組分別的工作方式工作方式,或

3、對端口或對端口C進行按位復位進行按位復位/置位。置位。A組控制電組控制電路控制端口路控制端口A和端口和端口C的上半部。的上半部。B組控制電路控組控制電路控制端口制端口B和端口和端口C的下半部。的下半部。8255A內部結構圖 4機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series8255A端口地址表端口地址表1. 8255A的內部結構的內部結構 8255A內部有4個端口:3個8位的數(shù)據(jù)端口A口、B口和C 口,還有一個1個8位的控制寄存器。這4個端口的地址見下表。 8255A為可編程接口芯片,需要進行初始化才能應用。初始化操作就是向8255

4、A控制寄存器寫入控制字,以控制字的形式對其工作方式(或C口狀態(tài))進行設置??刂萍拇嫫骷词怯糜诮邮誄PU發(fā)出控制字,它只能寫入控制信息而不能讀出其中的內容。5機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series8255A引腳圖 與與外設相連接的引腳外設相連接的引腳PA7PA0: PA口數(shù)據(jù)線PB7PB0: PB口數(shù)據(jù)線PC7PC0: PC口數(shù)據(jù)線與與CPU相連接的引腳相連接的引腳D7D0: 8255A的數(shù)據(jù)線。RESET: 復位信號,高電平有效。當RESET有效時,所有內部寄存器都被清除,同時,3個數(shù)據(jù)端口被自動設為輸入方式。2. 825

5、5A主要引腳定義主要引腳定義6機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2. 8255A主要引腳定義主要引腳定義8255A引腳圖 與與CPU相連接的引腳相連接的引腳CS:片選信號,低電平有效。RD:讀信號,低電平有效。WD:寫信號,低電平有效。A1、A0:端口選擇信號。 8255A內部有1個控制端口和3個數(shù)據(jù)端口。 A1A0=00時,選中數(shù)據(jù)端口A; A1A0=01時,選中數(shù)據(jù)端口B; A1A0=10時,選中數(shù)據(jù)端口C; A1A0=11時,選中控制端口。7機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Contr

6、ol System 51 Series 8255A的數(shù)據(jù)端口有3種工作方式,即方式0、方式1和方式2,這些工作方式可用軟件編程來指定。3. 8255A數(shù)據(jù)端口的工作方式數(shù)據(jù)端口的工作方式8255A數(shù)據(jù)端口工作方式列表數(shù)據(jù)端口工作方式列表 8機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 工作方式工作方式03. 8255A數(shù)據(jù)端口的工作方式數(shù)據(jù)端口的工作方式 方式0是基本輸入/輸出方式。這種方式下,外設可以隨時提供數(shù)據(jù)給CPU,也可以隨時接受CPU送出的數(shù)據(jù),數(shù)據(jù)傳輸無需任何選通/應答信號。 A口、B口及C口的高4位和低4位都可以

7、設定為輸入或輸出。作為輸出口時,輸出的數(shù)據(jù)均被鎖存;作為輸入口時,A口的數(shù)據(jù)能鎖存,B口與C口的數(shù)據(jù)不能鎖存。 9機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 工作方式工作方式13. 8255A數(shù)據(jù)端口的工作方式數(shù)據(jù)端口的工作方式 工作方式1下,A口可由編程設定為輸入口或輸出口,需要C口的3位用來作為輸入/輸出操作的控制和同步信號;B口同樣可由編程設定為輸入口或輸出口,需要C口的另3位用來作為輸入/輸出操作的控制和同步信號。在方式1下,A口和B口的輸入數(shù)據(jù)或輸出數(shù)據(jù)都能被鎖存。10機械電子工程系機械電子工程系主主講講:陳慧:陳

8、慧 Micro Control System 51 Seriesn 工作方式工作方式1 A口或B口均可工作于方式1,下面以A、B口均為輸入口或均為輸出口兩種情況舉例說明方式1下的輸入和輸出過程。 A口口/B口為選通輸入口時所需的聯(lián)絡信號口為選通輸入口時所需的聯(lián)絡信號STB:外設發(fā)送的選通脈沖信號,低電平有效。該信號到來時,輸入的數(shù)據(jù)被裝入到8255A的A口(或B口)鎖存器中。IBF:8255A輸出的表示輸入緩沖器滿的信號,高電平有效。表示一個有效數(shù)據(jù)被鎖存于8255A的口鎖存器中,尚未被CPU取走,暫不能向接口輸入數(shù)據(jù)。INTR:8255A發(fā)出的中斷請求信號,高電平有效。當IBF為高、STB信

9、號由低變高時,該信號有效。方式1下A、B均為輸入口 另外,8255A內部有為控制中斷而設的中斷允許信號INTE。INTE由軟件置位/復位該位來允許/禁止8255A給CPU發(fā)送中斷請求信號。p方式方式1下下A口、口、B口均為口均為輸入輸入11機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 外設將數(shù)據(jù)輸入到8255A 的口鎖存器的同時,送出STB 信號 至8255A。 接著,8255A發(fā)出有效的IBF信號,并且在STB信號結束時產 生INTR信號。查詢傳送時,以IBF作為查詢狀態(tài)信號;中斷 傳送時,以INTR作為向CPU發(fā)出中斷請求的

10、信號。 接著,CPU執(zhí)行“讀”的MOVX指令將數(shù)據(jù)從8255A的輸入口 讀入到51單片機中,MOVX指令的執(zhí)行伴隨著RD信號有效。 最后,MOVX指令完畢,RD信號的下降沿使得INTR失效,其 上升沿則使得IBF信號失效,于是所有的信號恢復到初始狀態(tài)。n 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下一次數(shù)據(jù)輸入的步驟下一次數(shù)據(jù)輸入的步驟12機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下數(shù)據(jù)輸入的信號時序下數(shù)據(jù)輸入的信號時序方式1下通過A

11、口(或B口)輸入數(shù)據(jù)時的信號時序圖 13機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 工作方式工作方式1 A口或B口均可工作于方式1,下面以A、B口均為輸入口或均為輸出口兩種情況舉例說明方式1下的輸入和輸出過程。 A口口/B口為選通輸出口時所需的聯(lián)絡信號口為選通輸出口時所需的聯(lián)絡信號ACK:外設響應信號(輸入),低電平有效。外設發(fā)送給8255A的應答信號,低電平有效。當外設取走8255A的輸出口A口(或B口)中的有效數(shù)據(jù)后向發(fā)回的應答信號。OBF:8255A對外發(fā)送的輸出緩沖器滿信號,低電平有效。表示CPU已經將一個輸出數(shù)據(jù)寫

12、入到8255A的口鎖存器。INTR:8255A發(fā)出的向CPU申請中斷的請求信號,高電平有效。方式1下A、B均為輸出口 8255A內部的為控制中斷設的中斷允許信號INTE。INTE由軟件置位/復位該位來允許/禁止8255A給CPU發(fā)送中斷請求信號。p方式方式1下下A口、口、B口均為口均為輸出輸出14機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 外設接收并處理完上一組數(shù)據(jù)后,向8255A發(fā)送ACK響應信號。 接著,8255A使OBF信號處于高電平的失效狀態(tài),表示輸出緩 沖器已空,并且在ACK信號結束時產生有效的INTR高電平信 號。

13、查詢傳送時,以OBF作為查詢狀態(tài)信號;中斷傳送時,以 INTR作為向CPU發(fā)出中斷請求的信號。 接著,CPU執(zhí)行“寫”的MOVX指令把下一個數(shù)據(jù)寫入到8255A 的輸出口鎖存器中,MOVX指令的執(zhí)行伴隨著WR信號有效。 最后,MOVX指令完畢,WR信號的下降沿使得INTR失效,其 上升沿則使得OBF信號失效。OBF信號有效表明輸出數(shù)據(jù)準備好 了,以此信號通知外設取走并處理8255A輸出口鎖存器中的數(shù)據(jù)。n 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下一次數(shù)據(jù)輸出的步驟下一次數(shù)據(jù)輸出的步驟15機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control S

14、ystem 51 Seriesn 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下數(shù)據(jù)輸出的信號時序下數(shù)據(jù)輸出的信號時序方式1下通過A口(或B口)輸出數(shù)據(jù)時的信號時序圖 16機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 如前所述,當8255A的A口和B口同時為方式1的輸入端口或輸出端口時,需使用C口的6位作為聯(lián)絡信號。此時,C口剩下的兩位還可以用程序來指定數(shù)據(jù)的傳送方向是輸入還是輸出;也可以對C口剩下的兩位實現(xiàn)置位或復位操作。 當8255A只有一個端口(A口或B口)工作在方式1時,則C口剩下的5位也可按照上述

15、情況處理。n 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1時時C口的工作情況說明口的工作情況說明17機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 工作方式工作方式23. 8255A數(shù)據(jù)端口的工作方式數(shù)據(jù)端口的工作方式 8255A只有A口具有這種雙向輸入輸出工作方式,實際上是在方式1下A口輸入輸出的結合。方式2下聯(lián)絡信號的定義 方式2下,A口為8位雙向傳輸口,C口的PC7PC3用來作為輸入/輸出的同步控制信號。 在這種情況下,B口和PC2PC0只能編程為方式0或方式1工作;而C口剩下的3條線可作為輸入或輸出

16、線使用,或用作B口方式1之下的控制線。18機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series CPU以中斷或查詢方式,執(zhí)行MOVX的讀 指令從8255A的A口讀取數(shù)據(jù),讀的過程伴隨著RD信號有效。待RD信號失效后,IBFA和INTRA信號相繼失效回復到初始狀態(tài),完成了一次數(shù)據(jù)輸入過程。 當外設向8255A送數(shù)據(jù)時,選通脈沖STB也同時送到,將數(shù)據(jù)鎖存到A口鎖存器中,接著信號IBFA有效用以通知外設A口已收到數(shù)據(jù)。當STB信號結束時,INTR信號變?yōu)橛行?,以此向CPU請求中斷。 A口于方式口于方式2下一次數(shù)據(jù)輸入的過程下一次數(shù)據(jù)輸入的過

17、程方式2下輸入輸出操作的時序圖19機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 當外設讀取數(shù)據(jù)時,將給8255A發(fā)出一個有效的響應信號ACKA使得A口的三態(tài)門導通,從而將數(shù)據(jù)從8255A的A口送至外設。ACKA信號也使得OBFA變?yōu)槭В瑥亩梢蚤_始下個數(shù)據(jù)的輸入或輸出過程。 當CPU通過中斷或查詢的方式,執(zhí)行MOVX的寫指令向8255A的A口中寫入一個數(shù)據(jù)時,會伴隨著WR信號有效。WR信號一方面使中斷請求信號INTRA失效;另一方面使輸出緩沖器滿信號OBFA變低,通知外設從A口讀取數(shù)據(jù)。 A口于方式口于方式2下一次數(shù)據(jù)輸入的過

18、程下一次數(shù)據(jù)輸入的過程方式2下輸入輸出操作的時序圖20機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series4. 8255A的控制命令字的控制命令字 8255A工作方式取決于CPU寫入其控制寄存器端口的控制(命令)字??刂谱址譃楣ぷ鞣绞娇刂谱趾虲口置位/復位控制字兩類。n 工作工作方式控制字方式控制字工作方式控制字用于確定數(shù)據(jù)端口的工作方式及數(shù)據(jù)傳送方向。 8255A工作方式控制字格式A組包括組包括A口與口與C口的高口的高4位。位。B組包括組包括B口與口與C口的低口的低4位。位。21機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Mic

19、ro Control System 51 Series4. 8255A的控制的控制命令命令字字n C口置位口置位/復位控制字兩類。復位控制字兩類。 8255A的C口置位/復位控制字可以使C口8位中的任一位清0或置1。該控制字每次只對C口中的一位進行置位或復位。 C口置位/復位控制字格式 注意:注意:作為作為聯(lián)絡線使用的聯(lián)絡線使用的C口各位是不能采用置位口各位是不能采用置位/復位復位操作來使其置位或復位的。操作來使其置位或復位的。22機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series5. 8255A的應用的應用n8255A與與51單片機

20、的連接單片機的連接 由于單片機系統(tǒng)片外RAM的實際容量一般不大,遠遠達不到64KB的范圍,因此I/O接口芯片的片選多采用線選法。這樣方法雖然要浪費大量的地址號,但譯碼電路比較簡單。8255A與80C51的連接 設8255A與80C51的連接如左圖所示。 圖中8255A的I/O端口有213組有效地址,最小一組為: A口 0000H B口 0001H C口 0002H 命令口 0003H23機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series5. 8255A的應用的應用n8255A的的初始化編程初始化編程 8255A初始化的內容就是向控制寄

21、存器寫入工作方式控制字或C口置位/復位控制字?!纠?-1】設控制寄存器的地址為0003H,對8255A各口作如下設置:A口方式0輸入,B口方式0輸出,C口高位部分為輸出、低位部分為輸入。 工作方式控制字為工作方式控制字為10010001BD0=1:C口低半部輸入;D1=0:B口輸出;D2=0:B口方式0;D3=0:C口高半部輸出;D4=1:A口輸入;D6D5=00:A口方式0;D7=1:工作方式字標志。 初始化程序段初始化程序段MOV DPTR, 0003H MOV A, 91HMOVX DPTR, A24機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control Syst

22、em 51 Series5. 8255A的應用的應用n8255A的初始化編程的初始化編程 8255A初始化的內容就是向控制寄存器寫入工作方式控制字或C口置位/復位控制字。【例例6-2】設已知命令口地址為0003H,要求對端口C的D3位置位/ 復位,試完成8255A的初始化。 使使C端口端口D3位置位的控制字為位置位的控制字為10010001B(即(即07H) 初始化程序段初始化程序段MOV DPTR, 0003H MOV A, 07H ;或MOV A, 06HMOVX DPTR, A 使使C端口端口D3位復位的控制字為位復位的控制字為00000110B(即(即06H)25機械電子工程系機械電子

23、工程系主主講講:陳慧:陳慧 Micro Control System 51 Series5. 8255A的應用的應用n8255A應用舉例應用舉例【例例6-3】已知8255A的C口和控制口地址分別為0002H和0003H, 試編程實現(xiàn)通過8255A的PC5端向外輸出1個正脈沖信號。 思考:要從PC5端輸出1個正脈沖可以通過PC5的置位/復位控制實現(xiàn)。先送對PC5位置位的控制字,經過一定延時(延時視脈寬而定)后再送對PC5位復位的控制字,即能實現(xiàn)產生1個正脈沖。MOV DPTR,0003H ;指向8255A的控制口MOV A,0BH ;對PC5置1MOVX DPTR,ALCALL DELAY ;延

24、時(調用延時子程序)DEC A ;對PC5置0MOVX DPTR,A26機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series5. 8255A的應用的應用n8255A應用舉例應用舉例【例例6-4】下圖為80C51通過8255A接打印機的連線圖,設8255A為工作方式0,與CPU之間采用查詢傳送數(shù)據(jù)。試編寫打印輸出某數(shù)據(jù)塊的程序,數(shù)據(jù)塊首地址為內部RAM的FSTA,長度為NUM個字符。思考:思考:1)A、B、C口及命令口地址分別為0000H0003H。 2)8255A工作于方式0,即基本輸入/輸出方式。3)打印機接收數(shù)據(jù)的過程采用選通 控

25、制 : 其 數(shù) 據(jù) 端 口 連 接 到8255A的A口;狀態(tài)信號BUSY連接到8255A的PC7,當打印機忙于處理上一個字符時BUSY=1,反之之則BUSY=0;打印機通過STB端接收8255APC0送來的選通信號,當STB端接收到一個負跳變信號(即選通脈沖下降沿)時,表示一個新的數(shù)據(jù)被送到了打印機的數(shù)據(jù)端口。27機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series5. 8255A的應用的應用n8255A應用舉例應用舉例【例例6-4】下圖為80C51通過8255A接打印機的連線圖,設8255A為工作方式0,與CPU之間采用查詢傳送數(shù)據(jù)。

26、試編寫打印輸出某數(shù)據(jù)塊的程序,數(shù)據(jù)塊首地址為內部RAM的FSTA,長度為NUM個字符。參考程序如下參考程序如下PRINT:MOV DPTR, #0003H MOV A, #88H MOVX DPTR, A MOV R1, #FSTA MOV R2, #NUMLOOP1:MOV DPTR, #0002H LOOP2:MOVX A, DPTR JB A.7, LOOP2 MOV DPTR, #0000HMOV A, R1 MOVX DPTR, A INC R1 MOV DPTR, #0003H MOV A, #00H MOVX DPTR, A MOV A, #01H MOVX DPTR, A DJ

27、NZ R2, LOOP1 RET8255A命令口地址C口地址A口地址28機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 8155是Intel出品的可編程多功能接口芯片,+5v電源供電,40引腳雙列直插式封裝,8155的內部功能結構如下圖。6.1 常用并行常用并行I/O接口芯片接口芯片 3個并行I/O口:其中 A 口、B口為8位, C口為6位。 一個256字節(jié)的靜態(tài)RAM 一個14位的定時/計數(shù)器 8155內部功能結構示意圖 一個控制寄存器29機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System

28、 51 Series2. 8155的引腳功能的引腳功能AD0AD7:三態(tài)地址/數(shù)據(jù)總線。 8155通過它與CPU傳送低8位地址和8位 數(shù)據(jù)。由于它具有和51系列單片機P0口 一致的分時復用功能,二者可直接相連。 ALE:地址鎖存允許信號。 CE:片選信號線,低電平有效。 RD:讀出信號線,低電平有效。 WR:寫入信號線。低電平有效。 IO/M:RAM和I/O端口選擇信號。 IO/M=0時選中RAM區(qū),由AD0AD7選擇RAM單元的低8位地址為00HFFH; IO/M=1時選中I/O端口區(qū),由AD0AD2選擇I/O端口區(qū)低3位地址為00H05H。8155引腳圖 1. 8155主要引腳定義及內部功

29、能結構主要引腳定義及內部功能結構1)8155主要引腳主要引腳定義定義30機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series PA7PA0: A口輸入/輸出信號線。 PB7PB0: B口輸入/輸出信號線。 PC5PC0: C口輸入/輸出信號線。 TIMERIN: 定時/計數(shù)器脈沖輸入端。 TIMEROUT: 定時/計數(shù)器脈沖輸出端。 RESET: 復位信號線。8155復位時將 A、B、C三個I/O口均初始化成輸入方式。1)8155主要引腳主要引腳定義定義31機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control S

30、ystem 51 Series 使使CE=0選中該選中該8155芯片;芯片; 使使IO/M=0選擇片內選擇片內256字節(jié)的字節(jié)的RAM區(qū)。區(qū)。 8155內部RAM區(qū)共有256個單元,芯片提供了A0A7共8位的字選地址線,每個RAM單元的低8位地址唯一,其范圍為:00HFFH。p RAM區(qū)單元的編址區(qū)單元的編址2)8155內部功能結構及其內部功能結構及其地址地址 8155內部有1個控制寄存器、3個數(shù)據(jù)I/O口、256B的RAM以及1個定時器/計數(shù)器。CPU訪問8155時,將它們分為RAM區(qū)和I/O區(qū)兩個不同的邏輯區(qū)域。1. 8155主要引腳定義及內部功能結構主要引腳定義及內部功能結構32機械電子

31、工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2)8155內部功能結構及其內部功能結構及其地址地址8155內部內部I/O端口地址分配表端口地址分配表p I/O端口的編址端口的編址 使使CE=0選中該選中該8155芯片;芯片; 使使IO/M=1選擇選擇片片內內6個個I/O端口。端口。 8155提供AD0AD2這3位為字選地址線,6個I/O端口地址的低3位見下表。33機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series【例例6-4】下圖為80C51單片機擴展一片8155芯片的連線示意圖

32、,試寫出該8155芯片內部RAM單元及I/O端口的地址。 根據(jù)下面的RAM區(qū)單元地址譯碼關系表可知,RAM區(qū)單元占用了26=64組有效地址,每組256個。 當“A15A14A13A12A11A10”取值“000000”時,RAM區(qū)256個單元最小的一組地址為:0000H00FFH。p I/O端口的編址端口的編址80C51擴展擴展8155芯片連線示意圖芯片連線示意圖 RAM區(qū)單元地址分配區(qū)單元地址分配RAM區(qū)單元區(qū)單元地址譯碼關系表地址譯碼關系表34機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series【例例6-4】下圖為80C51單片機擴

33、展一片8155芯片的連線示意圖,試寫出該8155芯片內部RAM單元及I/O端口的地址。p I/O端口的編址端口的編址 I/O端口共有211=2048組有效地址,每組6個。最小一組地址為:命令/狀態(tài)寄存器口 0200H數(shù)據(jù)口A 0201H數(shù)據(jù)口B 0202H數(shù)據(jù)口C 0203H定時/計數(shù)器低8位端口 0204H定時/計數(shù)器高8位端口 0205H80C51擴展擴展8155芯片連線示意圖芯片連線示意圖 I/O端口地址分配端口地址分配I/O端口地址譯碼關系表端口地址譯碼關系表35機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 命令字用于定

34、義8155數(shù)據(jù)端口和定時器的工作方式。命令字寄存器只能寫不能讀。n 命令字命令字寄存器寄存器1)控制寄存器)控制寄存器端口及其定義端口及其定義 8155內部有1個物理地址唯一的控制寄存器端口,但邏輯應用上該端口包含兩個不同功能的寄存器:命令字寄存器和狀態(tài)字寄存器。因此,控制寄存器端口又稱命令/狀態(tài)寄存器端口。2. 8155內部內部I/O端口及其定義端口及其定義8155命令字的格式A、B口均為基本口均為基本I/O方方式;式;C口為輸入方式口為輸入方式A口為選通口為選通I/O、B口為口為基本基本I/O方式;方式;C口低口低3位作為位作為A口選通方式下口選通方式下的聯(lián)絡信號。的聯(lián)絡信號。A、B口均為

35、基本口均為基本I/O方方式;式;C口為輸出方式??跒檩敵龇绞?。A、B口均為選通口均為選通I/O方式;方式;C口口的低的低3位、高位、高3位分別作為位分別作為A口、口、B口選通方式下的聯(lián)絡信號。口選通方式下的聯(lián)絡信號。36機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 狀態(tài)字反映8155的工作狀態(tài),狀態(tài)字寄存器只能讀不能寫。n 狀態(tài)狀態(tài)字寄存器字寄存器1)控制寄存器)控制寄存器端口及其定義端口及其定義8155狀態(tài)字的格式37機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series

36、6.1.46.1.4 I/O 口的工作方式口的工作方式2)數(shù)據(jù))數(shù)據(jù)I/O端口及其定義端口及其定義 8155有A口、B口和C口共3個數(shù)據(jù)I/O端口。A口和B口為8位的端口,可工作于基本I/O或選通I/O方式。C口為6位的端口,可以工作于基本I/O方式;也可以用作A口、B口選通方式下的聯(lián)絡信號線。2. 8155內部內部I/O端口及其定義端口及其定義 基本I/O方式是無條件傳輸?shù)姆绞?,不需?lián)絡信號。直接執(zhí)行以下指令完成信息傳輸: 輸入操作:MOV DPTR,#PORTA MOVX A,DPTR 輸出操作: MOV DPTR,#PORTA MOVX DPTR ,An 基本基本I/O方式方式38機械電

37、子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2. 選通I/O方式為有條件傳送方式,由C口提供A口和B口A工作于選通I/O方式時的聯(lián)絡信號,有STB、BF、INTR三種。STB:外設發(fā)送給8155的選通/應答信號,低電平有效。 輸入操作時,表示外設已將輸入數(shù)據(jù)裝入到A口(或B口)緩沖器。 輸出操作時,表示外設已從A口(或B口)緩沖器將輸出數(shù)據(jù)取走。 BF: I/O口緩沖器滿空標志,高電平有效,8155對外輸出的信號。 輸入操作時,如果A口(或B口)緩沖器中已裝入數(shù)據(jù)則BF=1,表 示該緩沖器“滿”;否則BF=0,表示該緩沖器不“滿”。

38、輸出操作時,如果A口(或B口)緩沖器的數(shù)據(jù)已被外設取走則 BF=1,表示該緩沖器“空” ;否則BF=0,表示該緩沖器不“空”。2)數(shù)據(jù))數(shù)據(jù)I/O端口及其定義端口及其定義n 選選通通I/O方式方式39機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 SeriesINTR: 8155對外輸出的中斷請求信號,高電平有效。 數(shù)據(jù)輸入(或輸出)操作過程中,當A口(或B口)緩沖器接收到外設送來的數(shù)據(jù)(或外設已經從I/O口緩沖器中取走數(shù)據(jù))時,INTR就會變?yōu)楦唠娖健?”。 此時,如果8155命令寄存器相應的中斷允許位被設為“1”,則可以以INTR=1向CP

39、U申請中斷;當CPU響應中斷,在中斷服務程序內完成對相應的I/O口緩沖器的一次讀/寫操作后,則INTR信號失效,即INTR恢復為低電平“0”。2)數(shù)據(jù))數(shù)據(jù)I/O端口及其定義端口及其定義n 選選通通I/O方式方式40機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 SeriesA、B口選通工作方式口選通工作方式下下C口各位的功能口各位的功能定義表定義表2)數(shù)據(jù))數(shù)據(jù)I/O端口及其定義端口及其定義n 選選通通I/O方式方式 8155的A、B口工作于選通方式下時C口各位的功能定義見下表。41機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro

40、 Control System 51 Series 8155的定時/計數(shù)器為14位的減法計數(shù)器,它能對TIMERIN引腳輸入的脈沖進行計數(shù),當計數(shù)到達要求的計數(shù)值時將通過TIMEROUT引腳向外部輸出設定的某種波形信號。8155定時/計數(shù)器用到的兩個控制端口如下圖。3)定時)定時/計數(shù)器有關的端口及其定義計數(shù)器有關的端口及其定義2. 8155內部內部I/O端口及其定義端口及其定義8155定時定時/計數(shù)器低計數(shù)器低8位控制端口位控制端口8155定時定時/計數(shù)器高計數(shù)器高8位控制端口位控制端口42機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Se

41、ries 8155定時/計數(shù)器高8位控制端口中的“M2M1”用于定義計數(shù)器輸出波形的方式,兩位的功能定義如下表所示。3)定時)定時/計數(shù)器有關的端口及其定義計數(shù)器有關的端口及其定義2. 8155內部內部I/O端口及其定義端口及其定義8155定時定時/計數(shù)器輸出波形方式定義計數(shù)器輸出波形方式定義43機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series3)定時)定時/計數(shù)器有關的端口及其定義計數(shù)器有關的端口及其定義 8155定時/計數(shù)器在初始化時,需要CPU向兩個控制端口寫入計數(shù)初值及輸出方式控制字;此外,CPU還要通過設置命令字使得定時/

42、計數(shù)器開始計數(shù)。 需注意:需注意:當8155復位信號RESET到達時,將使定時/計數(shù)器停止工作,直至命令字寄存器再次接收到啟動定時/計數(shù)器的命令。2. 8155內部內部I/O端口及其定義端口及其定義44機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series3)定時)定時/計數(shù)器有關的端口及其定義計數(shù)器有關的端口及其定義2. 8155內部內部I/O端口及其定義端口及其定義 8155的定時器在計數(shù)過程中,計數(shù)器的值并不直接表示外部輸入的脈沖。作為外部事件計數(shù)用時,由計數(shù)器的現(xiàn)行計數(shù)值求輸入脈沖數(shù)的方法如下: 停止計數(shù)器計數(shù)。 分別讀出計數(shù)器的

43、兩個字節(jié)內容。 取其低14位數(shù)作為現(xiàn)行計數(shù)值。 算出現(xiàn)行計數(shù)值與初始計數(shù)值之差,即可得到輸入脈沖數(shù)。 45機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series6.1.46.1.4 I/O 口的工作方式口的工作方式1)8155 的初始化的初始化 8155初始化指的是向8155寫入命令字和定時/計數(shù)器的初值以及輸出方式。3. 8155編程及應用舉例編程及應用舉例【例例6-5】采用前圖所示電路,設A口與C口為輸入口,B口為輸出口,均為基本I/O。定時器為連續(xù)方波工作方式,對輸入脈沖進行24分頻。試編寫8155的初始化程序。 PA=0;A口輸入

44、 PB=1;B口輸出 PC2PC1=00;A、B口基本I/O,C口輸入 IEA=0,IEB=0;A口、B口均禁止中斷 TM2TM1=11;立即啟動計數(shù)器 所以命令字取為11000010B=C2H。80C51擴展擴展8155芯片連線示意圖芯片連線示意圖 確定命令字確定命令字46機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series1)8155 的初始化的初始化【例例6-5】采用前圖所示電路,設A口與C口為輸入口,B口為輸出口,均為基本I/O。定時器為連續(xù)方波工作方式,對輸入脈沖進行24分頻。試編寫8155的初始化程序。 由于計數(shù)值為24,所

45、以定時器的低定時器的低8位為位為1 8 H , 高, 高 6 位 為位 為000000B。 定時器輸出方式要求為連續(xù)方波,選M2M1=01,所以定時定時器的高器的高8位為位為01000000B=40H。 確定計數(shù)初值確定計數(shù)初值MOV DPTR,0204H ;指向定時器的低8位MOV A,18H ;取定時器低8位的值MOVX DPTR,A ;寫入定時器低8位INC DPTR ;指向定時器高8位MOV A,40H ;取定時器高8位的值MOVX DPTR,A ;寫入定時器高8位MOV DPTR,0200H ;指向命令口MOV A,C2H ;取8155的命令字MOVX DPTR,A ;寫入命令字 初

46、始化程序初始化程序47機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series6.1.46.1.4 I/O 口的工作方式口的工作方式2)8155 應用編程舉例應用編程舉例【例例6-6】仍采用前圖所示電路,從8155的A口輸入數(shù)據(jù)并進行判斷:若不為0,則將該數(shù)據(jù)存入8155的RAM中(從起始單元開始存放,數(shù)據(jù)的總數(shù)不超過256個),同時從B口輸出,并將PC0置“1”;若為0,則停止輸入輸出,同時將PC0清“0”。試編寫能完成上述任務的程序。 MOV DPTR,0200H ;指向命令口 MOV A,00000110B ;取命令字 MOVX DP

47、TR,A ;寫入命令字 MOV R0,00H ;指向8155的RAM區(qū)首址 MOV R1,00H ;數(shù)據(jù)總數(shù)為256個LOOP1:MOV DPTR,0201H ;指向A口 MOVX A,DPTR ;從A口輸入數(shù)據(jù) JZ LOOP3 ;為0則轉 MOVX R0,A ;不為0,則存入RAM中 INC R0 ;指向下一單元 解:參考程序如下解:參考程序如下48機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series6.1.46.1.4 I/O 口的工作方式口的工作方式2)8155 應用編程舉例應用編程舉例【例例6-6】參考程序參考程序(續(xù))(續(xù))

48、 INC DPTR ;指向B口 MOVX DPTR,A ;從B口輸出 INC DPTR ;指向C口 MOVX A,DPTR ;取C口數(shù)據(jù) SETB ACC.0 ;使PC0置1 MOVX DPTR,A ;回送 DJNZ R1,LOOP1 ;未完則反復LOOP2:SJMP $ ;暫停LOOP3:MOV DPTR,0203H ;指向C口 MOVX A,DPTR ;取C口數(shù)據(jù) CLR ACC.0 ;使PC0置0 MOVX DPTR,A ;回送 SJMP LOOP249機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 鍵盤是由排列成矩陣形式的

49、一系列按鍵開關組成的,它是最常用的一種人機聯(lián)系的輸入設備。 鍵盤按其結構形式可分為編碼式鍵盤編碼式鍵盤和非編碼式鍵盤非編碼式鍵盤兩大類。編碼式鍵盤是由其內部硬件邏輯電路自動產生被按鍵的編碼,使用方便,但價格較貴;單片機系統(tǒng)中普遍使用非編碼式鍵盤。 非編碼式鍵盤應解決鍵的識別鍵的識別、如何消除鍵的抖動如何消除鍵的抖動以及鍵的保護鍵的保護這三個主要問題。6.2 鍵盤及其接口鍵盤及其接口最主要最主要的問題的問題50機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 非編碼式鍵盤采用行列矩陣形式排列,下圖為44行列式鍵盤的基本結構示意圖。44

50、表示有4根行線和4根列線,在每根行線和列線的交叉點上均分布1個單觸點按鍵,共有16個按鍵。 44矩陣鍵盤的結構1. 非非編碼式鍵盤的結構編碼式鍵盤的結構51機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2. 閉合鍵的識別閉合鍵的識別非編碼式鍵盤識別閉合鍵有兩種方法:行掃描法行掃描法和線反轉法線反轉法。52機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 行掃描行掃描法法 行掃描法原理:行掃描法原理:設定行線端口為輸出口,列線端口為輸入口;通過行線發(fā)出低電平“0”,如果

51、該行上所有鍵都沒按下則列線輸出全“1”信號,如果該行上有鍵按下則列線輸出非全“1”信號。行掃描法識別閉合鍵需經過全掃描全掃描和逐行掃描逐行掃描兩個步驟。(1)全掃描)全掃描 所有行線全輸出“0” ,判斷有沒有鍵閉合??赡苡袃煞N情況:列線端口輸入全“1”,表示鍵盤上沒有鍵被按下。列線端口輸入非全“1”,即有某列線輸入“0”的情況,表示有鍵按下。(2)逐行掃描)逐行掃描目的是獲取閉合鍵的特征值。從第0行開始,逐行單獨輸出“0” ,讀入列線輸入值,若輸入全為“1”則閉合鍵不在此行;若不全為“1”,則表示當前行有鍵按下,閉合鍵就位于掃描行和讀入值不為“1”的列線相交的節(jié)點,再根據(jù)該節(jié)點處的行值與列值得

52、到閉合鍵的特征值。如此從第0行、第1行、,逐行掃描下去,直到找到閉合鍵為止。53機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 行掃描行掃描法法54機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 線線反轉法反轉法 與行掃描法不同,線反轉法在電路連線上要求行線與列線均需有上拉電阻。采用線反轉法識別閉合鍵的特征值速度更快,并且對于任何位置的不同閉合鍵所費時間相同。(1)全掃描判斷有無鍵被按下)全掃描判斷有無鍵被按下 設定行線端口為輸出、列線端口為輸入。行線輸出全“0”

53、,根據(jù)從列線端口輸入的數(shù)值判斷有沒有鍵閉合。這與行掃描的第一步相同。(2)通過線反轉獲取閉合鍵的特征值)通過線反轉獲取閉合鍵的特征值 當全掃描表明有鍵按下時反轉端口性質,設定行線端口為輸入、列線端口為輸出。將上一步中列線端口讀入的值原樣再從列線端口輸出,然后從行線端口讀取輸入值。根據(jù)列線端口和行線端口讀入的求得該閉合鍵的特征值。示例如下圖6-17。2. 閉合鍵的識別閉合鍵的識別非編碼式鍵盤識別閉合鍵有兩種方法:行掃描法行掃描法和線反轉法線反轉法。55機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 線線反轉反轉法法56機械電子工程

54、系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series3. 如何消除鍵的抖動如何消除鍵的抖動 按鍵為機械開關,因為機械觸點的彈性及電壓突跳等原因,往往在觸點閉合或斷開的瞬間會出現(xiàn)電壓抖動,如下圖所示。鍵閉合和斷開時的電壓抖動 消除按鍵的抖動有硬件和軟件兩種方法。硬件方法就是加消抖電路從根本上避免抖動產生;軟件方法是采用延時(一般延遲時間為10-20ms)避開抖動,待信號穩(wěn)定之后再進行鍵掃描。單片機一般均采用軟件軟件延遲延遲的消抖方法。57機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series4.

55、 鍵的保護鍵的保護 鍵的保護是指當有雙鍵或多鍵同時按下時會出現(xiàn)什么問題以及如何加以解決。 若同同一行上有兩個鍵被同時按下一行上有兩個鍵被同時按下,硬件上不會出現(xiàn)什么問題;但軟件上由于讀入的列代碼中出現(xiàn)了兩個0,它與行值組成的鍵特征值就超出了設定鍵的范圍,查不出有效的鍵值來。因此出現(xiàn)這樣情況一般也作為廢鍵處理。 若同一列上有兩個鍵被同時按下同一列上有兩個鍵被同時按下,軟件上的情況同上;硬件上來說,行掃描法與線反轉法情況不同:線反轉法沒有問題,但對行掃描來說,因為0信號是逐行發(fā)出的,當掃描到一個鍵所在行為0,而另一個鍵所在行為1時,就出現(xiàn)了行輸出端口短路的現(xiàn)象從而造成端口的損壞。這種要絕對禁止,因

56、此使用時要注意防止出現(xiàn)雙鍵或多控同時按下的情況。58機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 80C51單片機如果P1口不作其它用途的話,它可與44的鍵盤相連接;如果不再外擴程序存儲器的話,則還可以利用P0P2中任意兩個口構成多達88的鍵盤,其中一個口作為輸出口另一口個作為輸入口。在閉合鍵的識別上既可以采用前述的行掃描法,也可以采用線反轉法。例如前述圖6-14所示。1. 采用采用51單片機本身并行單片機本身并行I/O口連接鍵盤口連接鍵盤 實際應用中,多數(shù)情況下P0P2端口已被占用,只能通過擴展8155、8255A等通用并行I

57、/O接口芯片構建鍵盤接口電路,如圖6-18所示;或者采用8279等專用接口芯片構建鍵盤接口電路,如圖6-19所示。2. 51單片機擴展并行單片機擴展并行I/O口連接鍵盤口連接鍵盤59機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2. 51單片機擴展并行單片機擴展并行I/O口連接鍵盤口連接鍵盤 實際應用中,多數(shù)情況下P0P2端口已被占用,只能通過擴展8155、8255A等通用并行I/O接口芯片構建鍵盤接口電路,如圖6-18所示;或者采用8279等專用接口芯片構建鍵盤接口電路,如圖6-19所示。采用8155連接48鍵盤的接口電路60機

58、械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2. 51單片機擴展并行單片機擴展并行I/O口連接鍵盤口連接鍵盤 或者采用8279等專用接口芯片構建鍵盤接口電路,如圖6-19所示。采用8279連接38鍵盤的接口電路61機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 以前述采用8155連接48鍵盤的接口電路為例,行掃描法識別閉合鍵的程序流程右圖。 首先調用全掃描子程序,檢查有無閉合鍵。若無鍵閉合,則對數(shù)碼顯示器掃描顯示1遍;若有鍵閉合,則調用兩次數(shù)碼顯示器掃描顯示子程序的延

59、時約12ms消抖。 然后再次檢查有無鍵閉合,若無鍵閉合,則返回主程序;若有鍵閉合,則進行逐行掃描,以判別閉合鍵的具體位置。1. 行掃描法編程行掃描法編程鍵盤掃描子程序流程圖(行掃描法)62機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 對于本例84的鍵盤,可直接由公式“鍵值=行號4列號”計算鍵值,見下表。1. 行掃描法編程行掃描法編程 計算出閉合鍵的鍵值后,再判斷鍵釋放否?若鍵未釋放,則等待;若鍵已釋放,則再延時消抖,然后判斷是命令鍵還是數(shù)字鍵。若是命令鍵,則轉入命令鍵處理程序,完成命令鍵的功能;若是數(shù)字鍵,則轉入數(shù)字鍵處理程序,

60、進行數(shù)字的存儲和顯示等。63機械電子工程系機械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series1. 行掃描法編程行掃描法編程KEY1: LCALL KS1 ;檢查有閉合鍵否? JNZ LK1 ;A非0,有鍵閉合則轉 LJMP LK8 ;無鍵閉合轉返回 LK1: LCALL DIR ;有鍵閉合,則延時12ms LCALL DIR ;消抖 LCALL KS1 ;再次檢查有鍵閉合否? JNZ LK2 ;有鍵閉合則轉 LJMP LK8 ;無鍵閉合轉返回 LK2: MOV R3,00H ;行號初值送R3 MOV R2,FEH ;行掃描初值送R2 LK3: MO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論