第6章-鍵盤顯示器及功率接口要點(diǎn)_第1頁
第6章-鍵盤顯示器及功率接口要點(diǎn)_第2頁
第6章-鍵盤顯示器及功率接口要點(diǎn)_第3頁
第6章-鍵盤顯示器及功率接口要點(diǎn)_第4頁
第6章-鍵盤顯示器及功率接口要點(diǎn)_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

熟悉編碼和非編碼鍵盤的概念,駕馭獨(dú)立式和矩陣式鍵盤接口設(shè)計(jì)及編程方法。駕馭LED、LCD顯示器的工作原理,與單片機(jī)的接口電路及程序設(shè)計(jì)方法。學(xué)習(xí)功率器件在工業(yè)限制中的應(yīng)用、功率接口電路及編程方法。重點(diǎn)駕馭鍵檢測(cè)、鍵掃描程序及顯示程序的設(shè)計(jì)和功率接口電路設(shè)計(jì)的方法。難點(diǎn):鍵掃描程序、顯示程序和功率接口電路的設(shè)計(jì)與編程。第6章鍵盤、顯示器及功率接口

本章學(xué)習(xí)要點(diǎn)6.1鍵盤的接口鍵盤是計(jì)算機(jī)不行缺少的輸入設(shè)備,是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶。按其結(jié)構(gòu)形式鍵盤可分為非編碼鍵盤和編碼鍵盤,前者用軟件方法產(chǎn)生鍵碼,而后者則用硬件方法產(chǎn)生鍵碼。在單片機(jī)中運(yùn)用的都是非編碼鍵盤,因?yàn)榉蔷幋a鍵盤結(jié)構(gòu)簡(jiǎn)潔成本低廉。按鍵型式有獨(dú)立式和矩陣式兩種:1、獨(dú)立式按鍵就是各按鍵相互獨(dú)立,每個(gè)按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會(huì)影響其它輸入線上的工作狀態(tài)。因此,通過檢測(cè)輸入線的電平狀態(tài)可以簡(jiǎn)潔推斷那個(gè)按鍵按下。2、矩陣式按鍵就是鍵盤上的鍵按行列構(gòu)成矩陣,在行列的交叉點(diǎn)上都對(duì)應(yīng)有一個(gè)鍵。所謂鍵事實(shí)上是一個(gè)機(jī)械彈性開關(guān),被按下則其交點(diǎn)的行線和列線接通。非編碼鍵盤接口技術(shù)的主要內(nèi)容就是如何確定被按鍵的行列位置,并據(jù)此產(chǎn)生鍵碼。這就是所謂鍵的識(shí)別問題。6.1.1鍵盤輸入的抖動(dòng)問題

鍵盤實(shí)質(zhì)上是一組按鍵開關(guān)的集合,均利用機(jī)械觸點(diǎn)的合、斷作用。一個(gè)電壓信號(hào)通過機(jī)械觸點(diǎn)的斷開、閉合過程如圖6.1所示。圖6.1按鍵抖動(dòng)信號(hào)波形

按鍵在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),抖動(dòng)時(shí)間的長短由按鍵的機(jī)械特性確定,一般為5~10ms。按鍵穩(wěn)定閉合期的長短則由操作人員的按鍵動(dòng)作所確定的,一般為特別之幾秒到幾秒的時(shí)間。鍵的閉合與否,反應(yīng)在電壓上就是呈現(xiàn)出高電平或低電平,假如高電平表示斷開的話,那低電平則表示閉合,通過電平的凹凸?fàn)顟B(tài)的檢測(cè),可確認(rèn)按鍵按下與否。為了確保CPU對(duì)一次按鍵動(dòng)作只確認(rèn)一次,必需消退抖動(dòng)的影響。6.1.2消退按鍵抖動(dòng)的措施通常有硬件、軟件兩種消退抖動(dòng)的方法硬件消退抖動(dòng)方法有一種雙穩(wěn)態(tài)消抖電路如圖6-2所示,其兩個(gè)與非門構(gòu)成一個(gè)RS觸發(fā)器。當(dāng)按鍵未按下時(shí),輸出為1;鍵按下時(shí),輸出為0。鍵的機(jī)械性能,使按鍵因彈性抖動(dòng)而產(chǎn)生瞬時(shí)不閉合,抖動(dòng)跳開b,只要按鍵不返回原始狀態(tài)a,雙穩(wěn)態(tài)電路的狀態(tài)就不變更,輸出保持為0,不會(huì)產(chǎn)生抖動(dòng)的波形。即使b點(diǎn)的電壓波形是抖動(dòng)的,但經(jīng)雙穩(wěn)態(tài)電路之后,其輸出為正規(guī)的矩形波形。圖6-2雙穩(wěn)態(tài)消抖電路軟件消退抖動(dòng)方法硬件消退抖動(dòng)法須要增加電子元件,電路困難,特殊是按鍵較多時(shí),實(shí)現(xiàn)起來有困難。而用軟件消退抖動(dòng)法,不須要增加電子元件,只要編寫一段延時(shí)程序,就可以達(dá)到消退抖動(dòng)的目的,在軟件消退抖動(dòng)方法中,若CPU檢測(cè)到有鍵按下時(shí),先執(zhí)行一段延時(shí)程序后再檢測(cè)此按鍵,若仍為按下狀態(tài),則CPU認(rèn)為該鍵的確按下。同樣,當(dāng)鍵從按下到再次松開時(shí),CPU檢測(cè)到有鍵松開,并在延時(shí)一段時(shí)間后仍檢測(cè)到鍵在松開狀態(tài),則認(rèn)為鍵的確松開,這樣就消退了抖動(dòng)的影響,實(shí)現(xiàn)了軟件消退抖動(dòng)的目的圖6-3所示為軟件去抖動(dòng)判別程序的流程圖圖6-3軟件消退抖動(dòng)流程圖6.1.3非編碼鍵盤的接口方法非編碼鍵盤分為獨(dú)立式非編碼鍵盤和矩陣式非編碼鍵盤。下面分別進(jìn)行介紹。1.獨(dú)立式非編碼鍵盤結(jié)構(gòu)獨(dú)立式非編碼鍵盤(又稱小鍵盤),是指干脆用一條I/O線對(duì)應(yīng)連接一個(gè)按鍵(一鍵一線)的鍵盤電路。由于每個(gè)按鍵單獨(dú)占有一條I/O口線,所以該口線的狀態(tài)只反映該按鍵是否按下,不會(huì)影響其它I/O線的狀態(tài)。因而獨(dú)立式按鍵電路配置敏捷,軟件結(jié)構(gòu)簡(jiǎn)潔,但在按鍵數(shù)量較多時(shí),須要的I/O口線也較多。獨(dú)立式按鍵電路如圖6-4所示。當(dāng)某一按鍵閉合時(shí),相應(yīng)的I/O線變?yōu)榈碗娖健M茢嗍欠裼墟I下的方法是,查詢哪一根接按鍵的I/O線為低電平常,便知此鍵按下。獨(dú)立式非編碼鍵盤的優(yōu)點(diǎn)是電路結(jié)構(gòu)簡(jiǎn)潔。缺點(diǎn)是當(dāng)鍵數(shù)較多時(shí),占用的I/O口線多。例如編寫圖6-4所示的鍵處理程序如下:圖6-4獨(dú)立式非編碼鍵盤程序清單START:MOVA,#0FFH; 輸入時(shí)先置P1口為全1MOVP1,AMOVA,P1;鍵狀態(tài)輸入JNBACC.0,P0F;0號(hào)鍵按下轉(zhuǎn)POF標(biāo)號(hào)地址JNBACC.1,P1F;1號(hào)鍵按下轉(zhuǎn)P1F標(biāo)號(hào)地址JNBACC.2,P2F;2號(hào)鍵按下轉(zhuǎn)P2F標(biāo)號(hào)地址JNBACC.3,P3F;3號(hào)鍵按下轉(zhuǎn)P3F標(biāo)號(hào)地址JNBACC.4,P4F;4號(hào)鍵按下轉(zhuǎn)P4F標(biāo)號(hào)地址JNBACC.5,P5F;5號(hào)鍵按下轉(zhuǎn)P5F標(biāo)號(hào)地址JNBACC.6,P6F;6號(hào)鍵按下轉(zhuǎn)P6F標(biāo)號(hào)地址JNBACC.7,P7F;7號(hào)鍵按下轉(zhuǎn)P7F標(biāo)號(hào)地址SJMPSTART;無鍵按下返回P0F:LJMPPROM0;轉(zhuǎn)至0號(hào)鍵功能程序P1F:LJMPPROM1;轉(zhuǎn)至1號(hào)鍵功能程序P2F:LJMPPROM2;轉(zhuǎn)至2號(hào)鍵功能程序P3F:LJMPPROM3;轉(zhuǎn)至3號(hào)鍵功能程序P4F:LJMPPROM4;轉(zhuǎn)至4號(hào)鍵功能程序P5F:LJMPPROM5;轉(zhuǎn)至5號(hào)鍵功能程序P6F:LJMPPROM6;轉(zhuǎn)至6號(hào)鍵功能程序P7F:LJMPPROM7;轉(zhuǎn)至7號(hào)鍵功能程序PROM0:......;0號(hào)鍵功能程序LJMPSTART;0鍵執(zhí)行完返回PROM1:......;1號(hào)鍵功能程序LJMPSTART;1鍵執(zhí)行完返回PROM2:...;2號(hào)鍵功能程序LJMPSTART;2號(hào)鍵執(zhí)行完返回PROM3:......;3號(hào)鍵功能程序LJMPSTART;3號(hào)鍵執(zhí)行完返回PROM4:......;4號(hào)鍵功能程序LJMPSTART;4號(hào)鍵執(zhí)行完返回PROM5:......;5號(hào)鍵功能程序LJMPSTART;5號(hào)鍵執(zhí)行完返回PROM6:......;6號(hào)鍵功能程序LJMPSTART;6號(hào)鍵執(zhí)行完返回PROM7:......;7號(hào)鍵功能程序LJMPSTART;7號(hào)鍵執(zhí)行完返回小測(cè):設(shè)計(jì)51單片機(jī)通過8255H實(shí)現(xiàn)擴(kuò)展8個(gè)獨(dú)立按鍵的電路,要求畫出原理圖,并編寫能夠識(shí)別是否有鍵按下的程序,要求有防抖程序。

2.矩陣式非編碼鍵盤結(jié)構(gòu)矩陣式非編碼鍵盤適用于按鍵數(shù)量較多的場(chǎng)合。矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上,一個(gè)由3行*8列構(gòu)成24個(gè)按鍵的鍵盤如圖6-5所示。圖6-5矩陣式鍵盤結(jié)構(gòu)矩陣鍵盤的工作原理:按鍵設(shè)置在行、列線交點(diǎn)上,行、列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到+5V上。無按鍵動(dòng)作時(shí),行線處于高電平狀態(tài),當(dāng)有鍵按下時(shí),行線電平狀態(tài)將由與此行線相連的列線電平確定。列線電平為低,則行線電平為低;列線電平為高,則行線電平亦為高。這一點(diǎn)是識(shí)別矩陣鍵盤按鍵是否被按下的關(guān)鍵。由于矩陣鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在行和列的電平。各按鍵彼此將相互發(fā)生影響,所以必需將行、列線信號(hào)協(xié)作起來并作適當(dāng)?shù)奶幚恚拍艽_定閉合鍵的位置。按鍵的識(shí)別方法:有掃描法和線反轉(zhuǎn)法。描法是常用的方法,現(xiàn)重點(diǎn)介紹掃描法,此方法分兩步進(jìn)行:第一步,識(shí)別鍵盤有無鍵被按下。其次步,假如有鍵被按下,識(shí)別出具體的按鍵。識(shí)別鍵盤有無鍵被按下的方法是:讓全部列線均置為0電平,檢查各行線電平是否變更。假如有變更,說明有鍵被按下,假如沒有變更,則說明無鍵被按下。識(shí)別具體按鍵的方法(亦稱為掃描法);逐列置零電平,其它各列置位高電平,檢查各行線電平的變更,假如其行電平由高電平變?yōu)榈碗娖?,則可確定此行此列交叉點(diǎn)的按鍵被按下。單片機(jī)應(yīng)用系統(tǒng)中,鍵盤掃描只是CPU的工作內(nèi)容之一。CPU在忙于各項(xiàng)工作任務(wù)時(shí),如何兼顧鍵盤的輸入,取決于鍵盤工作方式。通常鍵盤工作方式有三種,即編程掃描、定時(shí)掃描和中斷掃描。下面以8031鍵盤實(shí)際矩陣電路分析說明鍵盤的編程掃描程序。一是KEY-SCAN鍵檢查子程序

二是KEY-GET鍵掃描取值子程序8031鍵盤接口電路如圖6-6所示。在6000H接口地址的鎖存器74LS373鎖存低電平,此時(shí)讀入P1口狀態(tài),在P1.0、P1.1、P1.2三條行線上,只要有一個(gè)不是高電平,求反后A中就不為零。此時(shí)說明有鍵按下了。否則無鍵按下。鍵檢查子程序:KEY-SCAN:MOVDPTR,#6000H;列口地址送數(shù)據(jù)指針 MOVA,#00H MOVX@DPTR,A;列線送低電平 MOVP1,#0FFH MOVA,P1;讀行線電平 CPLA;求反 ANLA,#07H;A=0無鍵按下,A≠0有鍵按下 RET

以上檢測(cè)程序只能推斷有無鍵按下,但在有鍵按下后再分析具體是哪個(gè)鍵按下,則須要用掃描鍵取值程序。KEY-GET:ACALLKEY-SCAN;調(diào)鍵檢測(cè) JNZK-G1;有鍵按下AJMPKEY-GETK-G1:LCALLDELAY;消退抖動(dòng)延時(shí),約18msLCALLKEY-SCAN;再調(diào)鍵檢測(cè)JNZK-G2;有鍵按下LCALLDELAYAJMPKEY-GETK-G2:MOVR2,#0FEH;R2存掃描信號(hào)MOVR4,#00H;鍵值起始值K-G3:MOVDPTR,#6000H;輸出列掃描信號(hào)MOVA,R2MOVX@DPTR,AMOVA,P1;讀P1口JBAcc.0,LINE1;推斷0行高?MOVA,#00H;0行起始值A(chǔ)JMPK-G-ENDLINE1:JBAcc.1,LINE2;推斷1行高?MOVA,#08H;1行起始值A(chǔ)JMPK-G-ENDLINE2:JBAcc.2,NEXT-COL;推斷2行高?高下一列MOVA,#10H;2行起始值K-G-END:ADDA,R4;計(jì)算鍵值 ENDNEXT-COL:INCR4;換列時(shí)加1MOVA,R2JNBAcc.7,KEY-NEXT;7列是低RLA;移到下一行MOVR2,AAJMPK-G3;返回輸出列信號(hào)KEY-NEXT:AJMPKEY-GET在調(diào)用KEY-SCAN程序判明有鍵按下時(shí),再進(jìn)入此程序,否則將在此程序中等待按鍵。這里R2用來供應(yīng)信號(hào)的低電平的位置,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)除了以上編程掃描工作方式外,定時(shí)掃描工作方式是利用單片機(jī)內(nèi)部定時(shí)器產(chǎn)生定時(shí)中斷(例如10ms),CPU響應(yīng)中斷后對(duì)鍵盤進(jìn)行掃描,并在有鍵按下時(shí)識(shí)別出該鍵并執(zhí)行相應(yīng)鍵功能程序,定時(shí)掃描工作方式的鍵盤硬件電路與編程掃描工作方式相同。鍵盤工作于編程掃描狀態(tài)時(shí),CPU要不間斷地對(duì)鍵盤進(jìn)行掃描工作,以監(jiān)視鍵盤輸入狀況,直到有鍵按下為止。其間CPU不能干任何其他工作,假如CPU工作量較大,這種方式將不能適應(yīng)。定時(shí)掃描進(jìn)了一大步,除了定時(shí)監(jiān)視一下鍵盤輸入狀況外,其余時(shí)間可進(jìn)行其他任務(wù)的處理,CPU效率提高了,為了進(jìn)一步提高CPU工作效率,可接受中斷掃描工作方式即只有在鍵盤有鍵按下時(shí),才執(zhí)行鍵盤掃描并執(zhí)行該鍵功能程序,假如無鍵按下,CPU將忽視鍵盤,可以說前兩種掃描方式,CPU對(duì)鍵盤的監(jiān)視是主動(dòng)進(jìn)行的,而后一種掃描方式,CPU對(duì)鍵盤的監(jiān)視是被動(dòng)進(jìn)行的。6.1.4BCD碼撥盤接口BCD碼十進(jìn)制撥盤是向單片機(jī)應(yīng)用系統(tǒng)輸入數(shù)據(jù)的設(shè)備,是一種硬件設(shè)置數(shù)據(jù)的設(shè)備。運(yùn)用撥盤輸入的數(shù)據(jù)具有不行變性,卻又易于修改。十進(jìn)制輸入,BCD輸出的撥盤是最常運(yùn)用的一種。圖6-7所示是一個(gè)4位BCD碼撥盤組結(jié)構(gòu)和連接示意圖。每位撥盤有0~9十個(gè)撥動(dòng)位置,每個(gè)位置有相應(yīng)的數(shù)字表示,分別代表撥盤輸入的十進(jìn)制數(shù)。所以,一位撥盤可以代表一位十進(jìn)制數(shù),可以依據(jù)設(shè)計(jì)的須要,用多位BCD碼撥盤組成多位十進(jìn)制數(shù)。圖6-74位BCD碼撥盤結(jié)構(gòu)和連接BCD碼盤有一個(gè)輸入限制線A,4個(gè)BCD碼輸出信號(hào)線。撥盤的各個(gè)不同的位置,使輸入限制線A分別與4根BCD碼輸出線中的某幾根接通,使BCD碼輸出線的狀態(tài)與撥盤所顯示的值一樣,并使該編碼信號(hào)輸入單片機(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的某個(gè)位置時(shí),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ù)邏輯接口6.1.5串行鍵盤應(yīng)用除了利用并行輸入口設(shè)計(jì)鍵盤限制電路外,還可以用串行方式設(shè)計(jì)鍵盤限制電路。圖6-10為用單片機(jī)串行口設(shè)計(jì)的串行鍵盤限制電路。CD4014是8位表態(tài)移位寄存器(同步并入),實(shí)現(xiàn)并行輸入串行輸出。如圖6.10所示,CD4014的P1~P8作為8個(gè)開關(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

除了運(yùn)用CD4014集成電路外,還可以運(yùn)用74LS165等集成電路芯片設(shè)計(jì)串行鍵盤限制電路。6.2LED七段發(fā)光顯示器接口

發(fā)光二極管顯示器,簡(jiǎn)稱LED(LightEmittingDiode),LED有七段和八段之分,也有共陰極和共陽極兩種。共陰極LED顯示塊的發(fā)光二極管的陰極連在一起,通常此公共陰極接地,當(dāng)某個(gè)發(fā)光二極管的陽極為高電平常。發(fā)光二極管點(diǎn)亮,相應(yīng)段被顯示。同樣共陽板LED顯示塊的發(fā)光二極管的陽極連在一起,通常此公共陽極接正電壓。當(dāng)某個(gè)發(fā)光二極管的陰極接低電平常,發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示。兩個(gè)顯示塊都有SP顯示段,用于顯示小數(shù)點(diǎn)。顯示器連接如圖6.11所示:

圖6.11LED原理及外形引腳圖

7段字型碼如表6.3所列,由于只有8個(gè)段發(fā)光二極管,所以字型碼為一個(gè)字節(jié)?!懊住弊侄蜭ED字型碼由于有15個(gè)段發(fā)光二極管,所以字型碼為兩個(gè)字節(jié)。一般由N片LED顯示塊可拼接成N位LED顯示器。N位LED顯示器有N根位選線和8*N根段選線。依據(jù)顯示方式不同,位選線和段選線的連接方法也各不相同。段選線限制顯示字符的字型,而位選線則限制顯示位的亮、暗。LED顯示器有靜態(tài)顯示和動(dòng)態(tài)顯示兩種顯示方式。6.2.1靜態(tài)顯示接口及編程LED顯示器上工作于靜態(tài)顯示方式時(shí),各位的共陰極(或陽極)連接在一起接地(或+5V);每位的段選線(a~sp),分別與一8位的鎖存器輸出相連。靜態(tài)顯示是由于顯示器中的各位相應(yīng)獨(dú)立,而且各位的顯示字符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一字符為止。靜態(tài)顯示器的亮度較高。由于各位分別由一個(gè)8位輸出口限制段選碼,在同一時(shí)間里,每一位顯示的字符可以各不相同。這種顯示方式接口,編程簡(jiǎn)潔,管理簡(jiǎn)潔,付出的代價(jià)是占用口線資源較多。

在單片機(jī)應(yīng)用系統(tǒng)中,常接受MCl4495芯片作為LED的靜態(tài)顯示接口,它可以和LED顯示器干脆相連。MCl4495芯片的引腳和邏輯框圖如圖6.12所示。它是由4位鎖存器、地址譯碼和筆段ROM陣列以及帶有限流電阻的驅(qū)動(dòng)電路(輸出電流為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碼),并把它自動(dòng)轉(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)換時(shí),圖6.13中MCl4495應(yīng)由8位鎖存器替代。靜態(tài)顯示所需的硬件開鎖大,CPU也無法預(yù)先知道什么時(shí)候須要變更LED的被顯示字符。如顯示器位數(shù)增多,則靜態(tài)顯示方式更無法適應(yīng)。在顯示位數(shù)較多的狀況下,一般都接受動(dòng)態(tài)顯示方式。6.2.2動(dòng)態(tài)顯示接口及編程在多位LED顯示時(shí),為了簡(jiǎn)化硬件電路,通常將全部位的段選線相應(yīng)地并聯(lián)在一起,由一個(gè)(7段LED)8位I/O口限制,形成段選線的多路復(fù)用。而各位的共陽極或共陰極分別由相應(yīng)的I/O口線限制,實(shí)現(xiàn)各位的分時(shí)選通。

其原理如圖6.14所示,6位7段LED動(dòng)態(tài)顯示器電路中段選線占用一個(gè)8位I/O口,而位選線占用一個(gè)6位I/0口,由于各位的段選線并聯(lián),段選碼的輸出對(duì)各位都是相同的。因此同一時(shí)刻,假如各位位選線都處于選通狀態(tài)的話,6位LED將顯示相同字符。若要各位LED能顯示出與本位相應(yīng)的顯示字符,就必需接受掃描顯示方式,即在某一時(shí)刻,只讓某一位的位選線處于選通狀態(tài),而其他各位的位選線都處于關(guān)閉狀態(tài)。同時(shí)在段選線上輸出相應(yīng)位要顯示字符的字型碼,這樣同一時(shí)刻6位LED中只有選通的那一位顯示出字符,其他五位則是熄滅的。同樣在下一時(shí)刻,只讓下一位的位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài)。同時(shí),在段選線上輸出相應(yīng)位將要顯示字符的字型碼,則同一時(shí)刻只有選通位顯示出相應(yīng)的字符,而其他各位則是熄滅的。如此循環(huán)下去,就可以使各位顯示出將要顯示的字符,雖然這些字符是在不同時(shí)刻出現(xiàn)的,而在同一時(shí)刻,只要一位顯示,其他各位熄滅,但由于人眼有視覺暫留現(xiàn)象,只要每位顯示時(shí)間足夠短,則可造成多位同時(shí)亮的假象,達(dá)到顯示的目的。

圖6.14動(dòng)態(tài)顯示器電路圖動(dòng)態(tài)顯示接口實(shí)例

要使lED顯示器顯示出字符,必需供應(yīng)段選碼和位選碼。段選碼(即字形碼)可以用硬件譯碼的方法得到,也可以用軟件譯碼的方法得到。以8031單片機(jī)6位LED動(dòng)態(tài)顯示接口電路為實(shí)例分析說明顯示接口與編程。圖6-15所示,為6位LED顯示器的段選線分別并聯(lián)在一起,由一個(gè)74LS373鎖存器供應(yīng)段選碼,由另一個(gè)74LS373鎖存器供應(yīng)位選碼。這兩個(gè)鎖存器由1個(gè)74LSl38譯碼器的輸出4和3分別限制,而74LSl38譯碼器的選擇輸入端分別接到P2.7,P2.6,P2.5,最高的三位地址。因此可以得到段選碼鎖存器的接口地址是8000H,位選碼鎖存器的接口地址是6000H,在6位LED顯示器動(dòng)態(tài)顯示程序中須要6個(gè)和6個(gè)LED相對(duì)應(yīng)的存儲(chǔ)單元,用來存儲(chǔ)相應(yīng)位要顯示字符。這6個(gè)單元稱為顯示緩沖區(qū)。在8031單片機(jī)開發(fā)系統(tǒng)中7EH,7DH,7CH,7BH,7AH和79H片內(nèi)數(shù)據(jù)存儲(chǔ)區(qū),和6個(gè)LED顯示位由左到右一一對(duì)應(yīng),如圖6-16所示。DG6DG5DG4DG3DG2DG17EH7DH7CH7BH7AH79H圖6-16LED對(duì)應(yīng)顯示緩沖區(qū)

圖6.156位LED動(dòng)態(tài)顯示接口電路動(dòng)態(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;查表獲得對(duì)應(yīng)的段碼MOVDPTP,#8000H;DPTR指向段口地址MOVX@DPTP,A;在段口輸出段碼ACALLDELAY;延時(shí)lms左右INCR0;指向下一個(gè)緩沖區(qū)地址MOVA,R3;修改位碼JBACC.5,DISPLAY2;已到最左位返回RLA;移到下一位MOVR3,AAJMPDISPLAY1;接著循環(huán)

DISPLAY2:RETDELAY:MOVR7,#02H;延時(shí)程序約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個(gè)LED顯示塊從右到左逐個(gè)顯示一遍,每一個(gè)顯示時(shí)間約1ms,假如反復(fù)調(diào)用此顯示程序,循環(huán)下去,依據(jù)人眼的視覺暫留現(xiàn)象,使人感覺這6個(gè)LED好象同時(shí)在顯示,顯示的內(nèi)容是預(yù)先放在對(duì)應(yīng)顯示緩沖區(qū)的內(nèi)容。6.2.38155作LED顯示器接口8155是可編程RAM/IO接口芯片,可與MCS-51單片機(jī)干脆相接而不須要任何硬件,是單片機(jī)系統(tǒng)中最好用,最廣泛運(yùn)用的接口芯片之一。為了實(shí)現(xiàn)LED顯示器的動(dòng)態(tài)掃描,除了要給顯示器供應(yīng)段(字形代碼)的輸入之外,還要對(duì)顯示器加位的限制。因此多位LED顯示器接口電路須要有二個(gè)輸出口,其中一個(gè)用于輸出8條段控線(有小數(shù)點(diǎn)顯示);另一個(gè)用于輸出位控線,位控線的數(shù)目等于顯示器的位數(shù)。圖6.17是運(yùn)用8155作六位LED顯示器的接口電路。圖6.178155作六位LED顯示器的接口電路

其中C口為輸出口(位控口),以PC5~PC0輸出位控線。由于位控線的驅(qū)動(dòng)電流較大,8段全亮?xí)r約40~60mA,因此PC口輸出加74LS06進(jìn)行反相和提高驅(qū)動(dòng)實(shí)力,然后再接各LED顯示器的位控端。A口也為輸出口(段控口),以輸出8位字形代碼(段控線)。段控線的負(fù)載電流約為8mA,為提高顯示亮度,通常加74LS244進(jìn)行段控輸出驅(qū)動(dòng)。顯示緩沖區(qū)為了存放顯示的數(shù)字或字符,通常在內(nèi)部RAM中設(shè)置顯示緩沖區(qū)如圖6.16所示,其單元個(gè)數(shù)與LED顯示器位數(shù)相同。假定位控口地址0101H,段控口地址0102H。以R0存放當(dāng)前位控值,DELAY為延時(shí)子程序。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;延時(shí)INCR0;轉(zhuǎn)向下一緩沖單元MOVA,R3JBACC.5,LD1;判是否到最高位,到則返回RLA;不到,向顯示器高位移位MOVR3,A;位控碼送R3保存AJMPLD0;接著掃描LD1:RETDSEG:DB3FH;字形代表碼DB06HDB5BH…在動(dòng)態(tài)掃描過程中,調(diào)用延時(shí)子程序DELAY,其延遲時(shí)間大約1ms。這是為了使掃描到的那位顯示器穩(wěn)定地點(diǎn)亮一段時(shí)間,猶如掃描過程中在每一位顯示器上都有一段駐留時(shí)間,以保證其顯示亮度。本例接口電路是軟件為主的接口電路,對(duì)顯示數(shù)據(jù)以查表方法得到其字形代碼,為此在程序中有字形代碼表DSEG。從0起先依次寫入十六進(jìn)制數(shù)的字形代碼。為了進(jìn)行查表操作,運(yùn)用查表指令MOVCA,@A+PC,由PC供應(yīng)16位基址,由A供應(yīng)變址。MOVC指令距DSEG表的地址間隔為0DH,因此顯示數(shù)據(jù)送A后,進(jìn)行A-(A)+0DH操作,以求得變址值,然后進(jìn)行查表操作。在實(shí)際的單片機(jī)系統(tǒng)中,LED顯示程序都是作為一個(gè)子程序供監(jiān)控程序調(diào)用。因此各位顯示器都掃過一遍之后,就返回監(jiān)控程序。返回監(jiān)控程序后,經(jīng)過一段時(shí)間間隔后,再調(diào)用顯示掃描程序。通過這種反復(fù)調(diào)用來實(shí)現(xiàn)LED顯示器的動(dòng)態(tài)掃描。小測(cè):設(shè)計(jì)51單片機(jī)通過8155H實(shí)現(xiàn)擴(kuò)展6位LED和32鍵鍵盤的電路,要求畫出原理圖,并編寫鍵盤識(shí)別和LED顯示的程序。鍵盤識(shí)別程序: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;延時(shí)INCR0;轉(zhuǎn)向下一緩沖單元MOVA,R3______________;判是否到最高位,到則返回RLA;不到,向顯示器高位移位MOVR3,A;位控碼送R3保存AJMPLD0;接著掃描LD1:RETDSEG:DB3FH;字形代表碼DB06HDB5BH…6.4功率器件接口電路在工業(yè)限制中,單片機(jī)的被控對(duì)象大多都是功率設(shè)備,須要高電壓大電流,單片機(jī)不能干脆驅(qū)動(dòng),要通過相應(yīng)的接口電路才能輸出確定的功率來驅(qū)動(dòng)功率設(shè)備。常用的功率接口有繼電器型、晶閘管型、光電隔離型和功率晶體管型等多種形式。6.4.1繼電器型驅(qū)動(dòng)接口及編程繼電器是通過線圈的電流來限制觸點(diǎn)的開與合,由于繼電器的線圈和觸點(diǎn)之間沒有電氣上的聯(lián)系,因此,可以運(yùn)用繼電器來實(shí)現(xiàn)自動(dòng)限制上的電氣隔離。圖6.25所示是繼電器的基本應(yīng)用電路。

圖6.25所示,KA為繼電器線圈,KAl和KA2是繼電器的動(dòng)合、動(dòng)斷觸點(diǎn),當(dāng)晶體管T的基極輸入一個(gè)高電平,使T進(jìn)入飽和狀態(tài),Vc通過繼電器的線圈有電流流過,流過電流的線圈產(chǎn)生磁場(chǎng)力吸引觸點(diǎn)動(dòng)作。R為晶體管基極限流電阻,二極管D用于對(duì)晶體管的愛護(hù)。在平常,由于二極管為反向串接,沒有電流過,當(dāng)繼電器線圈失電的瞬間會(huì)產(chǎn)生很大的反電動(dòng)勢(shì),有可能使晶體管擊穿,由于有二極管D的存在,供應(yīng)了一個(gè)通路,使反電動(dòng)勢(shì)不會(huì)損壞晶體管,從而起到了愛護(hù)作用。在繼電器失電狀態(tài)下,動(dòng)合觸點(diǎn)斷開,動(dòng)斷觸點(diǎn)閉合,當(dāng)繼電器得電后,動(dòng)合觸點(diǎn)閉合,而動(dòng)斷觸點(diǎn)斷開,利用繼電器的觸點(diǎn)開關(guān)作用可以限制設(shè)備或傳送邏輯電平信號(hào)。一般繼電器帶有一組或多組動(dòng)合、動(dòng)斷觸點(diǎn)供運(yùn)用,繼電器的線圈電流也有大小,觸點(diǎn)的接觸電流也有大小,耐壓值也有高有低,用戶可以依據(jù)設(shè)計(jì)的要求選用相應(yīng)的繼電器。

圖6.25繼電器基本應(yīng)用1、繼電器驅(qū)動(dòng)接口及電氣參數(shù)在各種限制中,應(yīng)用場(chǎng)合不同,須要選用的繼電器也不同。在設(shè)計(jì)繼電器接口電路時(shí),要了解繼電器的一些參數(shù),進(jìn)行正確的設(shè)計(jì),才能獲得好的限制效果。在電路設(shè)計(jì)時(shí),應(yīng)依據(jù)印制電路板的大小,選用合適的繼電器,要考慮它的體積、封裝形式。目前,有供印制電路板設(shè)計(jì)用的微小型繼電器,供電電壓為5V。

對(duì)于功率大的驅(qū)動(dòng)繼電器,有必要在中間增加一級(jí)繼電器,如圖6.26所示。繼電器常用電氣參數(shù)有:

(1)額定工作電壓和電流

是指繼電器在正常工作狀態(tài)下,繼電器線圈兩端所加的電壓值或線圈中流過的電流值,是應(yīng)用于設(shè)計(jì)的主要參數(shù),是設(shè)計(jì)的依據(jù)。

(2)吸合電壓和電流

是指繼電器能產(chǎn)生吸合動(dòng)作的最小電壓值或電流值,一般為額定值的75%左右。在設(shè)計(jì)中為保證繼電器牢靠工作,應(yīng)使限制電壓高于吸合電壓,若限制電壓在吸合電壓左右,就可能造成吸合不行靠或造成頻繁吸合、斷開,產(chǎn)生干擾影響運(yùn)用。

(3)釋放電壓和電流

是指繼電器在此電壓值以下或電流值在此電流值以下,繼電器不吸合,因此限制電壓值或電流值應(yīng)大大小于釋放電壓或電流,才能使繼電器牢靠釋放。

(4)觸點(diǎn)負(fù)載

是指繼電器觸點(diǎn)的負(fù)載實(shí)力,反應(yīng)了所能限制設(shè)備的功率大小。應(yīng)使所限制設(shè)備的功率小于觸點(diǎn)負(fù)載,才能使繼電器工作正常,否則會(huì)損壞觸點(diǎn),影常工作。圖6.27所示是帶光電隔離的繼電器接口電路的應(yīng)用也可以使P1.0干脆驅(qū)動(dòng)晶體管去帶動(dòng)繼電器,如圖6.28所示。圖6.2

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論