




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
熟悉編碼和非編碼鍵盤的概念,掌握獨(dú)立式和矩陣式鍵盤接口設(shè)計及編程方法。掌握LED、LCD顯示器的工作原理,與單片機(jī)的接口電路及程序設(shè)計方法。學(xué)習(xí)功率器件在工業(yè)控制中的應(yīng)用、功率接口電路及編程方法。重點(diǎn)掌握鍵檢測、鍵掃描程序及顯示程序的設(shè)計和功率接口電路設(shè)計的方法。難點(diǎn):鍵掃描程序、顯示程序和功率接口電路的設(shè)計與編程。第6章鍵盤、顯示器及功率接口
本章學(xué)習(xí)要點(diǎn)6.1鍵盤的接口
鍵盤是計算機(jī)不可缺少的輸入設(shè)備,是實(shí)現(xiàn)人機(jī)對話的紐帶。按其結(jié)構(gòu)形式鍵盤可分為非編碼鍵盤和編碼鍵盤,前者用軟件方法產(chǎn)生鍵碼,而后者則用硬件方法產(chǎn)生鍵碼。在單片機(jī)中使用的都是非編碼鍵盤,因?yàn)榉蔷幋a鍵盤結(jié)構(gòu)簡單成本低廉。按鍵型式有獨(dú)立式和矩陣式兩種:1、獨(dú)立式按鍵就是各按鍵相互獨(dú)立,每個按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會影響其它輸入線上的工作狀態(tài)。因此,通過檢測輸入線的電平狀態(tài)可以容易判斷那個按鍵按下。2、矩陣式按鍵就是鍵盤上的鍵按行列構(gòu)成矩陣,在行列的交叉點(diǎn)上都對應(yīng)有一個鍵。所謂鍵實(shí)際上是一個機(jī)械彈性開關(guān),被按下則其交點(diǎn)的行線和列線接通。非編碼鍵盤接口技術(shù)的主要內(nèi)容就是如何確定被按鍵的行列位置,并據(jù)此產(chǎn)生鍵碼。這就是所謂鍵的識別問題。鍵盤輸入的抖動問題
鍵盤實(shí)質(zhì)上是一組按鍵開關(guān)的集合,均利用機(jī)械觸點(diǎn)的合、斷作用。一個電壓信號通過機(jī)械觸點(diǎn)的斷開、閉合過程如圖6.1所示。圖6.1按鍵抖動信號波形
按鍵在閉合及斷開的瞬間均伴隨有一連串的抖動,抖動時間的長短由按鍵的機(jī)械特性決定,一般為5~10ms。按鍵穩(wěn)定閉合期的長短則由操作人員的按鍵動作所決定的,一般為十分之幾秒到幾秒的時間。鍵的閉合與否,反應(yīng)在電壓上就是呈現(xiàn)出高電平或低電平,如果高電平表示斷開的話,那低電平則表示閉合,通過電平的高低狀態(tài)的檢測,可確認(rèn)按鍵按下與否。為了確保CPU對一次按鍵動作只確認(rèn)一次,必須消除抖動的影響。6.1.2消除按鍵抖動的措施
通常有硬件、軟件兩種消除抖動的方法硬件消除抖動方法有一種雙穩(wěn)態(tài)消抖電路如圖6-2所示,其兩個與非門構(gòu)成一個RS觸發(fā)器。當(dāng)按鍵未按下時,輸出為1;鍵按下時,輸出為0。鍵的機(jī)械性能,使按鍵因彈性抖動而產(chǎn)生瞬時不閉合,抖動跳開b,只要按鍵不返回原始狀態(tài)a,雙穩(wěn)態(tài)電路的狀態(tài)就不改變,輸出保持為0,不會產(chǎn)生抖動的波形。即使b點(diǎn)的電壓波形是抖動的,但經(jīng)雙穩(wěn)態(tài)電路之后,其輸出為正規(guī)的矩形波形。圖6-2雙穩(wěn)態(tài)消抖電路軟件消除抖動方法硬件消除抖動法需要增加電子元件,電路復(fù)雜,特別是按鍵較多時,實(shí)現(xiàn)起來有困難。而用軟件消除抖動法,不需要增加電子元件,只要編寫一段延時程序,就可以達(dá)到消除抖動的目的,在軟件消除抖動方法中,若CPU檢測到有鍵按下時,先執(zhí)行一段延時程序后再檢測此按鍵,若仍為按下狀態(tài),則CPU認(rèn)為該鍵確實(shí)按下。同樣,當(dāng)鍵從按下到再次松開時,CPU檢測到有鍵松開,并在延時一段時間后仍檢測到鍵在松開狀態(tài),則認(rèn)為鍵確實(shí)松開,這樣就消除了抖動的影響,實(shí)現(xiàn)了軟件消除抖動的目的圖6-3所示為軟件去抖動判別程序的流程圖圖6-3軟件消除抖動流程圖6.1.3非編碼鍵盤的接口方法
非編碼鍵盤分為獨(dú)立式非編碼鍵盤和矩陣式非編碼鍵盤。下面分別進(jìn)行介紹。1.獨(dú)立式非編碼鍵盤結(jié)構(gòu)獨(dú)立式非編碼鍵盤(又稱小鍵盤),是指直接用一條I/O線對應(yīng)連接一個按鍵(一鍵一線)的鍵盤電路。由于每個按鍵單獨(dú)占有一條I/O口線,所以該口線的狀態(tài)只反映該按鍵是否按下,不會影響其它I/O線的狀態(tài)。因而獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但在按鍵數(shù)量較多時,需要的I/O口線也較多。獨(dú)立式按鍵電路如圖6-4所示。當(dāng)某一按鍵閉合時,相應(yīng)的I/O線變?yōu)榈碗娖健E袛嗍欠裼墟I下的方法是,查詢哪一根接按鍵的I/O線為低電平時,便知此鍵按下。獨(dú)立式非編碼鍵盤的優(yōu)點(diǎn)是電路結(jié)構(gòu)簡單。缺點(diǎn)是當(dāng)鍵數(shù)較多時,占用的I/O口線多。例如編寫圖6-4所示的鍵處理程序如下:
圖6-4獨(dú)立式非編碼鍵盤程序清單
START:MOVA,#0FFH; 輸入時先置P1口為全1MOVP1,AMOVA,P1;鍵狀態(tài)輸入
JNBACC.0,P0F;0號鍵按下轉(zhuǎn)POF標(biāo)號地址
JNBACC.1,P1F;1號鍵按下轉(zhuǎn)P1F標(biāo)號地址
JNBACC.2,P2F;2號鍵按下轉(zhuǎn)P2F標(biāo)號地址
JNBACC.3,P3F;3號鍵按下轉(zhuǎn)P3F標(biāo)號地址
JNBACC.4,P4F;4號鍵按下轉(zhuǎn)P4F標(biāo)號地址
JNBACC.5,P5F;5號鍵按下轉(zhuǎn)P5F標(biāo)號地址
JNBACC.6,P6F;6號鍵按下轉(zhuǎn)P6F標(biāo)號地址
JNBACC.7,P7F;7號鍵按下轉(zhuǎn)P7F標(biāo)號地址
SJMPSTART;無鍵按下返回P0F:LJMPPROM0;轉(zhuǎn)至0號鍵功能程序P1F:LJMPPROM1;轉(zhuǎn)至1號鍵功能程序P2F:LJMPPROM2;轉(zhuǎn)至2號鍵功能程序P3F:LJMPPROM3;轉(zhuǎn)至3號鍵功能程序P4F:LJMPPROM4;轉(zhuǎn)至4號鍵功能程序P5F:LJMPPROM5;轉(zhuǎn)至5號鍵功能程序P6F:LJMPPROM6;轉(zhuǎn)至6號鍵功能程序P7F:LJMPPROM7;轉(zhuǎn)至7號鍵功能程序PROM0:......;0號鍵功能程序
LJMPSTART;0鍵執(zhí)行完返回PROM1:......;1號鍵功能程序
LJMPSTART;1鍵執(zhí)行完返回PROM2:...;2號鍵功能程序
LJMPSTART;2號鍵執(zhí)行完返回PROM3:......;3號鍵功能程序
LJMPSTART;3號鍵執(zhí)行完返回PROM4:......;4號鍵功能程序
LJMPSTART;4號鍵執(zhí)行完返回PROM5:......;5號鍵功能程序
LJMPSTART;5號鍵執(zhí)行完返回PROM6:......;6號鍵功能程序
LJMPSTART;6號鍵執(zhí)行完返回PROM7:......;7號鍵功能程序
LJMPSTART;7號鍵執(zhí)行完返回小測:設(shè)計51單片機(jī)通過8255H實(shí)現(xiàn)擴(kuò)展8個獨(dú)立按鍵的電路,要求畫出原理圖,并編寫能夠識別是否有鍵按下的程序,要求有防抖程序。
2.矩陣式非編碼鍵盤結(jié)構(gòu)矩陣式非編碼鍵盤適用于按鍵數(shù)量較多的場合。矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上,一個由3行*8列構(gòu)成24個按鍵的鍵盤如圖6-5所示。圖6-5矩陣式鍵盤結(jié)構(gòu)
矩陣鍵盤的工作原理:按鍵設(shè)置在行、列線交點(diǎn)上,行、列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到+5V上。無按鍵動作時,行線處于高電平狀態(tài),當(dāng)有鍵按下時,行線電平狀態(tài)將由與此行線相連的列線電平?jīng)Q定。列線電平為低,則行線電平為低;列線電平為高,則行線電平亦為高。這一點(diǎn)是識別矩陣鍵盤按鍵是否被按下的關(guān)鍵。由于矩陣鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在行和列的電平。各按鍵彼此將相互發(fā)生影響,所以必須將行、列線信號配合起來并作適當(dāng)?shù)奶幚恚拍艽_定閉合鍵的位置。
按鍵的識別方法:有掃描法和線反轉(zhuǎn)法。描法是常用的方法,現(xiàn)重點(diǎn)介紹掃描法,此方法分兩步進(jìn)行:第一步,識別鍵盤有無鍵被按下。第二步,如果有鍵被按下,識別出具體的按鍵。識別鍵盤有無鍵被按下的方法是:讓所有列線均置為0電平,檢查各行線電平是否變化。如果有變化,說明有鍵被按下,如果沒有變化,則說明無鍵被按下。識別具體按鍵的方法(亦稱為掃描法);逐列置零電平,其它各列置位高電平,檢查各行線電平的變化,如果其行電平由高電平變?yōu)榈碗娖剑瑒t可確定此行此列交叉點(diǎn)的按鍵被按下。單片機(jī)應(yīng)用系統(tǒng)中,鍵盤掃描只是CPU的工作內(nèi)容之一。CPU在忙于各項工作任務(wù)時,如何兼顧鍵盤的輸入,取決于鍵盤工作方式。通常鍵盤工作方式有三種,即編程掃描、定時掃描和中斷掃描。
下面以8031鍵盤實(shí)際矩陣電路分析說明鍵盤的編程掃描程序。一是KEY-SCAN鍵檢查子程序
二是KEY-GET鍵掃描取值子程序8031鍵盤接口電路如圖6-6所示。
在6000H接口地址的鎖存器74LS373鎖存低電平,此時讀入P1口狀態(tài),在P1.0、P1.1、P1.2三條行線上,只要有一個不是高電平,求反后A中就不為零。此時說明有鍵按下了。否則無鍵按下。鍵檢查子程序:KEY-SCAN:MOVDPTR,#6000H;列口地址送數(shù)據(jù)指針
MOVA,#00H MOVX@DPTR,A;列線送低電平
MOVP1,#0FFH MOVA,P1;讀行線電平
CPLA;求反
ANLA,#07H;A=0無鍵按下,A≠0有鍵按下
RET
以上檢測程序只能判斷有無鍵按下,但在有鍵按下后再分析具體是哪個鍵按下,則需要用掃描鍵取值程序。KEY-GET:ACALLKEY-SCAN;調(diào)鍵檢測
JNZK-G1;有鍵按下
AJMPKEY-GETK-G1:LCALLDELAY;消除抖動延時,約18msLCALLKEY-SCAN;再調(diào)鍵檢測
JNZK-G2;有鍵按下
LCALLDELAYAJMPKEY-GETK-G2:MOVR2,#0FEH;R2存掃描信號
MOVR4,#00H;鍵值起始值
K-G3:MOVDPTR,#6000H;輸出列掃描信號
MOVA,R2MOVX@DPTR,AMOVA,P1;讀P1口
JBAcc.0,LINE1;判斷0行高?MOVA,#00H;0行起始值
AJMPK-G-ENDLINE1:JBAcc.1,LINE2;判斷1行高?MOVA,#08H;1行起始值
AJMPK-G-ENDLINE2:JBAcc.2,NEXT-COL;判斷2行高?高下一列
MOVA,#10H;2行起始值
K-G-END:ADDA,R4;計算鍵值
ENDNEXT-COL:INCR4;換列時加1MOVA,R2JNBAcc.7,KEY-NEXT;7列是低
RLA;移到下一行
MOVR2,AAJMPK-G3;返回輸出列信號KEY-NEXT:AJMPKEY-GET
在調(diào)用KEY-SCAN程序判明有鍵按下時,再進(jìn)入此程序,否則將在此程序中等待按鍵。這里R2用來提供信號的低電平的位置,R4是用來記錄位線到哪一位,運(yùn)行程序出口A中得到按鍵的鍵值。其鍵值表如表6-1,鍵值標(biāo)注在鍵位下面園括弧內(nèi)。表6-1鍵位和鍵值圖WRI(12)0(00)1(01)2(02)3(03)[F](16)4(04)5(05)6(06)7(07)MOV(10)8(08)9(09)A(0A)B(0B)USE(17)C(0C)D(0D)E(0E)F(0F)RESMON(11)EXE(14)RDS(13)EXA(15)
除了以上編程掃描工作方式外,定時掃描工作方式是利用單片機(jī)內(nèi)部定時器產(chǎn)生定時中斷(例如10ms),CPU響應(yīng)中斷后對鍵盤進(jìn)行掃描,并在有鍵按下時識別出該鍵并執(zhí)行相應(yīng)鍵功能程序,定時掃描工作方式的鍵盤硬件電路與編程掃描工作方式相同。鍵盤工作于編程掃描狀態(tài)時,CPU要不間斷地對鍵盤進(jìn)行掃描工作,以監(jiān)視鍵盤輸入情況,直到有鍵按下為止。其間CPU不能干任何其他工作,如果CPU工作量較大,這種方式將不能適應(yīng)。定時掃描進(jìn)了一大步,除了定時監(jiān)視一下鍵盤輸入情況外,其余時間可進(jìn)行其他任務(wù)的處理,CPU效率提高了,為了進(jìn)一步提高CPU工作效率,可采用中斷掃描工作方式即只有在鍵盤有鍵按下時,才執(zhí)行鍵盤掃描并執(zhí)行該鍵功能程序,如果無鍵按下,CPU將不理睬鍵盤,可以說前兩種掃描方式,CPU對鍵盤的監(jiān)視是主動進(jìn)行的,而后一種掃描方式,CPU對鍵盤的監(jiān)視是被動進(jìn)行的。6.1.4BCD碼撥盤接口BCD碼十進(jìn)制撥盤是向單片機(jī)應(yīng)用系統(tǒng)輸入數(shù)據(jù)的設(shè)備,是一種硬件設(shè)置數(shù)據(jù)的設(shè)備。使用撥盤輸入的數(shù)據(jù)具有不可變性,卻又易于修改。十進(jìn)制輸入,BCD輸出的撥盤是最常使用的一種。圖6-7所示是一個4位BCD碼撥盤組結(jié)構(gòu)和連接示意圖。每位撥盤有0~9十個撥動位置,每個位置有相應(yīng)的數(shù)字表示,分別代表撥盤輸入的十進(jìn)制數(shù)。所以,一位撥盤可以代表一位十進(jìn)制數(shù),可以根據(jù)設(shè)計的需要,用多位BCD碼撥盤組成多位十進(jìn)制數(shù)。
圖6-74位BCD碼撥盤結(jié)構(gòu)和連接BCD碼盤有一個輸入控制線A,4個BCD碼輸出信號線。撥盤的各個不同的位置,使輸入控制線A分別與4根BCD碼輸出線中的某幾根接通,使BCD碼輸出線的狀態(tài)與撥盤所顯示的值一致,并使該編碼信號輸入單片機(jī)的CPU。BCD碼撥盤的輸入輸出狀態(tài)如表6-2所示。
撥盤輸入控制端
A輸出狀態(tài)8421010000110001210010310011410100510101610110710111811000911001BCD碼撥盤與單片機(jī)相連的應(yīng)用如圖6-8所示。撥盤的輸入控制線A接+5V,4根輸出線通過電阻接地并接單片機(jī)CPU的P1口。由表6.2可知,當(dāng)撥盤在0~9的某個位置時,4根輸出線的8、4、2、1端有一組相應(yīng)的電平狀態(tài)生成,CPU可以通過讀取P1口的端口狀態(tài)知道撥盤設(shè)置的數(shù)據(jù)。在這種情況下,撥盤輸出的BCD碼為正邏輯電平。如果BCD碼撥盤的輸入控制線A接地,4根輸入線通過電阻接+5V,那么撥盤輸出的BCD碼為負(fù)邏輯電平,如圖6-9所示圖6-8單片機(jī)與BCD碼盤的接口6-9BCD碼盤負(fù)邏輯接口串行鍵盤應(yīng)用
除了利用并行輸入口設(shè)計鍵盤控制電路外,還可以用串行方式設(shè)計鍵盤控制電路。圖6-10為用單片機(jī)串行口設(shè)計的串行鍵盤控制電路。
CD4014是8位表態(tài)移位寄存器(同步并入),實(shí)現(xiàn)并行輸入串行輸出。如圖6.10所示,CD4014的P1~P8作為8個開關(guān)S1~S8的輸入端,輸入的開關(guān)量通過AT89C51的TXD端控制CD4014的CLK端,把輸入值逐次串行輸入AT89C51的RXD端口,并存入寄存器A中。圖6-10單片機(jī)串行口鍵盤控制電路
鍵盤電路程序如下:
S1:STBP1.0;置位CD4014的P/S端
CLRP1.0;清CD4014的P/S端,開始串行移位
MOVSCON,#10H;設(shè)置串行方式0,開始接收
W1:JNBRI,W1;判RI狀態(tài)
CLRRI;一次串行輸入完成
MOVA,SBUF;存放輸入的數(shù)據(jù)
RET
除了使用CD4014集成電路外,還可以使用74LS165等集成電路芯片設(shè)計串行鍵盤控制電路。6.2LED七段發(fā)光顯示器接口
發(fā)光二極管顯示器,簡稱LED(LightEmittingDiode),LED有七段和八段之分,也有共陰極和共陽極兩種。共陰極LED顯示塊的發(fā)光二極管的陰極連在一起,通常此公共陰極接地,當(dāng)某個發(fā)光二極管的陽極為高電平時。發(fā)光二極管點(diǎn)亮,相應(yīng)段被顯示。同樣共陽板LED顯示塊的發(fā)光二極管的陽極連在一起,通常此公共陽極接正電壓。當(dāng)某個發(fā)光二極管的陰極接低電平時,發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示。兩個顯示塊都有SP顯示段,用于顯示小數(shù)點(diǎn)。顯示器連接如圖6.11所示:
圖6.11LED原理及外形引腳圖
7段字型碼如表6.3所列,由于只有8個段發(fā)光二極管,所以字型碼為一個字節(jié)。“米”字段LED字型碼由于有15個段發(fā)光二極管,所以字型碼為兩個字節(jié)。一般由N片LED顯示塊可拼接成N位LED顯示器。N位LED顯示器有N根位選線和8*N根段選線。根據(jù)顯示方式不同,位選線和段選線的連接方法也各不相同。段選線控制顯示字符的字型,而位選線則控制顯示位的亮、暗。LED顯示器有靜態(tài)顯示和動態(tài)顯示兩種顯示方式。6.2.1靜態(tài)顯示接口及編程LED顯示器上工作于靜態(tài)顯示方式時,各位的共陰極(或陽極)連接在一起接地(或+5V);每位的段選線(a~sp),分別與一8位的鎖存器輸出相連。靜態(tài)顯示是由于顯示器中的各位相應(yīng)獨(dú)立,而且各位的顯示字符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一字符為止。靜態(tài)顯示器的亮度較高。由于各位分別由一個8位輸出口控制段選碼,在同一時間里,每一位顯示的字符可以各不相同。這種顯示方式接口,編程容易,管理簡單,付出的代價是占用口線資源較多。
在單片機(jī)應(yīng)用系統(tǒng)中,常采用MCl4495芯片作為LED的靜態(tài)顯示接口,它可以和LED顯示器直接相連。MCl4495芯片的引腳和邏輯框圖如圖6.12所示。它是由4位鎖存器、地址譯碼和筆段ROM陣列以及帶有限流電阻的驅(qū)動電路(輸出電流為10mA)等三部分電路組成。圖6.12中A、B、C、D為二進(jìn)制碼(或BCD碼)輸入端;為鎖存控制端,為低電平時可以輸入數(shù)據(jù)。為高電平時鎖存輸入數(shù)據(jù),h+i為輸入數(shù)據(jù)大于等于10指示位,若輸入數(shù)據(jù)大于或等于10,則h+i輸出高電平,否則輸出為低電平;為輸入等于15指示位,若輸入數(shù)據(jù)等于15,則輸出高電平,否則為高阻狀態(tài)。圖6.12MC14495引腳和邏輯框圖
MCl4495芯片的作用是輸入被顯字符的二進(jìn)制碼(或BCD碼),并把它自動轉(zhuǎn)換成相應(yīng)字形碼,送給LED顯示。圖6.13為采用MCl4495芯片的4位靜態(tài)LED顯示器接口電路。圖中,P1.7~P1.4用于輸出欲顯示字符的二進(jìn)制碼(或BCD碼),P1.2=0用于控制二~四譯碼器工作,P1.1和P1.0經(jīng)譯碼器輸出后控制MCl4495中哪一位接收P1.7~P1.4上代碼。例:下面以靜態(tài)LED顯示器接口為例編程,編出能在圖6-13電路中自左到右顯示出來的程序。設(shè)8031單片機(jī)內(nèi)部RAM的20H和21H單元中有四位十六進(jìn)制數(shù)(20H中為高兩位)。
圖6.12MC14495引腳和邏輯框圖圖6.134位靜態(tài)LED顯示器接口圖6.12MC14495引腳和邏輯框圖
ORG1000HSDISPLAY:MOVA,20H ;20H中數(shù)送A ANLA,#0F0H ;截取高4 MOVP1,A ;送MC14495 MOVA,20H ;20H中數(shù)送A SWAPA ;低4位送高4位
ANLA,#0F0H ;去掉低4位
INCA;指向MC14495 MOVP1,A;送MC14495 MOVA,21H ;21H中數(shù)送A ANLA,#0F0H ;截取高4位
ADDA,#02H ;指向MC14495 MOVP1,A ;送MC14495 MOVA,21H ;21H中數(shù)送A SWAPA ;低4位送高4位
ANLA,#0F0H ;去掉低4位
ADDA,#03H ;指向MC14495 MOVP1,A ;送MC14495 RET
在本例中,被顯字符是由硬件MCl4495轉(zhuǎn)換成字形碼的,但也可采用軟件法轉(zhuǎn)換成字形碼。采用軟件法轉(zhuǎn)換時,圖6.13中MCl4495應(yīng)由8位鎖存器替代。靜態(tài)顯示所需的硬件開鎖大,CPU也無法預(yù)先知道什么時候需要改變LED的被顯示字符。如顯示器位數(shù)增多,則靜態(tài)顯示方式更無法適應(yīng)。在顯示位數(shù)較多的情況下,一般都采用動態(tài)顯示方式。6.2.2動態(tài)顯示接口及編程
在多位LED顯示時,為了簡化硬件電路,通常將所有位的段選線相應(yīng)地并聯(lián)在一起,由一個(7段LED)8位I/O口控制,形成段選線的多路復(fù)用。而各位的共陽極或共陰極分別由相應(yīng)的I/O口線控制,實(shí)現(xiàn)各位的分時選通。
其原理如圖6.14所示,6位7段LED動態(tài)顯示器電路中段選線占用一個8位I/O口,而位選線占用一個6位I/0口,由于各位的段選線并聯(lián),段選碼的輸出對各位都是相同的。因此同一時刻,如果各位位選線都處于選通狀態(tài)的話,6位LED將顯示相同字符。若要各位LED能顯示出與本位相應(yīng)的顯示字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線處于選通狀態(tài),而其他各位的位選線都處于關(guān)閉狀態(tài)。同時在段選線上輸出相應(yīng)位要顯示字符的字型碼,這樣同一時刻6位LED中只有選通的那一位顯示出字符,其他五位則是熄滅的。
同樣在下一時刻,只讓下一位的位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài)。同時,在段選線上輸出相應(yīng)位將要顯示字符的字型碼,則同一時刻只有選通位顯示出相應(yīng)的字符,而其他各位則是熄滅的。如此循環(huán)下去,就可以使各位顯示出將要顯示的字符,雖然這些字符是在不同時刻出現(xiàn)的,而在同一時刻,只要一位顯示,其他各位熄滅,但由于人眼有視覺暫留現(xiàn)象,只要每位顯示時間足夠短,則可造成多位同時亮的假象,達(dá)到顯示的目的。
圖6.14動態(tài)顯示器電路圖動態(tài)顯示接口實(shí)例
要使lED顯示器顯示出字符,必須提供段選碼和位選碼。段選碼(即字形碼)可以用硬件譯碼的方法得到,也可以用軟件譯碼的方法得到。以8031單片機(jī)6位LED動態(tài)顯示接口電路為實(shí)例分析說明顯示接口與編程。圖6-15所示,為6位LED顯示器的段選線分別并聯(lián)在一起,由一個74LS373鎖存器提供段選碼,由另一個74LS373鎖存器提供位選碼。這兩個鎖存器由1個74LSl38譯碼器的輸出4和3分別控制,而74LSl38譯碼器的選擇輸入端分別接到P2.7,P2.6,P2.5,最高的三位地址。因此可以得到段選碼鎖存器的接口地址是8000H,位選碼鎖存器的接口地址是6000H,在6位LED顯示器動態(tài)顯示程序中需要6個和6個LED相對應(yīng)的存儲單元,用來存儲相應(yīng)位要顯示字符。這6個單元稱為顯示緩沖區(qū)。
在8031單片機(jī)開發(fā)系統(tǒng)中7EH,7DH,7CH,7BH,7AH和79H片內(nèi)數(shù)據(jù)存儲區(qū),和6個LED顯示位由左到右一一對應(yīng),如圖6-16所示。DG6DG5DG4DG3DG2DG17EH7DH7CH7BH7AH79H圖6-16LED對應(yīng)顯示緩沖區(qū)
圖6.156位LED動態(tài)顯示接口電路動態(tài)掃描顯示程序清單如下:DISPLAY:MOVR0,#79H;R0指向顯示緩沖區(qū)低位
MOVR3,#01H;R3指向位碼低位
MOVA,R3;輸出位碼DISPLAY1:MOVDPTR,#6000H;DPTR指向位口地址
MOVX@DPTR,AMOVA,@R0;輸出段碼
ADDA,#19H;加PC到TABLE偏移量
MOVCA,@A+PC;查表獲得對應(yīng)的段碼
MOVDPTP,#8000H;DPTR指向段口地址
MOVX@DPTP,A;在段口輸出段碼
ACALLDELAY;延時lms左右
INCR0;指向下一個緩沖區(qū)地址
MOVA,R3;修改位碼
JBACC.5,DISPLAY2;已到最左位返回
RLA;移到下一位
MOVR3,AAJMPDISPLAY1;繼續(xù)循環(huán)
DISPLAY2:RETDELAY:MOVR7,#02H;延時程序約lmsDELAY1:MOVR6,#0FFHDELAY2:DJNZR6,DELAY2DJNZR7,DELAY1RETTABLE:DBC0H;0的段選碼
F9H;1A4H;2B0H;399H;492H;582H;6F8H;780H;890H;988H;A83H;BC6H;CA1H;D86H;E8EH;F
以上顯示程序是掃描程序,是把6個LED顯示塊從右到左逐個顯示一遍,每一個顯示時間約1ms,如果反復(fù)調(diào)用此顯示程序,循環(huán)下去,根據(jù)人眼的視覺暫留現(xiàn)象,使人感覺這6個LED好象同時在顯示,顯示的內(nèi)容是預(yù)先放在對應(yīng)顯示緩沖區(qū)的內(nèi)容。6.2.38155作LED顯示器接口8155是可編程RAM/IO接口芯片,可與MCS-51單片機(jī)直接相接而不需要任何硬件,是單片機(jī)系統(tǒng)中最實(shí)用,最廣泛使用的接口芯片之一。為了實(shí)現(xiàn)LED顯示器的動態(tài)掃描,除了要給顯示器提供段(字形代碼)的輸入之外,還要對顯示器加位的控制。因此多位LED顯示器接口電路需要有二個輸出口,其中一個用于輸出8條段控線(有小數(shù)點(diǎn)顯示);另一個用于輸出位控線,位控線的數(shù)目等于顯示器的位數(shù)。圖6.17是使用8155作六位LED顯示器的接口電路。
圖6.178155作六位LED顯示器的接口電路
其中C口為輸出口(位控口),以PC5~PC0輸出位控線。由于位控線的驅(qū)動電流較大,8段全亮?xí)r約40~60mA,因此PC口輸出加74LS06進(jìn)行反相和提高驅(qū)動能力,然后再接各LED顯示器的位控端。
A口也為輸出口(段控口),以輸出8位字形代碼(段控線)。段控線的負(fù)載電流約為8mA,為提高顯示亮度,通常加74LS244進(jìn)行段控輸出驅(qū)動。顯示緩沖區(qū)為了存放顯示的數(shù)字或字符,通常在內(nèi)部RAM中設(shè)置顯示緩沖區(qū)如圖6.16所示,其單元個數(shù)與LED顯示器位數(shù)相同。假定位控口地址0101H,段控口地址0102H。以R0存放當(dāng)前位控值,DELAY為延時子程序。DIR:MOVR0,#79H;建立顯示緩沖區(qū)首址
MOVR3,#01H;從右數(shù)第一位顯示器開始
MOVA,R3;位控碼初值LD0:MOVDPTR,#0101H;位控口地址
MOVX@DPTR,A;輸出位控碼
INCDPTR;得段控口地址
MOVA,@R0;取出顯示數(shù)據(jù)DIR0:ADDA,#0DHMOVCA,@A+PC;查表取字形代碼DIR1:MOVX@DPTR,A;輸出段控碼
ACALLDL;延時
INCR0;轉(zhuǎn)向下一緩沖單元
MOVA,R3JBACC.5,LD1;判是否到最高位,到則返回
RLA;不到,向顯示器高位移位
MOVR3,A;位控碼送R3保存
AJMPLD0;繼續(xù)掃描
LD1:RETDSEG:DB3FH;字形代表碼
DB06HDB5BH…
在動態(tài)掃描過程中,調(diào)用延時子程序DELAY,其延遲時間大約1ms。這是為了使掃描到的那位顯示器穩(wěn)定地點(diǎn)亮一段時間,猶如掃描過程中在每一位顯示器上都有一段駐留時間,以保證其顯示亮度。本例接口電路是軟件為主的接口電路,對顯示數(shù)據(jù)以查表方法得到其字形代碼,為此在程序中有字形代碼表DSEG。從0開始依次寫入十六進(jìn)制數(shù)的字形代碼。為了進(jìn)行查表操作,使用查表指令MOVCA,@A+PC,由PC提供16位基址,由A提供變址。MOVC指令距DSEG表的地址間隔為0DH,因此顯示數(shù)據(jù)送A后,進(jìn)行A-(A)+0DH操作,以求得變址值,然后進(jìn)行查表操作。在實(shí)際的單片機(jī)系統(tǒng)中,LED顯示程序都是作為一個子程序供監(jiān)控程序調(diào)用。因此各位顯示器都掃過一遍之后,就返回監(jiān)控程序。返回監(jiān)控程序后,經(jīng)過一段時間間隔后,再調(diào)用顯示掃描程序。通過這種反復(fù)調(diào)用來實(shí)現(xiàn)LED顯示器的動態(tài)掃描。
小測:設(shè)計51單片機(jī)通過8155H實(shí)現(xiàn)擴(kuò)展6位LED和32鍵鍵盤的電路,要求畫出原理圖,并編寫鍵盤識別和LED顯示的程序。鍵盤識別程序:
KEY:MOVDPTR,#7F01H______________MOVX@DPTR,AINCDPTRINCDPTR______________CPLAANLA,#0FHJZKEY…LED顯示程序:DIR:MOVR0,#79H;建立顯示緩沖區(qū)首址
MOVR3,#01H;從右數(shù)第一位顯示器開始
MOVA,R3;位控碼初值LD0:MOVDPTR,______;位控口地址
MOVX@DPTR,A;輸出位控碼
MOVDPTR,______;得段控口地址
MOVA,@R0;取出顯示數(shù)據(jù)DIR0:ADDA,#0DHMOVCA,@A+PC;查表取字形代碼DIR1:MOVX@DPTR,A;輸出段控碼
ACALLDL;延時
INCR0;轉(zhuǎn)向下一緩沖單元
MOVA,R3______________;判是否到最高位,到則返回
RLA;不到,向顯示器高位移位
MOVR3,A;位控碼送R3保存
AJMPLD0;繼續(xù)掃描
LD1:RETDSEG:DB3FH;字形代表碼
DB06HDB5BH…6.4功率器件接口電路
在工業(yè)控制中,單片機(jī)的被控對象大多都是功率設(shè)備,需要高電壓大電流,單片機(jī)不能直接驅(qū)動,要通過相應(yīng)的接口電路才能輸出一定的功率來驅(qū)動功率設(shè)備。常用的功率接口有繼電器型、晶閘管型、光電隔離型和功率晶體管型等多種形式。
6.4.1繼電器型驅(qū)動接口及編程
繼電器是通過線圈的電流來控制觸點(diǎn)的開與合,由于繼電器的線圈和觸點(diǎn)之間沒有電氣上的聯(lián)系,因此,可以使用繼電器來實(shí)現(xiàn)自動控制上的電氣隔離。圖6.25所示是繼電器的基本應(yīng)用電路。
圖6.25所示,KA為繼電器線圈,KAl和KA2是繼電器的動合、動斷觸點(diǎn),當(dāng)晶體管T的基極輸入一個高電平,使T進(jìn)入飽和狀態(tài),Vc通過繼電器的線圈有電流流過,流過電流的線圈產(chǎn)生磁場力吸引觸點(diǎn)動作。R為晶體管基極限流電阻,二極管D用于對晶體管的保護(hù)。在平時,由于二極管為反向串接,沒有電流過,當(dāng)繼電器線圈失電的瞬間會產(chǎn)生很大的反電動勢,有可能使晶體管擊穿,由于有二極管D的存在,提供了一個通路,使反電動勢不會損壞晶體管,從而起到了保護(hù)作用。在繼電器失電狀態(tài)下,動合觸點(diǎn)斷開,動斷觸點(diǎn)閉合,當(dāng)繼電器得電后,動合觸點(diǎn)閉合,而動斷觸點(diǎn)斷開,利用繼電器的觸點(diǎn)開關(guān)作用可以控制設(shè)備或傳送邏輯電平信號。一般繼電器帶有一組或多組動合、動斷觸點(diǎn)供使用,繼電器的線圈電流也有大小,觸點(diǎn)的接觸電流也有大小,耐壓值也有高有低,用戶可以根據(jù)設(shè)計的要求選用相應(yīng)的繼電器。
圖6.25繼電器基本應(yīng)用1、繼電器驅(qū)動接口及電氣參數(shù)
在各種控制中,應(yīng)用場合不同,需要選用的繼電器也不同。在設(shè)計繼電器接口電路時,要了解繼電器的一些參數(shù),進(jìn)行正確的設(shè)計,才能獲得好的控制效果。在電路設(shè)計時,應(yīng)根據(jù)印制電路板的大小,選用合適的繼電器,要考慮它的體積、封裝形式。目前,有供印制電路板設(shè)計用的微小型繼電器,供電電壓為5V。
對于功率大的驅(qū)動繼電器,有必要在中間增加一級繼電器,如圖6.26所示。繼電器常用電氣參數(shù)有:
(1)額定工作電壓和電流
是指繼電器在正常工作狀態(tài)下,繼電器線圈兩端所加的電壓值或線圈中流過的電流值,是應(yīng)用于設(shè)計的主要參數(shù),是設(shè)計的依據(jù)。
(2)吸合電壓和電流
是指繼電器能產(chǎn)生吸合動作的最小電壓值或電流值,一般為額定值的75%左右。在設(shè)計中為保證繼電器可靠工作,應(yīng)使控制電壓高于吸合電壓,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版二年級數(shù)學(xué)下冊期末測試卷(含答案)
- 湖南省九校聯(lián)盟2025屆高三上學(xué)期第一次聯(lián)考-生物試題(含答案)
- 人教版(2019)高中化學(xué)必修第一冊第一章1.1物質(zhì)的分類及轉(zhuǎn)化第一課時教案+學(xué)案+習(xí)題精煉(含答案)
- 第17課《短文兩篇》課件 2024-2025學(xué)年統(tǒng)編版語文七年級下冊
- 初中數(shù)學(xué)簡單的軸對稱圖形第2課時線段垂直平分線的性質(zhì)課件 2024-2025學(xué)年七年級數(shù)學(xué)下冊北師大版2024
- 【核心素養(yǎng)】第2課《學(xué)做“快樂鳥”》第1課時《我很快樂和也有不開心的事》+公開課一等獎創(chuàng)新教案+素材
- 智能物流配送管理制度
- 八年級體育 教學(xué)設(shè)計 人教新課標(biāo)版
- 高鉀血癥患者的護(hù)理
- 第一單元第1課《網(wǎng)絡(luò)發(fā)展簡述》教學(xué)設(shè)計 2023-2024學(xué)年浙教版(2020)初中信息技術(shù)八年級下冊
- 綜合執(zhí)法改革試題及答案
- 藥品經(jīng)營使用和質(zhì)量監(jiān)督管理辦法2024年宣貫培訓(xùn)課件
- DZ∕T 0173-2022 大地電磁測深法技術(shù)規(guī)程(正式版)
- (完整版)供應(yīng)商審核表
- 說專業(yè)(市場營銷專業(yè))課件
- 火電廠工藝流程圖
- 以“政府績效與公眾信任”為主題撰寫一篇小論文6篇
- 水腫病患者的護(hù)理查房ppt
- 第18章生殖毒性研究
- 皮膚營養(yǎng)美容
- 干部個人廉潔檔案樣表.doc
評論
0/150
提交評論