單片機及應用-第七章-80c51單片機并行io擴展8_第1頁
單片機及應用-第七章-80c51單片機并行io擴展8_第2頁
單片機及應用-第七章-80c51單片機并行io擴展8_第3頁
單片機及應用-第七章-80c51單片機并行io擴展8_第4頁
單片機及應用-第七章-80c51單片機并行io擴展8_第5頁
已閱讀5頁,還剩88頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章單片機并行I/O擴展主要內(nèi)容7.1單片機I/O擴展基礎知識7.2可編程并行接口芯片82557.3鍵盤接口技術7.4LED顯示器接口技術7.5打印機接口技術*7.6鍵盤顯示器接口8279

7.1單片機I/O擴展基礎知識7.1.1I/O接口電路的功能1.速度協(xié)調(diào)面對各種設備的速度差異,單片機無法按固定的時序以同步方式進行I/O操作,只能以異步方式進行,也就是只有在確認設備已為數(shù)據(jù)傳送做好準備的前提下才能進行I/O操作。為此需要接口電路產(chǎn)生狀態(tài)信號或中斷請求信號,表明設備是否做好準備。即通過接口電路來進行單片機與外部設備之間的速度協(xié)調(diào)。2.輸出數(shù)據(jù)鎖存由于CPU與外設速度的不一致,需要有接口電路把輸出數(shù)據(jù)先鎖存起來,待輸出設備為接收數(shù)據(jù)做好準備后,再傳送數(shù)據(jù)。這就是接口電路的數(shù)據(jù)鎖存功能。3.數(shù)據(jù)總線隔離總線上可能連接著多個數(shù)據(jù)源(輸入設備)和多個數(shù)據(jù)負載(輸出設備)。一對源和負載的數(shù)據(jù)傳送正在進行時,所有其他不參與的設備在電性能上必須與總線隔開。這就是接口電路的總線隔離功能。為了實現(xiàn)總線隔離,需要有接口電路提供具有三態(tài)緩沖功能的三態(tài)緩沖電路。4.數(shù)據(jù)轉(zhuǎn)換外部設備種類繁多,不同設備之間的性能差異很大,信號形式也多種多樣。單片機只能使用數(shù)字信號,如果外部設備所提供或需要的不是電壓形式的數(shù)字信號,就需要有接口電路進行轉(zhuǎn)換,其中包括模/數(shù)轉(zhuǎn)換和數(shù)/模轉(zhuǎn)換等。7.1.1I/O接口電路的功能5.增強驅(qū)動能力通過接口電路為輸出數(shù)據(jù)提供足夠的驅(qū)動功率,以保證外部設備能正常、平穩(wěn)地工作。7.1.1I/O接口電路的功能7.1.2關于接口電路的更多說明1.接口與接口電路“接口”(Interface),具有界面、相互聯(lián)系等含義,通過接口能使兩個被連接的器件協(xié)同工作。單片機接口,則是研究單片機與外部設備之間的連接問題。單片機與外部設備之間接口界面的硬件電路稱為接口電路,或稱為I/O接口電路。2.口或端口為了實現(xiàn)I/O接口電路的界面功能,在接口電路中應包含一些寄存器,通常把接口電路中這些已編址并能進行讀或(和)寫操作的寄存器稱為端口或簡稱口(Port)。7.1單片機I/O擴展基礎知識3.I/O接口的特點①異步性。平時單片機與外部設備按各自的時序并行工作,只有在需要時外部設備才通過接口電路接受單片機的控制。②實時性。單片機對外部設備的控制以查詢或中斷方式進行,以便最大限度地實現(xiàn)控制的實時化。③與設備無關性。接口芯片不一定是專用的,同一個接口芯片通過軟件設置可為多種設備實現(xiàn)接口。7.1.2關于接口電路的更多說明4.并行接口與串行接口按數(shù)據(jù)傳輸方式的不同,接口有并行與串行之分,即并行接口與串行接口。

7.1.3I/O編址技術兩種I/O編址方式:統(tǒng)一編址方式和獨立編址方式。統(tǒng)一編址方式:把I/O接口中的寄存器與外擴展的數(shù)據(jù)存儲器中的存儲單元同等對待,合在一起使用同一個外擴展地址空間。獨立編址方式:把I/O與存儲器分開進行編址。這樣,在一個單片機系統(tǒng)中就形成了兩個獨立的地址空間:存儲器地址空間和I/O地址空間。在80C51單片機系統(tǒng)中,采用統(tǒng)一編址方式。7.1單片機I/O擴展基礎知識7.1.4單片機I/O控制方式1.無條件方式無條件傳送也稱為同步程序傳送。只有那些能一直為I/O操作作好準備的設備,才能使用無條件傳送方式。在進行無條件I/O操作時,無需測試設備的狀態(tài),可以根據(jù)需要隨時進行I/O操作。無條件傳送適用于兩類設備的I/O操作。一類是具有常駐的或變化緩慢的數(shù)據(jù)信號的設備。例如,機械開關、指示燈、發(fā)光二極管、數(shù)碼管等,另一類則是工作速度非??欤阋院蛦纹瑱C同步工作的設備,例如數(shù)/模轉(zhuǎn)換器(DAC)。7.1單片機I/O擴展基礎知識7.1.4單片機I/O控制方式2.查詢方式查詢方式又稱為有條件傳送方式,在I/O操作前,先要檢測設備的狀態(tài),只有在確認設備已“準備好”的情況下,單片機才能執(zhí)行I/O操作。檢測也稱為“查詢”,所以就把這種有條件的I/O控制方式稱為查詢方式。為實現(xiàn)查詢方式的I/O控制,需要由接口電路提供設備狀態(tài),接口電路中的狀態(tài)寄存器或狀態(tài)位就是為此而準備的。查詢方式只適用于規(guī)模比較小的單片機系統(tǒng)。中斷方式與查詢方式的主要區(qū)別在于如何知道外部設備是否為I/O操作做好準備。采用中斷方式進行I/O控制時,當設備做好準備之后,就向單片機發(fā)出中斷請求。單片機接收到中斷請求之后作出響應,暫停正在執(zhí)行的原程序,而轉(zhuǎn)去執(zhí)行中斷服務程序,通過執(zhí)行中斷服務程序完成一次I/O操作,然后返回,再繼續(xù)執(zhí)行被中斷的原程序。

7.1.4單片機I/O控制方式3.中斷方式中斷方式效率較高,所以在單片機系統(tǒng)中被廣泛采用。但中斷請求是一種不可預知的隨機事件,所以實現(xiàn)起來對單片機系統(tǒng)的硬件和軟件都有較高的要求。 I/O接口 數(shù)據(jù)存儲器 速度協(xié)調(diào) *輸出數(shù)據(jù)鎖存 *數(shù)據(jù)總線隔離 * *數(shù)據(jù)轉(zhuǎn)換 *增強驅(qū)動能力 *7.1.5并行I/O接口和數(shù)據(jù)存儲器的比較7.1單片機I/O擴展基礎知識1、功能2、控制方式 I/O接口 數(shù)據(jù)存儲器無條件方式 * *查詢方式 *中斷方式 * 7.1.5I/O接口和數(shù)據(jù)存儲器的比較3、與單片機的連接信號 I/O接口 數(shù)據(jù)存儲器數(shù)據(jù)總線 * *讀寫控制信號 * *片選 * *片內(nèi)地址 選擇I/O端口選擇存儲單元7.1.5I/O接口和數(shù)據(jù)存儲器的比較7.1單片機I/O擴展基礎知識7.1.6小結(jié)1.I/O接口電路的功能:速度協(xié)調(diào)輸出數(shù)據(jù)鎖存數(shù)據(jù)總線隔離數(shù)據(jù)轉(zhuǎn)換增強驅(qū)動能力2.一些術語:接口和接口電路口或端口并行接口與串行接口7.1.6小結(jié)3.I/O接口的特點異步性實時性與設備無關性4.I/O編址方式:統(tǒng)一編址獨立編址80C51采用統(tǒng)一編址方式5.單片機I/O的控制方式:無條件方式查詢方式中斷方式7.1.6小結(jié)6.并行I/O接口和數(shù)據(jù)存儲器的比較功能多(5:1)控制方式多樣(3:1)與單片機的連接信號基本相同7.2可編程并行接口芯片82557.2.18255的硬件邏輯結(jié)構7.2.28255工作方式7.2.38255的編程內(nèi)容7.2.48255接口的應用7.2可編程并行接口芯片82557.2.18255的硬件邏輯結(jié)構8255的全稱是“可編程并行輸入/輸出接口芯片”,通用性強,使用靈活,可用于實現(xiàn)80C51系列單片機的并行I/O口擴展。8255是一個40引腳的雙列直插式集成電路芯片。8255芯片引腳圖按功能可把8255的內(nèi)部結(jié)構分為3個邏輯電路部分,分別為:口電路、總線接口電路和控制邏輯電路。1.口電路8255共有3個8位口,其中A口和B口是單純的數(shù)據(jù)口,而C口則既可以作數(shù)據(jù)口使用,又可以作控制口使用,主要用于實現(xiàn)A口和B口的控制功能。在使用中常把C口分為兩部分,即C口高位部分(PC7~PC4)和C口低位部分(PC3~PC0)。把A口和C口高位部分合在一起稱為A組;把B口和C口低位部分合在一起稱為B組。7.2.18255的硬件邏輯結(jié)構2.總線接口電路總線接口電路用于實現(xiàn)8255和單片機的信號連接,包括:①數(shù)據(jù)總線緩沖器。與I/O操作有關的數(shù)據(jù)、控制字和狀態(tài)信息都是通過該緩沖器進行傳送的。②讀/寫控制邏輯。相關的控制信號有:/CS、A0、A1/WR、/RDRESET7.2.18255的硬件邏輯結(jié)構3.控制邏輯電路A組和B組控制電路:包括一個8位控制寄存器及其相關的控制電路,用于存放編程命令和實現(xiàn)各口操作控制。中斷控制電路:對應A、B兩個口各有一個中斷觸發(fā)器,用于對中斷的允許和禁止進行控制。置位為允許,復位為禁止。對兩個觸發(fā)器的置位和復位控制通過口C的有關位進行。7.2.18255的硬件邏輯結(jié)構1.方式0(基本輸入/輸出方式)方式0適用于無條件數(shù)據(jù)傳送。兩個8位口(A口和B口)和兩個4位口(C口高位部分和C口低位部分)都可以分別或同時設置為方式0。2.方式1(選通輸入/輸出方式)8255的“選通”是通過信號的“問”與“答”,以聯(lián)絡方式(或稱握手方式)實現(xiàn)的。所以這種數(shù)據(jù)傳送方式是有條件的,適用于以查詢或中斷方式進行控制。在方式1下,A口和B口是數(shù)據(jù)口,C口是控制口,用于傳送和保存數(shù)據(jù)所需要的聯(lián)絡信號,具體的定義見下頁表。7.2.28255工作方式7.2可編程并行接口芯片8255C口聯(lián)絡信號定義C口位線方式1方式2輸入輸出輸入輸出PC7/OBFA/OBFAPC6/ACKA/ACKAPC5IBFAIBFAPC4/STBA/STBAPC3INTRAINTRAINTRAINTRAPC2/STBB/ACKBPC1IBFB/OBFBPC0INTRBINTRBIBF:InputBufferFull OBF:OutputBufferFullSTB:STroBe ACK:ACKnowledgeINTR:INTeRrupt8255方式1的邏輯組態(tài)關系圖8255方式1下的輸入時序8255方式1下的輸出時序3.方式2(雙向數(shù)據(jù)傳送方式)方式2是在方式1的基礎上加上雙向傳送功能,只有A口才能選擇這種工作方式,這時A口既能輸入數(shù)據(jù)又能輸出數(shù)據(jù)。如果把A口置于方式2下,則B口只能工作于方式0。方式2適用于查詢或中斷方式的雙向數(shù)據(jù)傳送。在這種方式下需使用C口的5位口線作控制線。7.2.28255工作方式8255方式2的邏輯組態(tài)關系圖8255方式2下的輸出時序7.2.38255的編程內(nèi)容工作方式命令和C口位置位/復位命令。1.工作方式命令工作方式命令用于設定各數(shù)據(jù)口的工作方式及數(shù)據(jù)傳送方向。命令的最高位(D7)是標志位,其狀態(tài)固定為1。命令格式如右圖所示。7.2可編程并行接口芯片82557.2.38255的編程內(nèi)容1.工作方式命令對工作方式命令有如下兩點說明:A口有3種工作方式,而B口只有兩種工作方式;在方式1和方式2下,對C口的定義(輸入或輸出)不影響作為聯(lián)絡信號使用的C口各位的功能。7.2可編程并行接口芯片82552.C口位置位/復位命令C口的每一位都可以進行置位或復位。對C口各位的置位或復位由位置位/復位命令進行,其格式如下。7.2可編程并行接口芯片82553.初始化編程初始化的內(nèi)容就是向控制字寄存器寫入命令。例如,若對8255各口作如下設置:A口方式0輸入,B口方式1輸出,C口高位部分為輸出低位部分為輸入。設控制寄存器地址為8003H。按各口的設置要求,工作方式命令字為10010101,即95H。則初始化程序段應為: MOVDPTR,#8003H MOVA,#95H MOVX@DPTR,A7.2.38255的編程內(nèi)容7.2.48255接口的應用1.8255的I/O控制方式

(1)無條件方式以方式0進行數(shù)據(jù)輸入/輸出,就是無條件傳送方式。

(2)查詢方式在方式1和方式2下,都可以使用查詢方式進行數(shù)據(jù)傳送。數(shù)據(jù)輸入時,供查詢的狀態(tài)信號是IBF(對應A口為IBFA,B口為IBFB)。因為傳送這些信號的口線分別為PC5和PC1,所以查詢時就是對輸入這些口線的狀態(tài)進行測試。數(shù)據(jù)輸出時,供查詢的狀態(tài)信號是OBF(對應A口為OBFA,B口為OBFB),被測試的口線為PC7和PC1。7.2可編程并行接口芯片8255(3)中斷方式在方式1和方式2下,都可以使用中斷方式進行數(shù)據(jù)傳送。中斷請求信號是INTR(對應A口為INTRA,B口為INTRB),傳送中斷請求信號的口線分別為PC3和PC0。2.端口選擇及讀/寫控制8255共有4個可尋址端口:A口、B口、C口和控制寄存器,由CS和地址A0、A1的狀態(tài)組合進行選擇,由讀/寫信號RD和WR進行端口操作控制,具體設置見下頁表。7.2.48255接口的應用7.2.48255接口的應用/CSA1A0/RD/WR選擇端口端口操作00001A口讀端口A00101B口讀端口B01001C口讀端口C00010A口寫端口A00110B口寫端口B01010C口寫端口C01110控制寄存器寫控制命令1××××---數(shù)據(jù)總線緩沖器輸出端呈高阻抗7.3.1鍵掃描和鍵碼生成7.3.2用8255實現(xiàn)鍵盤接口7.3鍵盤接口技術7.3.1鍵掃描和鍵碼生成1.鍵盤舉例為說明鍵盤的工作原理,以一個8行×4列的矩陣鍵盤為例,如下頁圖所示。鍵盤上有行線和列線之分,本鍵盤共有8條行線和4條列線。在每個行線和列線的交點處有一個鍵,由于行線與列線分別與鍵的不同端相連,平時鍵處于斷開狀態(tài),所以行線和列線互不相通。接口時,行線一端接輸出口,另一端懸空;而列線一端經(jīng)電阻接+5V電源,另一端接輸入口。由于列線通過電阻與+5V電源相連,所以沒有按鍵時列線的狀態(tài)為高電平。7.3鍵盤接口技術

鍵盤掃描示意圖7.3.1鍵掃描和鍵碼生成2.鍵碼鍵盤上的每個按鍵都有一定的意義或功能。為了區(qū)分各個不同的按鍵,就需要對它們進行編碼,這就是鍵碼。鍵盤上按鍵的編碼沒有統(tǒng)一標準,存在多種多樣的按鍵編碼方法。最常用的編碼方法是以鍵在鍵盤矩陣中的位置,從0開始按自然數(shù)順序進行編碼,鍵碼以十六進制數(shù)表示。下表是鍵盤掃描示意圖中各鍵的鍵碼,左邊第一列的內(nèi)容對應各行的掃描碼,最后一行的內(nèi)容是對應列有閉合鍵時的狀態(tài)碼(或稱返回碼)。表中內(nèi)容為鍵碼,注意鍵碼排列的規(guī)律性。7.3.1鍵掃描和鍵碼生成鍵碼表7FH1FH17H0FH07HBFH1EH16H0EH06HDFH1DH15H0DH05HEFH1CH14H0CH04HF7H1BH13H0BH03HFBH1AH12H0AH02HFDH19H11H09H01HFEH18H10H08H00H7HBHDHEH3.鍵盤掃描識別閉合鍵的方法:行掃描法,簡稱掃描法。軟件實現(xiàn)過程:查看是否有閉合鍵;判定閉合鍵,計算出對應的鍵碼。

7.3.1鍵掃描和鍵碼生成4.鍵盤掃描程序流程5.去抖動每當確認有鍵被按下后,都應當進行去抖動處理。因為鍵在被按下時,由于機械觸點的彈性以及電壓突跳等原因,在觸點閉合及釋放的瞬間將出現(xiàn)電壓抖動,如下圖。鍵閉合和斷開時的電壓抖動示例7.3.1鍵掃描和鍵碼生成5.去抖動去抖動處理有軟件和硬件兩種方法。軟件去抖動方法是采用時間延遲以躲過抖動(延時時間為10~20ms即可);硬件方法是在鍵盤中附加去抖動電路,以抑制抖動的產(chǎn)生,具體可使用雙穩(wěn)態(tài)電路或濾波電路等,但硬件去抖動需增加成本。7.3.2用8255實現(xiàn)鍵盤接口7.3鍵盤接口技術1.接口電路邏輯圖以8255作8×4鍵盤的接口為例。A口為輸出口,接鍵盤行線;C口為輸入口,以PC3~PC0接鍵盤的4條列線;如下圖。2.判斷有無閉合鍵的子程序判斷有無閉合鍵的子程序為KS,其執(zhí)行結(jié)果為:有閉合鍵,則(A)≠0;無閉合鍵,則(A)=0。假定A口地址為8000H,則B口地址為8001H,C口地址為8002H,控制寄存器地址為8003H。程序如下:KS: MOVDPTR,#8000H CLRA ;A口送00H MOVX@DPTR,A INCDPTR ;建立C口地址 INCDPTR MOVXA,@DPTR ;讀C口 CPLA ;A取反,若無鍵按下,則全為0 ANLA,#0FH ;屏蔽A高半字節(jié) RET7.3.2用8255實現(xiàn)鍵盤接口3.鍵盤掃描程序在單片機應用系統(tǒng)中常常是鍵盤和顯示器同時存在,因此,可以把鍵盤程序和顯示程序配合起來使用,即把顯示程序作為鍵盤程序中的一個延時子程序使用。這樣既不耽誤顯示驅(qū)動,又可以起到鍵盤定時掃描的作用。假定本系統(tǒng)中顯示器驅(qū)動程序為DIR,執(zhí)行時間約為6ms。鍵盤掃描程序如下,程序中R2為行掃描碼寄存器,R4為行計數(shù)器。7.3.2用8255實現(xiàn)鍵盤接口KEY:ACALLKS ;檢查是否有鍵閉合 JNZLK1 ;A非0,則轉(zhuǎn)移 ACALLDIR ;驅(qū)動顯示器(延時6ms) AJMPKEYLK1:ACALLDIR ;有鍵閉合2次驅(qū)動顯示器 ACALLDIR ;延時12ms進行去抖動 ACALLKS ;再檢查是否有鍵閉合 JZKEY ;無鍵閉合,轉(zhuǎn)KEY7.3.2用8255實現(xiàn)鍵盤接口 MOVR2,#FEH ;掃描初值送R2 MOVR4,#00H ;掃描行號送R4LK4:MOVDPTR,#8000H ;建立A口地址 MOVA,R2 MOVX@DPTR,A ;掃描初值送PA口,掃描開始 INCDPTR INCDPTR ;指向C口 MOVXA,@DPTR ;讀C口 JBACC.0,LONE ;ACC.0=1,第0列無鍵閉合,轉(zhuǎn)LONE MOVA,#00H ;裝第0列狀態(tài)碼起始值 AJMPLKP ;轉(zhuǎn)計算鍵碼LONE:JBACC.1,LTWO ;ACC.1=1,第1列無鍵閉合,轉(zhuǎn)LTWO MOVA,#08H ;裝第1列狀態(tài)碼起始值7.3.2用8255實現(xiàn)鍵盤接口 AJMPLKPLTWO:JBACC.2,LTHR ;ACC.2=1,第2列無閉合,轉(zhuǎn)LTHR MOVA,#10H ;裝第2列狀態(tài)碼起始值 AJMPLKPLTHR:JBACC.3,NEXT ;ACC.3=1,第3列無鍵閉合,則轉(zhuǎn)NEXT MOVA,#18H ;裝第3列狀態(tài)碼起始值LKP:ADDA,R4 ;計算鍵碼 PUSHACC ;保護鍵碼LK3:ACALLDIR ;延時6ms ACALLKS ;查鍵是否繼續(xù)閉合,若閉合再延時 JNZLK3 ACALLDIR ;去抖動 ACALLDIR ACALLKS

JNZLK3 POPACC ;若鍵起,則鍵碼送A RET7.3.2用8255實現(xiàn)鍵盤接口NEXT:INCR4 ;掃描行號加1 MOVA,R2 JNBACC.7,KND ;第7位為0,已掃完最后一行,則轉(zhuǎn)KND RLA ;掃描碼循環(huán)左移一位 MOVR2,A JMPLK4 ;掃描下一行KND:AJMPKEY ;一輪掃描完畢,開始新一輪掃描7.3.2用8255實現(xiàn)鍵盤接口8255的初始化7.4LED顯示器接口技術在單片機應用系統(tǒng)中,最簡單、最常見的顯示器件是LED顯示器。

8段LED顯示器7.4LED顯示器接口技術7.4.1LED顯示器概述LED是LightEmitingDiode(發(fā)光二極管)的縮寫,發(fā)光二極管是能將電信號轉(zhuǎn)換為光信號的電致發(fā)光器件。由條形LED組成的“8”字形LED顯示器稱之為數(shù)碼管。數(shù)碼管有7段和8段之分。7段數(shù)碼管由7個發(fā)光二極管組成,而8段數(shù)碼管則是在7段發(fā)光二極管的基礎上再加一個圓點型發(fā)光二極管(在圖中以dp表示),用于顯示小數(shù)點。8段數(shù)碼管中發(fā)光二極管的排列形狀如上頁圖(a)所示。LED的特點:①發(fā)光響應快,亮度強,高頻特性好;而且隨著材料的不同,數(shù)碼管還能發(fā)出紅、黃、綠、藍、橙等多種顏色的光。②機械性能好,體積小,重量輕,價格低廉;能與CMOS和TTL電路配合使用;使用壽命長,可達10-100萬小時。③工作電壓低,驅(qū)動電流適中。每段工作電流為5~10mA,7段LED全亮需要電流為35~70mA。這樣大的電流需要由驅(qū)動電路提供,因此,使用時要注意數(shù)碼管的驅(qū)動問題。④控制簡單。7.4.1LED顯示器概述公共引腳的連接方法:

①共陰極接法。把發(fā)光二極管的陰極連在一起構成陰極公共引腳,如前圖(b)所示。使用時陰極公共引腳接地,這樣陽極引腳上加高電平的發(fā)光二極管就導通點亮,而加低電平的則不點亮。②共陽極接法。把發(fā)光二極管的陽極連在一起作為陽極公共引腳,如前圖(c)所示。使用時陽極公共引腳接+5V。這樣陰極引腳上加低電平的發(fā)光二極管即可導通點亮,而加高電平的則不點亮。7.4.1LED顯示器概述7.4LED顯示器接口技術

7.4.2LED顯示器的顯示原理1.段碼所謂段碼就是為數(shù)碼管顯示提供的各段狀態(tài)組合,即字形代碼。7段數(shù)碼管的段碼為7位,8段數(shù)碼管的段碼為8位,用一個字節(jié)即可表示。在段碼字節(jié)中代碼位與各段發(fā)光二極管的對應關系如下:

段碼D7D6D5D4D3D2D1D0段名dpgfedcba顯示的數(shù)字(十六進制)與段碼值的關系顯示數(shù)字共陽極段碼共陰極段碼顯示數(shù)字共陽極段碼共陰極段碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H滅FFH00H880H7FH2.LED顯示器的動態(tài)顯示方式LED顯示器多采用動態(tài)顯示方式,全部數(shù)碼管共用一套段碼驅(qū)動電路。顯示時通過位控信號采用掃描的方法逐位地循環(huán)點亮各位數(shù)碼管。LED顯示器動態(tài)顯示需要為各位提供段碼以及相應的位控制,此即通常所說的段控和位控。

7.4.2LED顯示器的顯示原理4位數(shù)碼管動態(tài)顯示示意圖7.4.3LED顯示器接口1.計時器實驗的LED顯示器接口電路7.4LED顯示器接口技術7.4.3LED顯示器接口1.計時器實驗的LED顯示器接口電路7.4LED顯示器接口技術SN75451B:雙外設驅(qū)動器7.4.3LED顯示器接口動態(tài)控制要用程序?qū)崿F(xiàn)①在程序中通過偽指令設置段碼表,表長16個字節(jié),存放十六進制數(shù)的段碼;②在內(nèi)部RAM中設置顯示緩沖區(qū),其存儲單元個數(shù)與LED顯示器的位數(shù)相同,以存放要顯示的數(shù)據(jù);③為了保證顯示亮度,在掃描過程中,應在每一位數(shù)碼管上都駐留一段時間(約1ms),以使數(shù)碼管穩(wěn)定地點亮一段時間,以保證其顯示亮度。為此在掃描過程中,位與位之間要加一段延遲時間。2.LED顯示驅(qū)動程序 設顯示數(shù)據(jù)存放在內(nèi)部RAM從30H開始的6個單元中,顯示驅(qū)動程序可設計如下。DIR: MOVR0,#30H ;建立顯示緩沖區(qū)首址 MOVR3,#0FEH ;位控碼初值,從右邊開始顯示LOOP:MOVA,#0FFH ;消隱 MOVDPTR,#0FF20H MOVX@DPTR,A MOVA,@R0 ;取出顯示數(shù)據(jù) MOVDPTR,#DSEG ;查表取段碼 MOVCA,@A+DPTR 7.4.3LED顯示器接口 MOVDPTR,#0FF21H ;輸出段控碼 MOVX@DPTR,A MOVA,R3 ;輸出位碼 MOVDPTR,#0FF20H MOVX@DPTR,A ACALLDL1MS ;延時1ms INCR0 ;轉(zhuǎn)向下一緩沖單元 MOVA,R3 JNBACC.5,LD1 ;判斷是否到最高位。到,則返回 RLA ;不到,向顯示器高位移位 MOVR3,A ;位控碼送R37.4.3LED顯示器接口2.LED顯示驅(qū)動程序 AJMPLOOP ;繼續(xù)掃描LD1: RETDSEG:DB0C0H ;字形代碼表 DB0F9H,0A4H,0B0H,……7.4.3LED顯示器接口2.LED顯示驅(qū)動程序7.5打印機接口技術7.5.1微型打印機概述單片機系統(tǒng)的打印機多采用價格便宜、接口方便的微型打印機。μP系列微型打印機具有標準的Centronic接口,與單片機之間可以通過一條20芯的扁平電纜線進行連接,信號為:DB7~DB0——數(shù)據(jù)線,是單向的,即從單片機傳向打印機。/STB——數(shù)據(jù)選通信號,低電平有效的打印機輸入信號。該信號有效時,打印數(shù)據(jù)送入打印機,在其上升沿時,將數(shù)據(jù)鎖存。BUSY——打印機“忙”信號,打印機輸出的狀態(tài)信號。/ACK——打印機應答信號,低電平有效。該信號是打印機已處理完所接收數(shù)據(jù)后的應答,亦即通知單片機可以發(fā)送新數(shù)據(jù)。/ERR——出錯信號,打印機輸出。7.5打印機接口技術1.單片機與打印機直接連接打印機的接口信號比較少,所以打印機的接口比較簡單,甚至可以不用接口電路而直接與單片機連接,如下圖。7.5.2打印機接口7.5.2打印機接口1.單片機與打印機直接連接打印機的8根數(shù)據(jù)線直接與80C51的P1口線連接,用一根地址線(P2.7)去選通80C51的讀信號/RD和寫信號/WR,選通后的/WR信號接打印機的STB信號,選通后的RD信號去控制打印機的BUSY(送口線P1.7)。在打印機中只有一個數(shù)據(jù)寄存器,用于寄存打印數(shù)據(jù)。只使用地址線P2.7,數(shù)據(jù)口的地址為7000H—7FFFH。對于上圖中的連接形式,只適宜使用查詢方式控制打印,即對BUSY信號的狀態(tài)進行查詢。若要使用中斷方式,應以ACK信號作中斷請求,即把ACK信號與80C51的外中斷引腳INT0或INT1相連。7.5打印機接口技術

7.5.2打印機接口2.使用8255作打印機接口如果80C51的口資源比較緊張,則需要使用接口芯片與打印機接口,例如,用8255作打印機接口芯片,如下圖。7.5打印機接口技術2.使用8255作打印機接口8255與80C51之間的連接采用線選法進行I/O編址,以P0.7作為8255的片選信號。以兩個最低位地址對應接8255的口選擇端A0和A1,如果把沒連接的地址都假定為1,則8255的A口地址為7CH,B口地址為7DH,C口地址為7EH,控制寄存器地址為7FH。對于8255與打印機之間的連接,采用查詢方式進行打印驅(qū)動控制,則8255與打印機的連線內(nèi)容為:A口(PA7~PA0)與打印機數(shù)據(jù)線相連,傳送打印數(shù)據(jù)。C口的PC0提供數(shù)據(jù)選通信號,接打印機的STB端,進行打印數(shù)據(jù)送打印機的選通控制。C口的PC7接打印機的BUSY端,以BUSY作為狀態(tài)查詢信號。7.5打印機接口技術

7.5.2打印機接口2.使用8255作打印機接口8255工作方式命令字為10001010(8AH)。 A口為方式0輸出,D6D5D4=000; B口不用,設置為方式0輸入,D2D1=01; C口高4位輸入,D3=1; C口低4位輸出,D0=0。7.5打印機接口技術

7.5.2打印機接口3.打印驅(qū)動程序為編寫打印驅(qū)動程序,在內(nèi)部RAM中設置緩沖區(qū),存放打印數(shù)據(jù)。設置兩個參數(shù),一個是緩沖區(qū)首址R1,另一個是緩沖區(qū)長度R2。送給打印機的選通信號STB是一個負脈沖,在打印數(shù)據(jù)從單片機送到8255后,在PC0端產(chǎn)生一個負脈沖。3.打印驅(qū)動程序PT:MOVR0,#7FH ;控制寄存器地址 MOVA,#8AH ;工作方式命令 MOVX@R0,A ;寫入工作方式命令 MOVR1,#DATA MOVR2,#LENGTHTP:MOVR0,#7EH ;C口地址TP1:MOVXA,@R0 ;讀C口 JBACC.7,TP1 ;BUSY=1,繼續(xù)查詢 MOVR0,#7CH ;A口地址 MOVA,@R1 ;取緩沖區(qū)數(shù)據(jù) MOVX@R0,A ;打印數(shù)據(jù)送8255 INCR1 ;指向下一單元 MOVR0,#7EH ;8255PC口地址 MOVA,#0 ;輸出STB脈沖 MOVX@R0,A MOVA,#1 MOVX@R0,A DJNZR2,TP;數(shù)據(jù)長度減1,不為0繼續(xù) RET*7.6鍵盤顯示器接口82797.6.18279的組成及引腳*7.6鍵盤顯示器接口82797.6.18279的組成及引腳1.組成I/O控制和數(shù)據(jù)緩沖器;控制和定時寄存器及定時控制部分;掃描計數(shù)器;回送緩沖器與鍵盤去抖動控制電路;FIFO(先進先出)寄存器和狀態(tài)電路;顯示器地址寄存器及顯示RAM。7.6鍵盤顯示器接口82797.6.18279的組成及引腳2.引腳RL0~RL7:回送線;IRQ:中斷請求;DB0~DB7:數(shù)據(jù)總線;CNTL/STR:CTRL鍵/選通信號;SHIFT:SHIFT鍵;SL0~SL3:掃描線OUTA0~OUTA3、OUTB0~OUTB3:顯示器輸出;BD:BlankDisplay,不顯示;A0:命令狀態(tài)或數(shù)據(jù)選擇線。7.6鍵盤顯示器接口82797.6.28279的輸入輸出方式1.輸入方式鍵碼輸入;譯碼掃描法(8*8鍵) 線掃描法(4*8鍵)兩鍵互鎖法(2-Keylockout) 轉(zhuǎn)滾法(N-Keyrollover)列掃描;選通輸入。7.6鍵盤顯示器接口82797.6.28279的輸入輸出方式1.輸出方式8-/16-字符顯示;進入方式:左進入、右進入。7.6鍵盤顯示器接口82797.6.38279的控制命令1.鍵盤/顯示的模式設置000ddkkkdd(2位規(guī)定顯示模式) 00:8字符顯示,左進入; 01:16字符顯示,左進入; 10:8字符顯示,右進入; 11:16字符顯示,右進入。7.6鍵盤顯示器接口82797.6.38279的控制命令1.鍵盤/顯示的模式設置000ddkkkkkk(3位規(guī)定輸入模式) 000:譯碼掃描鍵碼輸入,兩鍵互鎖; 001:行掃描鍵碼輸入,兩鍵互鎖; 010:譯碼掃描鍵碼輸入,轉(zhuǎn)滾法; 011:行掃描鍵碼輸入,轉(zhuǎn)滾法; 100:譯碼掃描列輸入; 101:行掃描列輸入; 110:選通輸入,譯碼掃描顯示; 111:選通輸入,行掃描顯示。7.6鍵盤顯示器接口82797.6.38279的控制命令2.時鐘設置001pppppppppp(分頻因子)

100KHz3.讀列碼010AIxaaaAI:自動加1aaa:FIFO/列碼RAM的起始地址7.6鍵盤顯示器接口82797.6.38279的控制命令4.讀顯示RAM010AIaaaaaaaa:顯示RAM的起始地址5.寫顯示RAM100AIaaaa7.6鍵盤顯示器接口82797.6.38279的控制命令6.7.8.7.6鍵盤顯示器接口82797.6.48279的狀態(tài)字一個8位的狀態(tài)字,用于鍵盤輸入和選通輸入方式,給出FIFO中的字符個數(shù)和是否出錯。D2-0:FIFO中的字符個數(shù);D3:FIFO是否已滿;D4:FIFO讀出錯(沒有數(shù)據(jù)時讀);D5:FIFO溢出(滿又寫入);D6:工作在特殊錯誤方式時,有多鍵同時按下;D7:在清除命令執(zhí)行期間為1,寫顯示RAM無效。7.6鍵盤顯示器接口82797.6.58279應用實例1.實例電路7.6鍵盤顯示器接口82797.6.58279應用實例2.根據(jù)實例電路編寫匯編語言程序用中斷服務程序?qū)⑤斎氲逆I碼送到數(shù)碼管上顯示STRT1:MOVOPTR,#7FFFH;7FFFH為8279

溫馨提示

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

評論

0/150

提交評論