版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series6.1 常用并行常用并行I/O接口芯片接口芯片 6.2 鍵盤及其接口鍵盤及其接口6.3 LED數(shù)碼顯示器及其接口數(shù)碼顯示器及其接口 6.5 D/A轉(zhuǎn)換器及其接口轉(zhuǎn)換器及其接口 6.6 A/D轉(zhuǎn)換器及其接口轉(zhuǎn)換器及其接口第第6章章 接口芯片與接口技術(shù)接口芯片與接口技術(shù) 2機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 8255A可編程并行輸入/輸出接口芯片是Intel公司生產(chǎn)的標(biāo)準(zhǔn)外圍接口電路。它采用NMOS工藝制造,用單
2、一5V電源供電,具有40條引腳,采用雙列直插式封裝。它有A、B、C3個(gè)端口共24條I/O線,可以通過編程的方法來設(shè)定端口的各種I/O功能。 8255A功能強(qiáng),能方便地與各種微機(jī)系統(tǒng)相接, 所以得到了廣泛的應(yīng)用。6.1 常用并行常用并行I/O接口芯片接口芯片 3機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series1. 8255A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)3個(gè)個(gè)8位位數(shù)據(jù)端數(shù)據(jù)端口口A、B和和C。A組和組和B組控制組控制電路。它們接受電路。它們接受CPU送出的命令字送出的命令字,根據(jù)命根據(jù)命令字決定兩組分別的令字決定兩組分別的工作方式工作方式,或
3、對(duì)端口或?qū)Χ丝贑進(jìn)行按位復(fù)位進(jìn)行按位復(fù)位/置位。置位。A組控制電組控制電路控制端口路控制端口A和端口和端口C的上半部。的上半部。B組控制電路控組控制電路控制端口制端口B和端口和端口C的下半部。的下半部。8255A內(nèi)部結(jié)構(gòu)圖 4機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series8255A端口地址表端口地址表1. 8255A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) 8255A內(nèi)部有4個(gè)端口:3個(gè)8位的數(shù)據(jù)端口A口、B口和C 口,還有一個(gè)1個(gè)8位的控制寄存器。這4個(gè)端口的地址見下表。 8255A為可編程接口芯片,需要進(jìn)行初始化才能應(yīng)用。初始化操作就是向8255
4、A控制寄存器寫入控制字,以控制字的形式對(duì)其工作方式(或C口狀態(tài))進(jìn)行設(shè)置。控制寄存器即是用于接收CPU發(fā)出控制字,它只能寫入控制信息而不能讀出其中的內(nèi)容。5機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series8255A引腳圖 與與外設(shè)相連接的引腳外設(shè)相連接的引腳PA7PA0: PA口數(shù)據(jù)線PB7PB0: PB口數(shù)據(jù)線PC7PC0: PC口數(shù)據(jù)線與與CPU相連接的引腳相連接的引腳D7D0: 8255A的數(shù)據(jù)線。RESET: 復(fù)位信號(hào),高電平有效。當(dāng)RESET有效時(shí),所有內(nèi)部寄存器都被清除,同時(shí),3個(gè)數(shù)據(jù)端口被自動(dòng)設(shè)為輸入方式。2. 825
5、5A主要引腳定義主要引腳定義6機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2. 8255A主要引腳定義主要引腳定義8255A引腳圖 與與CPU相連接的引腳相連接的引腳CS:片選信號(hào),低電平有效。RD:讀信號(hào),低電平有效。WD:寫信號(hào),低電平有效。A1、A0:端口選擇信號(hào)。 8255A內(nèi)部有1個(gè)控制端口和3個(gè)數(shù)據(jù)端口。 A1A0=00時(shí),選中數(shù)據(jù)端口A; A1A0=01時(shí),選中數(shù)據(jù)端口B; A1A0=10時(shí),選中數(shù)據(jù)端口C; A1A0=11時(shí),選中控制端口。7機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 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機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 工作方式工作方式03. 8255A數(shù)據(jù)端口的工作方式數(shù)據(jù)端口的工作方式 方式0是基本輸入/輸出方式。這種方式下,外設(shè)可以隨時(shí)提供數(shù)據(jù)給CPU,也可以隨時(shí)接受CPU送出的數(shù)據(jù),數(shù)據(jù)傳輸無需任何選通/應(yīng)答信號(hào)。 A口、B口及C口的高4位和低4位都可以
7、設(shè)定為輸入或輸出。作為輸出口時(shí),輸出的數(shù)據(jù)均被鎖存;作為輸入口時(shí),A口的數(shù)據(jù)能鎖存,B口與C口的數(shù)據(jù)不能鎖存。 9機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 工作方式工作方式13. 8255A數(shù)據(jù)端口的工作方式數(shù)據(jù)端口的工作方式 工作方式1下,A口可由編程設(shè)定為輸入口或輸出口,需要C口的3位用來作為輸入/輸出操作的控制和同步信號(hào);B口同樣可由編程設(shè)定為輸入口或輸出口,需要C口的另3位用來作為輸入/輸出操作的控制和同步信號(hào)。在方式1下,A口和B口的輸入數(shù)據(jù)或輸出數(shù)據(jù)都能被鎖存。10機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳
8、慧 Micro Control System 51 Seriesn 工作方式工作方式1 A口或B口均可工作于方式1,下面以A、B口均為輸入口或均為輸出口兩種情況舉例說明方式1下的輸入和輸出過程。 A口口/B口為選通輸入口時(shí)所需的聯(lián)絡(luò)信號(hào)口為選通輸入口時(shí)所需的聯(lián)絡(luò)信號(hào)STB:外設(shè)發(fā)送的選通脈沖信號(hào),低電平有效。該信號(hào)到來時(shí),輸入的數(shù)據(jù)被裝入到8255A的A口(或B口)鎖存器中。IBF:8255A輸出的表示輸入緩沖器滿的信號(hào),高電平有效。表示一個(gè)有效數(shù)據(jù)被鎖存于8255A的口鎖存器中,尚未被CPU取走,暫不能向接口輸入數(shù)據(jù)。INTR:8255A發(fā)出的中斷請(qǐng)求信號(hào),高電平有效。當(dāng)IBF為高、STB信
9、號(hào)由低變高時(shí),該信號(hào)有效。方式1下A、B均為輸入口 另外,8255A內(nèi)部有為控制中斷而設(shè)的中斷允許信號(hào)INTE。INTE由軟件置位/復(fù)位該位來允許/禁止8255A給CPU發(fā)送中斷請(qǐng)求信號(hào)。p方式方式1下下A口、口、B口均為口均為輸入輸入11機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 外設(shè)將數(shù)據(jù)輸入到8255A 的口鎖存器的同時(shí),送出STB 信號(hào) 至8255A。 接著,8255A發(fā)出有效的IBF信號(hào),并且在STB信號(hào)結(jié)束時(shí)產(chǎn) 生INTR信號(hào)。查詢傳送時(shí),以IBF作為查詢狀態(tài)信號(hào);中斷 傳送時(shí),以INTR作為向CPU發(fā)出中斷請(qǐng)求的
10、信號(hào)。 接著,CPU執(zhí)行“讀”的MOVX指令將數(shù)據(jù)從8255A的輸入口 讀入到51單片機(jī)中,MOVX指令的執(zhí)行伴隨著RD信號(hào)有效。 最后,MOVX指令完畢,RD信號(hào)的下降沿使得INTR失效,其 上升沿則使得IBF信號(hào)失效,于是所有的信號(hào)恢復(fù)到初始狀態(tài)。n 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下一次數(shù)據(jù)輸入的步驟下一次數(shù)據(jù)輸入的步驟12機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下數(shù)據(jù)輸入的信號(hào)時(shí)序下數(shù)據(jù)輸入的信號(hào)時(shí)序方式1下通過A
11、口(或B口)輸入數(shù)據(jù)時(shí)的信號(hào)時(shí)序圖 13機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 工作方式工作方式1 A口或B口均可工作于方式1,下面以A、B口均為輸入口或均為輸出口兩種情況舉例說明方式1下的輸入和輸出過程。 A口口/B口為選通輸出口時(shí)所需的聯(lián)絡(luò)信號(hào)口為選通輸出口時(shí)所需的聯(lián)絡(luò)信號(hào)ACK:外設(shè)響應(yīng)信號(hào)(輸入),低電平有效。外設(shè)發(fā)送給8255A的應(yīng)答信號(hào),低電平有效。當(dāng)外設(shè)取走8255A的輸出口A口(或B口)中的有效數(shù)據(jù)后向發(fā)回的應(yīng)答信號(hào)。OBF:8255A對(duì)外發(fā)送的輸出緩沖器滿信號(hào),低電平有效。表示CPU已經(jīng)將一個(gè)輸出數(shù)據(jù)寫
12、入到8255A的口鎖存器。INTR:8255A發(fā)出的向CPU申請(qǐng)中斷的請(qǐng)求信號(hào),高電平有效。方式1下A、B均為輸出口 8255A內(nèi)部的為控制中斷設(shè)的中斷允許信號(hào)INTE。INTE由軟件置位/復(fù)位該位來允許/禁止8255A給CPU發(fā)送中斷請(qǐng)求信號(hào)。p方式方式1下下A口、口、B口均為口均為輸出輸出14機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 外設(shè)接收并處理完上一組數(shù)據(jù)后,向8255A發(fā)送ACK響應(yīng)信號(hào)。 接著,8255A使OBF信號(hào)處于高電平的失效狀態(tài),表示輸出緩 沖器已空,并且在ACK信號(hào)結(jié)束時(shí)產(chǎn)生有效的INTR高電平信 號(hào)。
13、查詢傳送時(shí),以O(shè)BF作為查詢狀態(tài)信號(hào);中斷傳送時(shí),以 INTR作為向CPU發(fā)出中斷請(qǐng)求的信號(hào)。 接著,CPU執(zhí)行“寫”的MOVX指令把下一個(gè)數(shù)據(jù)寫入到8255A 的輸出口鎖存器中,MOVX指令的執(zhí)行伴隨著WR信號(hào)有效。 最后,MOVX指令完畢,WR信號(hào)的下降沿使得INTR失效,其 上升沿則使得OBF信號(hào)失效。OBF信號(hào)有效表明輸出數(shù)據(jù)準(zhǔn)備好 了,以此信號(hào)通知外設(shè)取走并處理8255A輸出口鎖存器中的數(shù)據(jù)。n 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下一次數(shù)據(jù)輸出的步驟下一次數(shù)據(jù)輸出的步驟15機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control S
14、ystem 51 Seriesn 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下數(shù)據(jù)輸出的信號(hào)時(shí)序下數(shù)據(jù)輸出的信號(hào)時(shí)序方式1下通過A口(或B口)輸出數(shù)據(jù)時(shí)的信號(hào)時(shí)序圖 16機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 如前所述,當(dāng)8255A的A口和B口同時(shí)為方式1的輸入端口或輸出端口時(shí),需使用C口的6位作為聯(lián)絡(luò)信號(hào)。此時(shí),C口剩下的兩位還可以用程序來指定數(shù)據(jù)的傳送方向是輸入還是輸出;也可以對(duì)C口剩下的兩位實(shí)現(xiàn)置位或復(fù)位操作。 當(dāng)8255A只有一個(gè)端口(A口或B口)工作在方式1時(shí),則C口剩下的5位也可按照上述
15、情況處理。n 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1時(shí)時(shí)C口的工作情況說明口的工作情況說明17機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 工作方式工作方式23. 8255A數(shù)據(jù)端口的工作方式數(shù)據(jù)端口的工作方式 8255A只有A口具有這種雙向輸入輸出工作方式,實(shí)際上是在方式1下A口輸入輸出的結(jié)合。方式2下聯(lián)絡(luò)信號(hào)的定義 方式2下,A口為8位雙向傳輸口,C口的PC7PC3用來作為輸入/輸出的同步控制信號(hào)。 在這種情況下,B口和PC2PC0只能編程為方式0或方式1工作;而C口剩下的3條線可作為輸入或輸出
16、線使用,或用作B口方式1之下的控制線。18機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series CPU以中斷或查詢方式,執(zhí)行MOVX的讀 指令從8255A的A口讀取數(shù)據(jù),讀的過程伴隨著RD信號(hào)有效。待RD信號(hào)失效后,IBFA和INTRA信號(hào)相繼失效回復(fù)到初始狀態(tài),完成了一次數(shù)據(jù)輸入過程。 當(dāng)外設(shè)向8255A送數(shù)據(jù)時(shí),選通脈沖STB也同時(shí)送到,將數(shù)據(jù)鎖存到A口鎖存器中,接著信號(hào)IBFA有效用以通知外設(shè)A口已收到數(shù)據(jù)。當(dāng)STB信號(hào)結(jié)束時(shí),INTR信號(hào)變?yōu)橛行В源讼駽PU請(qǐng)求中斷。 A口于方式口于方式2下一次數(shù)據(jù)輸入的過程下一次數(shù)據(jù)輸入的過
17、程方式2下輸入輸出操作的時(shí)序圖19機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 當(dāng)外設(shè)讀取數(shù)據(jù)時(shí),將給8255A發(fā)出一個(gè)有效的響應(yīng)信號(hào)ACKA使得A口的三態(tài)門導(dǎo)通,從而將數(shù)據(jù)從8255A的A口送至外設(shè)。ACKA信號(hào)也使得OBFA變?yōu)槭?,從而可以開始下個(gè)數(shù)據(jù)的輸入或輸出過程。 當(dāng)CPU通過中斷或查詢的方式,執(zhí)行MOVX的寫指令向8255A的A口中寫入一個(gè)數(shù)據(jù)時(shí),會(huì)伴隨著WR信號(hào)有效。WR信號(hào)一方面使中斷請(qǐng)求信號(hào)INTRA失效;另一方面使輸出緩沖器滿信號(hào)OBFA變低,通知外設(shè)從A口讀取數(shù)據(jù)。 A口于方式口于方式2下一次數(shù)據(jù)輸入的過
18、程下一次數(shù)據(jù)輸入的過程方式2下輸入輸出操作的時(shí)序圖20機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series4. 8255A的控制命令字的控制命令字 8255A工作方式取決于CPU寫入其控制寄存器端口的控制(命令)字??刂谱址譃楣ぷ鞣绞娇刂谱趾虲口置位/復(fù)位控制字兩類。n 工作工作方式控制字方式控制字工作方式控制字用于確定數(shù)據(jù)端口的工作方式及數(shù)據(jù)傳送方向。 8255A工作方式控制字格式A組包括組包括A口與口與C口的高口的高4位。位。B組包括組包括B口與口與C口的低口的低4位。位。21機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Mic
19、ro Control System 51 Series4. 8255A的控制的控制命令命令字字n C口置位口置位/復(fù)位控制字兩類。復(fù)位控制字兩類。 8255A的C口置位/復(fù)位控制字可以使C口8位中的任一位清0或置1。該控制字每次只對(duì)C口中的一位進(jìn)行置位或復(fù)位。 C口置位/復(fù)位控制字格式 注意:注意:作為作為聯(lián)絡(luò)線使用的聯(lián)絡(luò)線使用的C口各位是不能采用置位口各位是不能采用置位/復(fù)位復(fù)位操作來使其置位或復(fù)位的。操作來使其置位或復(fù)位的。22機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series5. 8255A的應(yīng)用的應(yīng)用n8255A與與51單片機(jī)
20、的連接單片機(jī)的連接 由于單片機(jī)系統(tǒng)片外RAM的實(shí)際容量一般不大,遠(yuǎn)遠(yuǎn)達(dá)不到64KB的范圍,因此I/O接口芯片的片選多采用線選法。這樣方法雖然要浪費(fèi)大量的地址號(hào),但譯碼電路比較簡單。8255A與80C51的連接 設(shè)8255A與80C51的連接如左圖所示。 圖中8255A的I/O端口有213組有效地址,最小一組為: A口 0000H B口 0001H C口 0002H 命令口 0003H23機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series5. 8255A的應(yīng)用的應(yīng)用n8255A的的初始化編程初始化編程 8255A初始化的內(nèi)容就是向控制寄
21、存器寫入工作方式控制字或C口置位/復(fù)位控制字?!纠?-1】設(shè)控制寄存器的地址為0003H,對(duì)8255A各口作如下設(shè)置: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:工作方式字標(biāo)志。 初始化程序段初始化程序段MOV DPTR, 0003H MOV A, 91HMOVX DPTR, A24機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control Syst
22、em 51 Series5. 8255A的應(yīng)用的應(yīng)用n8255A的初始化編程的初始化編程 8255A初始化的內(nèi)容就是向控制寄存器寫入工作方式控制字或C口置位/復(fù)位控制字?!纠?-2】設(shè)已知命令口地址為0003H,要求對(duì)端口C的D3位置位/ 復(fù)位,試完成8255A的初始化。 使使C端口端口D3位置位的控制字為位置位的控制字為10010001B(即(即07H) 初始化程序段初始化程序段MOV DPTR, 0003H MOV A, 07H ;或MOV A, 06HMOVX DPTR, A 使使C端口端口D3位復(fù)位的控制字為位復(fù)位的控制字為00000110B(即(即06H)25機(jī)械電子工程系機(jī)械電子
23、工程系主主講講:陳慧:陳慧 Micro Control System 51 Series5. 8255A的應(yīng)用的應(yīng)用n8255A應(yīng)用舉例應(yīng)用舉例【例例6-3】已知8255A的C口和控制口地址分別為0002H和0003H, 試編程實(shí)現(xiàn)通過8255A的PC5端向外輸出1個(gè)正脈沖信號(hào)。 思考:要從PC5端輸出1個(gè)正脈沖可以通過PC5的置位/復(fù)位控制實(shí)現(xiàn)。先送對(duì)PC5位置位的控制字,經(jīng)過一定延時(shí)(延時(shí)視脈寬而定)后再送對(duì)PC5位復(fù)位的控制字,即能實(shí)現(xiàn)產(chǎn)生1個(gè)正脈沖。MOV DPTR,0003H ;指向8255A的控制口MOV A,0BH ;對(duì)PC5置1MOVX DPTR,ALCALL DELAY ;延
24、時(shí)(調(diào)用延時(shí)子程序)DEC A ;對(duì)PC5置0MOVX DPTR,A26機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series5. 8255A的應(yīng)用的應(yīng)用n8255A應(yīng)用舉例應(yīng)用舉例【例例6-4】下圖為80C51通過8255A接打印機(jī)的連線圖,設(shè)8255A為工作方式0,與CPU之間采用查詢傳送數(shù)據(jù)。試編寫打印輸出某數(shù)據(jù)塊的程序,數(shù)據(jù)塊首地址為內(nèi)部RAM的FSTA,長度為NUM個(gè)字符。思考:思考:1)A、B、C口及命令口地址分別為0000H0003H。 2)8255A工作于方式0,即基本輸入/輸出方式。3)打印機(jī)接收數(shù)據(jù)的過程采用選通 控
25、制 : 其 數(shù) 據(jù) 端 口 連 接 到8255A的A口;狀態(tài)信號(hào)BUSY連接到8255A的PC7,當(dāng)打印機(jī)忙于處理上一個(gè)字符時(shí)BUSY=1,反之之則BUSY=0;打印機(jī)通過STB端接收8255APC0送來的選通信號(hào),當(dāng)STB端接收到一個(gè)負(fù)跳變信號(hào)(即選通脈沖下降沿)時(shí),表示一個(gè)新的數(shù)據(jù)被送到了打印機(jī)的數(shù)據(jù)端口。27機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series5. 8255A的應(yīng)用的應(yīng)用n8255A應(yīng)用舉例應(yīng)用舉例【例例6-4】下圖為80C51通過8255A接打印機(jī)的連線圖,設(shè)8255A為工作方式0,與CPU之間采用查詢傳送數(shù)據(jù)。
26、試編寫打印輸出某數(shù)據(jù)塊的程序,數(shù)據(jù)塊首地址為內(nèi)部RAM的FSTA,長度為NUM個(gè)字符。參考程序如下參考程序如下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機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 8155是Intel出品的可編程多功能接口芯片,+5v電源供電,40引腳雙列直插式封裝,8155的內(nèi)部功能結(jié)構(gòu)如下圖。6.1 常用并行常用并行I/O接口芯片接口芯片 3個(gè)并行I/O口:其中 A 口、B口為8位, C口為6位。 一個(gè)256字節(jié)的靜態(tài)RAM 一個(gè)14位的定時(shí)/計(jì)數(shù)器 8155內(nèi)部功能結(jié)構(gòu)示意圖 一個(gè)控制寄存器29機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System
28、 51 Series2. 8155的引腳功能的引腳功能AD0AD7:三態(tài)地址/數(shù)據(jù)總線。 8155通過它與CPU傳送低8位地址和8位 數(shù)據(jù)。由于它具有和51系列單片機(jī)P0口 一致的分時(shí)復(fù)用功能,二者可直接相連。 ALE:地址鎖存允許信號(hào)。 CE:片選信號(hào)線,低電平有效。 RD:讀出信號(hào)線,低電平有效。 WR:寫入信號(hào)線。低電平有效。 IO/M:RAM和I/O端口選擇信號(hào)。 IO/M=0時(shí)選中RAM區(qū),由AD0AD7選擇RAM單元的低8位地址為00HFFH; IO/M=1時(shí)選中I/O端口區(qū),由AD0AD2選擇I/O端口區(qū)低3位地址為00H05H。8155引腳圖 1. 8155主要引腳定義及內(nèi)部功
29、能結(jié)構(gòu)主要引腳定義及內(nèi)部功能結(jié)構(gòu)1)8155主要引腳主要引腳定義定義30機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series PA7PA0: A口輸入/輸出信號(hào)線。 PB7PB0: B口輸入/輸出信號(hào)線。 PC5PC0: C口輸入/輸出信號(hào)線。 TIMERIN: 定時(shí)/計(jì)數(shù)器脈沖輸入端。 TIMEROUT: 定時(shí)/計(jì)數(shù)器脈沖輸出端。 RESET: 復(fù)位信號(hào)線。8155復(fù)位時(shí)將 A、B、C三個(gè)I/O口均初始化成輸入方式。1)8155主要引腳主要引腳定義定義31機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control S
30、ystem 51 Series 使使CE=0選中該選中該8155芯片;芯片; 使使IO/M=0選擇片內(nèi)選擇片內(nèi)256字節(jié)的字節(jié)的RAM區(qū)。區(qū)。 8155內(nèi)部RAM區(qū)共有256個(gè)單元,芯片提供了A0A7共8位的字選地址線,每個(gè)RAM單元的低8位地址唯一,其范圍為:00HFFH。p RAM區(qū)單元的編址區(qū)單元的編址2)8155內(nèi)部功能結(jié)構(gòu)及其內(nèi)部功能結(jié)構(gòu)及其地址地址 8155內(nèi)部有1個(gè)控制寄存器、3個(gè)數(shù)據(jù)I/O口、256B的RAM以及1個(gè)定時(shí)器/計(jì)數(shù)器。CPU訪問8155時(shí),將它們分為RAM區(qū)和I/O區(qū)兩個(gè)不同的邏輯區(qū)域。1. 8155主要引腳定義及內(nèi)部功能結(jié)構(gòu)主要引腳定義及內(nèi)部功能結(jié)構(gòu)32機(jī)械電子
31、工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2)8155內(nèi)部功能結(jié)構(gòu)及其內(nèi)部功能結(jié)構(gòu)及其地址地址8155內(nèi)部內(nèi)部I/O端口地址分配表端口地址分配表p I/O端口的編址端口的編址 使使CE=0選中該選中該8155芯片;芯片; 使使IO/M=1選擇選擇片片內(nèi)內(nèi)6個(gè)個(gè)I/O端口。端口。 8155提供AD0AD2這3位為字選地址線,6個(gè)I/O端口地址的低3位見下表。33機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series【例例6-4】下圖為80C51單片機(jī)擴(kuò)展一片8155芯片的連線示意圖
32、,試寫出該8155芯片內(nèi)部RAM單元及I/O端口的地址。 根據(jù)下面的RAM區(qū)單元地址譯碼關(guān)系表可知,RAM區(qū)單元占用了26=64組有效地址,每組256個(gè)。 當(dāng)“A15A14A13A12A11A10”取值“000000”時(shí),RAM區(qū)256個(gè)單元最小的一組地址為:0000H00FFH。p I/O端口的編址端口的編址80C51擴(kuò)展擴(kuò)展8155芯片連線示意圖芯片連線示意圖 RAM區(qū)單元地址分配區(qū)單元地址分配RAM區(qū)單元區(qū)單元地址譯碼關(guān)系表地址譯碼關(guān)系表34機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series【例例6-4】下圖為80C51單片機(jī)擴(kuò)
33、展一片8155芯片的連線示意圖,試寫出該8155芯片內(nèi)部RAM單元及I/O端口的地址。p I/O端口的編址端口的編址 I/O端口共有211=2048組有效地址,每組6個(gè)。最小一組地址為:命令/狀態(tài)寄存器口 0200H數(shù)據(jù)口A 0201H數(shù)據(jù)口B 0202H數(shù)據(jù)口C 0203H定時(shí)/計(jì)數(shù)器低8位端口 0204H定時(shí)/計(jì)數(shù)器高8位端口 0205H80C51擴(kuò)展擴(kuò)展8155芯片連線示意圖芯片連線示意圖 I/O端口地址分配端口地址分配I/O端口地址譯碼關(guān)系表端口地址譯碼關(guān)系表35機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 命令字用于定
34、義8155數(shù)據(jù)端口和定時(shí)器的工作方式。命令字寄存器只能寫不能讀。n 命令字命令字寄存器寄存器1)控制寄存器)控制寄存器端口及其定義端口及其定義 8155內(nèi)部有1個(gè)物理地址唯一的控制寄存器端口,但邏輯應(yīng)用上該端口包含兩個(gè)不同功能的寄存器:命令字寄存器和狀態(tài)字寄存器。因此,控制寄存器端口又稱命令/狀態(tài)寄存器端口。2. 8155內(nèi)部內(nèi)部I/O端口及其定義端口及其定義8155命令字的格式A、B口均為基本口均為基本I/O方方式;式;C口為輸入方式口為輸入方式A口為選通口為選通I/O、B口為口為基本基本I/O方式;方式;C口低口低3位作為位作為A口選通方式下口選通方式下的聯(lián)絡(luò)信號(hào)。的聯(lián)絡(luò)信號(hào)。A、B口均為
35、基本口均為基本I/O方方式;式;C口為輸出方式??跒檩敵龇绞?。A、B口均為選通口均為選通I/O方式;方式;C口口的低的低3位、高位、高3位分別作為位分別作為A口、口、B口選通方式下的聯(lián)絡(luò)信號(hào)。口選通方式下的聯(lián)絡(luò)信號(hào)。36機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 狀態(tài)字反映8155的工作狀態(tài),狀態(tài)字寄存器只能讀不能寫。n 狀態(tài)狀態(tài)字寄存器字寄存器1)控制寄存器)控制寄存器端口及其定義端口及其定義8155狀態(tài)字的格式37機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 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個(gè)數(shù)據(jù)I/O端口。A口和B口為8位的端口,可工作于基本I/O或選通I/O方式。C口為6位的端口,可以工作于基本I/O方式;也可以用作A口、B口選通方式下的聯(lián)絡(luò)信號(hào)線。2. 8155內(nèi)部內(nèi)部I/O端口及其定義端口及其定義 基本I/O方式是無條件傳輸?shù)姆绞?,不需?lián)絡(luò)信號(hào)。直接執(zhí)行以下指令完成信息傳輸: 輸入操作:MOV DPTR,#PORTA MOVX A,DPTR 輸出操作: MOV DPTR,#PORTA MOVX DPTR ,An 基本基本I/O方式方式38機(jī)械電
37、子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2. 選通I/O方式為有條件傳送方式,由C口提供A口和B口A工作于選通I/O方式時(shí)的聯(lián)絡(luò)信號(hào),有STB、BF、INTR三種。STB:外設(shè)發(fā)送給8155的選通/應(yīng)答信號(hào),低電平有效。 輸入操作時(shí),表示外設(shè)已將輸入數(shù)據(jù)裝入到A口(或B口)緩沖器。 輸出操作時(shí),表示外設(shè)已從A口(或B口)緩沖器將輸出數(shù)據(jù)取走。 BF: I/O口緩沖器滿空標(biāo)志,高電平有效,8155對(duì)外輸出的信號(hào)。 輸入操作時(shí),如果A口(或B口)緩沖器中已裝入數(shù)據(jù)則BF=1,表 示該緩沖器“滿”;否則BF=0,表示該緩沖器不“滿”。
38、輸出操作時(shí),如果A口(或B口)緩沖器的數(shù)據(jù)已被外設(shè)取走則 BF=1,表示該緩沖器“空” ;否則BF=0,表示該緩沖器不“空”。2)數(shù)據(jù))數(shù)據(jù)I/O端口及其定義端口及其定義n 選選通通I/O方式方式39機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 SeriesINTR: 8155對(duì)外輸出的中斷請(qǐng)求信號(hào),高電平有效。 數(shù)據(jù)輸入(或輸出)操作過程中,當(dāng)A口(或B口)緩沖器接收到外設(shè)送來的數(shù)據(jù)(或外設(shè)已經(jīng)從I/O口緩沖器中取走數(shù)據(jù))時(shí),INTR就會(huì)變?yōu)楦唠娖健?”。 此時(shí),如果8155命令寄存器相應(yīng)的中斷允許位被設(shè)為“1”,則可以以INTR=1向CP
39、U申請(qǐng)中斷;當(dāng)CPU響應(yīng)中斷,在中斷服務(wù)程序內(nèi)完成對(duì)相應(yīng)的I/O口緩沖器的一次讀/寫操作后,則INTR信號(hào)失效,即INTR恢復(fù)為低電平“0”。2)數(shù)據(jù))數(shù)據(jù)I/O端口及其定義端口及其定義n 選選通通I/O方式方式40機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 SeriesA、B口選通工作方式口選通工作方式下下C口各位的功能口各位的功能定義表定義表2)數(shù)據(jù))數(shù)據(jù)I/O端口及其定義端口及其定義n 選選通通I/O方式方式 8155的A、B口工作于選通方式下時(shí)C口各位的功能定義見下表。41機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro
40、 Control System 51 Series 8155的定時(shí)/計(jì)數(shù)器為14位的減法計(jì)數(shù)器,它能對(duì)TIMERIN引腳輸入的脈沖進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)到達(dá)要求的計(jì)數(shù)值時(shí)將通過TIMEROUT引腳向外部輸出設(shè)定的某種波形信號(hào)。8155定時(shí)/計(jì)數(shù)器用到的兩個(gè)控制端口如下圖。3)定時(shí))定時(shí)/計(jì)數(shù)器有關(guān)的端口及其定義計(jì)數(shù)器有關(guān)的端口及其定義2. 8155內(nèi)部內(nèi)部I/O端口及其定義端口及其定義8155定時(shí)定時(shí)/計(jì)數(shù)器低計(jì)數(shù)器低8位控制端口位控制端口8155定時(shí)定時(shí)/計(jì)數(shù)器高計(jì)數(shù)器高8位控制端口位控制端口42機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Se
41、ries 8155定時(shí)/計(jì)數(shù)器高8位控制端口中的“M2M1”用于定義計(jì)數(shù)器輸出波形的方式,兩位的功能定義如下表所示。3)定時(shí))定時(shí)/計(jì)數(shù)器有關(guān)的端口及其定義計(jì)數(shù)器有關(guān)的端口及其定義2. 8155內(nèi)部內(nèi)部I/O端口及其定義端口及其定義8155定時(shí)定時(shí)/計(jì)數(shù)器輸出波形方式定義計(jì)數(shù)器輸出波形方式定義43機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series3)定時(shí))定時(shí)/計(jì)數(shù)器有關(guān)的端口及其定義計(jì)數(shù)器有關(guān)的端口及其定義 8155定時(shí)/計(jì)數(shù)器在初始化時(shí),需要CPU向兩個(gè)控制端口寫入計(jì)數(shù)初值及輸出方式控制字;此外,CPU還要通過設(shè)置命令字使得定時(shí)/
42、計(jì)數(shù)器開始計(jì)數(shù)。 需注意:需注意:當(dāng)8155復(fù)位信號(hào)RESET到達(dá)時(shí),將使定時(shí)/計(jì)數(shù)器停止工作,直至命令字寄存器再次接收到啟動(dòng)定時(shí)/計(jì)數(shù)器的命令。2. 8155內(nèi)部內(nèi)部I/O端口及其定義端口及其定義44機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series3)定時(shí))定時(shí)/計(jì)數(shù)器有關(guān)的端口及其定義計(jì)數(shù)器有關(guān)的端口及其定義2. 8155內(nèi)部內(nèi)部I/O端口及其定義端口及其定義 8155的定時(shí)器在計(jì)數(shù)過程中,計(jì)數(shù)器的值并不直接表示外部輸入的脈沖。作為外部事件計(jì)數(shù)用時(shí),由計(jì)數(shù)器的現(xiàn)行計(jì)數(shù)值求輸入脈沖數(shù)的方法如下: 停止計(jì)數(shù)器計(jì)數(shù)。 分別讀出計(jì)數(shù)器的
43、兩個(gè)字節(jié)內(nèi)容。 取其低14位數(shù)作為現(xiàn)行計(jì)數(shù)值。 算出現(xiàn)行計(jì)數(shù)值與初始計(jì)數(shù)值之差,即可得到輸入脈沖數(shù)。 45機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series6.1.46.1.4 I/O 口的工作方式口的工作方式1)8155 的初始化的初始化 8155初始化指的是向8155寫入命令字和定時(shí)/計(jì)數(shù)器的初值以及輸出方式。3. 8155編程及應(yīng)用舉例編程及應(yīng)用舉例【例例6-5】采用前圖所示電路,設(shè)A口與C口為輸入口,B口為輸出口,均為基本I/O。定時(shí)器為連續(xù)方波工作方式,對(duì)輸入脈沖進(jìn)行24分頻。試編寫8155的初始化程序。 PA=0;A口輸入
44、 PB=1;B口輸出 PC2PC1=00;A、B口基本I/O,C口輸入 IEA=0,IEB=0;A口、B口均禁止中斷 TM2TM1=11;立即啟動(dòng)計(jì)數(shù)器 所以命令字取為11000010B=C2H。80C51擴(kuò)展擴(kuò)展8155芯片連線示意圖芯片連線示意圖 確定命令字確定命令字46機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series1)8155 的初始化的初始化【例例6-5】采用前圖所示電路,設(shè)A口與C口為輸入口,B口為輸出口,均為基本I/O。定時(shí)器為連續(xù)方波工作方式,對(duì)輸入脈沖進(jìn)行24分頻。試編寫8155的初始化程序。 由于計(jì)數(shù)值為24,所
45、以定時(shí)器的低定時(shí)器的低8位為位為1 8 H , 高, 高 6 位 為位 為000000B。 定時(shí)器輸出方式要求為連續(xù)方波,選M2M1=01,所以定時(shí)定時(shí)器的高器的高8位為位為01000000B=40H。 確定計(jì)數(shù)初值確定計(jì)數(shù)初值MOV DPTR,0204H ;指向定時(shí)器的低8位MOV A,18H ;取定時(shí)器低8位的值MOVX DPTR,A ;寫入定時(shí)器低8位INC DPTR ;指向定時(shí)器高8位MOV A,40H ;取定時(shí)器高8位的值MOVX DPTR,A ;寫入定時(shí)器高8位MOV DPTR,0200H ;指向命令口MOV A,C2H ;取8155的命令字MOVX DPTR,A ;寫入命令字 初
46、始化程序初始化程序47機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series6.1.46.1.4 I/O 口的工作方式口的工作方式2)8155 應(yīng)用編程舉例應(yīng)用編程舉例【例例6-6】仍采用前圖所示電路,從8155的A口輸入數(shù)據(jù)并進(jìn)行判斷:若不為0,則將該數(shù)據(jù)存入8155的RAM中(從起始單元開始存放,數(shù)據(jù)的總數(shù)不超過256個(gè)),同時(shí)從B口輸出,并將PC0置“1”;若為0,則停止輸入輸出,同時(shí)將PC0清“0”。試編寫能完成上述任務(wù)的程序。 MOV DPTR,0200H ;指向命令口 MOV A,00000110B ;取命令字 MOVX DP
47、TR,A ;寫入命令字 MOV R0,00H ;指向8155的RAM區(qū)首址 MOV R1,00H ;數(shù)據(jù)總數(shù)為256個(gè)LOOP1:MOV DPTR,0201H ;指向A口 MOVX A,DPTR ;從A口輸入數(shù)據(jù) JZ LOOP3 ;為0則轉(zhuǎn) MOVX R0,A ;不為0,則存入RAM中 INC R0 ;指向下一單元 解:參考程序如下解:參考程序如下48機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series6.1.46.1.4 I/O 口的工作方式口的工作方式2)8155 應(yīng)用編程舉例應(yīng)用編程舉例【例例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 ;未完則反復(fù)LOOP2:SJMP $ ;暫停LOOP3:MOV DPTR,0203H ;指向C口 MOVX A,DPTR ;取C口數(shù)據(jù) CLR ACC.0 ;使PC0置0 MOVX DPTR,A ;回送 SJMP LOOP249機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 鍵盤是由排列成矩陣形式的
49、一系列按鍵開關(guān)組成的,它是最常用的一種人機(jī)聯(lián)系的輸入設(shè)備。 鍵盤按其結(jié)構(gòu)形式可分為編碼式鍵盤編碼式鍵盤和非編碼式鍵盤非編碼式鍵盤兩大類。編碼式鍵盤是由其內(nèi)部硬件邏輯電路自動(dòng)產(chǎn)生被按鍵的編碼,使用方便,但價(jià)格較貴;單片機(jī)系統(tǒng)中普遍使用非編碼式鍵盤。 非編碼式鍵盤應(yīng)解決鍵的識(shí)別鍵的識(shí)別、如何消除鍵的抖動(dòng)如何消除鍵的抖動(dòng)以及鍵的保護(hù)鍵的保護(hù)這三個(gè)主要問題。6.2 鍵盤及其接口鍵盤及其接口最主要最主要的問題的問題50機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 非編碼式鍵盤采用行列矩陣形式排列,下圖為44行列式鍵盤的基本結(jié)構(gòu)示意圖。44
50、表示有4根行線和4根列線,在每根行線和列線的交叉點(diǎn)上均分布1個(gè)單觸點(diǎn)按鍵,共有16個(gè)按鍵。 44矩陣鍵盤的結(jié)構(gòu)1. 非非編碼式鍵盤的結(jié)構(gòu)編碼式鍵盤的結(jié)構(gòu)51機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2. 閉合鍵的識(shí)別閉合鍵的識(shí)別非編碼式鍵盤識(shí)別閉合鍵有兩種方法:行掃描法行掃描法和線反轉(zhuǎn)法線反轉(zhuǎn)法。52機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 行掃描行掃描法法 行掃描法原理:行掃描法原理:設(shè)定行線端口為輸出口,列線端口為輸入口;通過行線發(fā)出低電平“0”,如果
51、該行上所有鍵都沒按下則列線輸出全“1”信號(hào),如果該行上有鍵按下則列線輸出非全“1”信號(hào)。行掃描法識(shí)別閉合鍵需經(jīng)過全掃描全掃描和逐行掃描逐行掃描兩個(gè)步驟。(1)全掃描)全掃描 所有行線全輸出“0” ,判斷有沒有鍵閉合??赡苡袃煞N情況:列線端口輸入全“1”,表示鍵盤上沒有鍵被按下。列線端口輸入非全“1”,即有某列線輸入“0”的情況,表示有鍵按下。(2)逐行掃描)逐行掃描目的是獲取閉合鍵的特征值。從第0行開始,逐行單獨(dú)輸出“0” ,讀入列線輸入值,若輸入全為“1”則閉合鍵不在此行;若不全為“1”,則表示當(dāng)前行有鍵按下,閉合鍵就位于掃描行和讀入值不為“1”的列線相交的節(jié)點(diǎn),再根據(jù)該節(jié)點(diǎn)處的行值與列值得
52、到閉合鍵的特征值。如此從第0行、第1行、,逐行掃描下去,直到找到閉合鍵為止。53機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 行掃描行掃描法法54機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 線線反轉(zhuǎn)法反轉(zhuǎn)法 與行掃描法不同,線反轉(zhuǎn)法在電路連線上要求行線與列線均需有上拉電阻。采用線反轉(zhuǎn)法識(shí)別閉合鍵的特征值速度更快,并且對(duì)于任何位置的不同閉合鍵所費(fèi)時(shí)間相同。(1)全掃描判斷有無鍵被按下)全掃描判斷有無鍵被按下 設(shè)定行線端口為輸出、列線端口為輸入。行線輸出全“0”
53、,根據(jù)從列線端口輸入的數(shù)值判斷有沒有鍵閉合。這與行掃描的第一步相同。(2)通過線反轉(zhuǎn)獲取閉合鍵的特征值)通過線反轉(zhuǎn)獲取閉合鍵的特征值 當(dāng)全掃描表明有鍵按下時(shí)反轉(zhuǎn)端口性質(zhì),設(shè)定行線端口為輸入、列線端口為輸出。將上一步中列線端口讀入的值原樣再從列線端口輸出,然后從行線端口讀取輸入值。根據(jù)列線端口和行線端口讀入的求得該閉合鍵的特征值。示例如下圖6-17。2. 閉合鍵的識(shí)別閉合鍵的識(shí)別非編碼式鍵盤識(shí)別閉合鍵有兩種方法:行掃描法行掃描法和線反轉(zhuǎn)法線反轉(zhuǎn)法。55機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Seriesn 線線反轉(zhuǎn)反轉(zhuǎn)法法56機(jī)械電子工程
54、系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series3. 如何消除鍵的抖動(dòng)如何消除鍵的抖動(dòng) 按鍵為機(jī)械開關(guān),因?yàn)闄C(jī)械觸點(diǎn)的彈性及電壓突跳等原因,往往在觸點(diǎn)閉合或斷開的瞬間會(huì)出現(xiàn)電壓抖動(dòng),如下圖所示。鍵閉合和斷開時(shí)的電壓抖動(dòng) 消除按鍵的抖動(dòng)有硬件和軟件兩種方法。硬件方法就是加消抖電路從根本上避免抖動(dòng)產(chǎn)生;軟件方法是采用延時(shí)(一般延遲時(shí)間為10-20ms)避開抖動(dòng),待信號(hào)穩(wěn)定之后再進(jìn)行鍵掃描。單片機(jī)一般均采用軟件軟件延遲延遲的消抖方法。57機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series4.
55、 鍵的保護(hù)鍵的保護(hù) 鍵的保護(hù)是指當(dāng)有雙鍵或多鍵同時(shí)按下時(shí)會(huì)出現(xiàn)什么問題以及如何加以解決。 若同同一行上有兩個(gè)鍵被同時(shí)按下一行上有兩個(gè)鍵被同時(shí)按下,硬件上不會(huì)出現(xiàn)什么問題;但軟件上由于讀入的列代碼中出現(xiàn)了兩個(gè)0,它與行值組成的鍵特征值就超出了設(shè)定鍵的范圍,查不出有效的鍵值來。因此出現(xiàn)這樣情況一般也作為廢鍵處理。 若同一列上有兩個(gè)鍵被同時(shí)按下同一列上有兩個(gè)鍵被同時(shí)按下,軟件上的情況同上;硬件上來說,行掃描法與線反轉(zhuǎn)法情況不同:線反轉(zhuǎn)法沒有問題,但對(duì)行掃描來說,因?yàn)?信號(hào)是逐行發(fā)出的,當(dāng)掃描到一個(gè)鍵所在行為0,而另一個(gè)鍵所在行為1時(shí),就出現(xiàn)了行輸出端口短路的現(xiàn)象從而造成端口的損壞。這種要絕對(duì)禁止,因
56、此使用時(shí)要注意防止出現(xiàn)雙鍵或多控同時(shí)按下的情況。58機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 80C51單片機(jī)如果P1口不作其它用途的話,它可與44的鍵盤相連接;如果不再外擴(kuò)程序存儲(chǔ)器的話,則還可以利用P0P2中任意兩個(gè)口構(gòu)成多達(dá)88的鍵盤,其中一個(gè)口作為輸出口另一口個(gè)作為輸入口。在閉合鍵的識(shí)別上既可以采用前述的行掃描法,也可以采用線反轉(zhuǎn)法。例如前述圖6-14所示。1. 采用采用51單片機(jī)本身并行單片機(jī)本身并行I/O口連接鍵盤口連接鍵盤 實(shí)際應(yīng)用中,多數(shù)情況下P0P2端口已被占用,只能通過擴(kuò)展8155、8255A等通用并行I
57、/O接口芯片構(gòu)建鍵盤接口電路,如圖6-18所示;或者采用8279等專用接口芯片構(gòu)建鍵盤接口電路,如圖6-19所示。2. 51單片機(jī)擴(kuò)展并行單片機(jī)擴(kuò)展并行I/O口連接鍵盤口連接鍵盤59機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2. 51單片機(jī)擴(kuò)展并行單片機(jī)擴(kuò)展并行I/O口連接鍵盤口連接鍵盤 實(shí)際應(yīng)用中,多數(shù)情況下P0P2端口已被占用,只能通過擴(kuò)展8155、8255A等通用并行I/O接口芯片構(gòu)建鍵盤接口電路,如圖6-18所示;或者采用8279等專用接口芯片構(gòu)建鍵盤接口電路,如圖6-19所示。采用8155連接48鍵盤的接口電路60機(jī)
58、械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series2. 51單片機(jī)擴(kuò)展并行單片機(jī)擴(kuò)展并行I/O口連接鍵盤口連接鍵盤 或者采用8279等專用接口芯片構(gòu)建鍵盤接口電路,如圖6-19所示。采用8279連接38鍵盤的接口電路61機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 以前述采用8155連接48鍵盤的接口電路為例,行掃描法識(shí)別閉合鍵的程序流程右圖。 首先調(diào)用全掃描子程序,檢查有無閉合鍵。若無鍵閉合,則對(duì)數(shù)碼顯示器掃描顯示1遍;若有鍵閉合,則調(diào)用兩次數(shù)碼顯示器掃描顯示子程序的延
59、時(shí)約12ms消抖。 然后再次檢查有無鍵閉合,若無鍵閉合,則返回主程序;若有鍵閉合,則進(jìn)行逐行掃描,以判別閉合鍵的具體位置。1. 行掃描法編程行掃描法編程鍵盤掃描子程序流程圖(行掃描法)62機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series 對(duì)于本例84的鍵盤,可直接由公式“鍵值=行號(hào)4列號(hào)”計(jì)算鍵值,見下表。1. 行掃描法編程行掃描法編程 計(jì)算出閉合鍵的鍵值后,再判斷鍵釋放否?若鍵未釋放,則等待;若鍵已釋放,則再延時(shí)消抖,然后判斷是命令鍵還是數(shù)字鍵。若是命令鍵,則轉(zhuǎn)入命令鍵處理程序,完成命令鍵的功能;若是數(shù)字鍵,則轉(zhuǎn)入數(shù)字鍵處理程序,
60、進(jìn)行數(shù)字的存儲(chǔ)和顯示等。63機(jī)械電子工程系機(jī)械電子工程系主主講講:陳慧:陳慧 Micro Control System 51 Series1. 行掃描法編程行掃描法編程KEY1: LCALL KS1 ;檢查有閉合鍵否? JNZ LK1 ;A非0,有鍵閉合則轉(zhuǎn) LJMP LK8 ;無鍵閉合轉(zhuǎn)返回 LK1: LCALL DIR ;有鍵閉合,則延時(shí)12ms LCALL DIR ;消抖 LCALL KS1 ;再次檢查有鍵閉合否? JNZ LK2 ;有鍵閉合則轉(zhuǎn) LJMP LK8 ;無鍵閉合轉(zhuǎn)返回 LK2: MOV R3,00H ;行號(hào)初值送R3 MOV R2,FEH ;行掃描初值送R2 LK3: MO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專用燒烤制品買賣協(xié)議(2024版)版B版
- 專屬2024年度玉米購入?yún)f(xié)議格式版A版
- 2025年度產(chǎn)業(yè)園區(qū)廠房租賃合同規(guī)范文本8篇
- 2025年度高科技產(chǎn)業(yè)園區(qū)物業(yè)智能化改造服務(wù)協(xié)議4篇
- 專業(yè)維修與裝飾工程2024協(xié)議格式版B版
- 2025年度企業(yè)搬遷拆遷補(bǔ)償承包合同范本4篇
- 個(gè)人間借貸協(xié)議規(guī)范文本2024年款版A版
- 2025年度影視基地場地租賃及拍攝服務(wù)合同4篇
- 2025年度教育機(jī)構(gòu)場地租賃與教育培訓(xùn)合同2篇
- 二零二四年LED產(chǎn)品OEM生產(chǎn)與技術(shù)支持合同
- 冬春季呼吸道傳染病防控
- 中介費(fèi)合同范本(2025年)
- 《kdigo專家共識(shí):補(bǔ)體系統(tǒng)在腎臟疾病的作用》解讀
- 生產(chǎn)調(diào)度員崗位面試題及答案(經(jīng)典版)
- 【物 理】2024-2025學(xué)年八年級(jí)上冊(cè)物理寒假作業(yè)人教版
- 交通運(yùn)輸安全生產(chǎn)管理規(guī)范
- 2025春夏運(yùn)動(dòng)戶外行業(yè)趨勢白皮書
- 電力行業(yè) 電力施工組織設(shè)計(jì)(施工方案)
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動(dòng)合同
- 查對(duì)制度 課件
評(píng)論
0/150
提交評(píng)論