版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、本章要點本章要點 大多數(shù)的單片機應(yīng)用系統(tǒng),都要配置輸入外設(shè)和輸出外設(shè)。常用的輸入外設(shè)輸入外設(shè)有鍵盤、開關(guān)鍵盤、開關(guān)等;常用的輸出外設(shè)輸出外設(shè)有LEDLED數(shù)碼管、數(shù)碼管、LCDLCD顯示器、打印機顯示器、打印機等。本章主要介紹 1 1 單片機控制發(fā)光二極管、單片機控制發(fā)光二極管、LEDLED數(shù)碼管數(shù)碼管 2 2 基于單片機的開關(guān)、鍵盤接口原理及應(yīng)用基于單片機的開關(guān)、鍵盤接口原理及應(yīng)用第7章 顯示、開關(guān)/鍵盤7.1 發(fā)光二極管的顯示單片機可以通過單片機可以通過并行端口并行端口P0P0P3P3驅(qū)動發(fā)光二極管驅(qū)動發(fā)光二極管P0P0口與口與 P1P1、P2P2、P3P3口相比,口相比,P0P0口每位可
2、驅(qū)動口每位可驅(qū)動8 8個個LSTTLLSTTL輸入,而輸入,而P1P1P3P3口每一位的驅(qū)動能力,只有口每一位的驅(qū)動能力,只有P0P0口的一半??诘囊话?。7.1 發(fā)光二極管的顯示 當(dāng)當(dāng)P0P0口的某位為高電平時,可提供口的某位為高電平時,可提供400400A A的拉電流的拉電流;當(dāng);當(dāng)P0P0口某口某位為低電平(位為低電平(0.45V0.45V)時,可提供)時,可提供3.2mA3.2mA的灌電流的灌電流;而;而P1P1P3P3口內(nèi)部口內(nèi)部有有30k30k左右的上拉電阻,如果高電平輸出,則從左右的上拉電阻,如果高電平輸出,則從P1P1、P2P2和和P3P3口輸口輸出的拉電流出的拉電流IdId僅為
3、僅為幾百幾百A A,驅(qū)動能力較弱,亮度較差;,驅(qū)動能力較弱,亮度較差; 如果端口引腳為低電平如果端口引腳為低電平,能使灌電流,能使灌電流IdId從單片機的外部流入內(nèi)從單片機的外部流入內(nèi)部,則將大大增加流過的灌電流值;部,則將大大增加流過的灌電流值;所以,所以,AT89S52AT89S52單片機任何一單片機任何一個端口要想獲得較大的驅(qū)動能力,要采用低電平輸出個端口要想獲得較大的驅(qū)動能力,要采用低電平輸出。 如果一定要高電平驅(qū)動,可在單片機與發(fā)光二極管之間加驅(qū)動如果一定要高電平驅(qū)動,可在單片機與發(fā)光二極管之間加驅(qū)動電路,如電路,如74LS0474LS04、74LS24474LS244等。等。7.1
4、 發(fā)光二極管的顯示(a)不恰當(dāng)?shù)倪B接:高電平驅(qū)動 (b)恰當(dāng)?shù)倪B接:低電平驅(qū)動7.1 發(fā)光二極管的顯示思考:如何將發(fā)光二極管與單片機P1口連接起來?7.2 開關(guān)狀態(tài)檢測 檢測開關(guān)處于閉合狀態(tài)還是打開狀態(tài),只需把開關(guān)一端接到檢測開關(guān)處于閉合狀態(tài)還是打開狀態(tài),只需把開關(guān)一端接到I/OI/O端口的引腳上,另一端接地,然后通過檢測端口的引腳上,另一端接地,然后通過檢測I/OI/O端口引腳的電平端口引腳的電平來實現(xiàn)。來實現(xiàn)。 【例例7-27-2】 如如圖圖7-37-3所示,所示,利用單片機、利用單片機、1 1個開關(guān)個開關(guān)k k和和1 1個發(fā)光二極管個發(fā)光二極管LEDLED,構(gòu)成一個簡單的檢測開構(gòu)成一個簡
5、單的檢測開關(guān)關(guān)k k是否閉合的系統(tǒng)。是否閉合的系統(tǒng)。7.2 開關(guān)狀態(tài)檢測 參考程序常見顯示器7.3 LED7.3 LED數(shù)碼管顯示數(shù)碼管顯示液晶顯示器液晶顯示器液晶顯示屏液晶顯示屏LEDLED顯示屏顯示屏LEDLED數(shù)碼管數(shù)碼管7.3.1 LED7.3.1 LED數(shù)碼管顯示原理數(shù)碼管顯示原理 LEDLED數(shù)碼管在單片機系統(tǒng)中應(yīng)用非常廣泛。數(shù)碼管在單片機系統(tǒng)中應(yīng)用非常廣泛。 LED LED(Light Emitting DiodeLight Emitting Diode)是)是發(fā)光二極管發(fā)光二極管縮寫??s寫。 LEDLED數(shù)碼管是由發(fā)光二極管構(gòu)成的數(shù)碼管是由發(fā)光二極管構(gòu)成的。7.3.1 LED7
6、.3.1 LED數(shù)碼管的結(jié)構(gòu)數(shù)碼管的結(jié)構(gòu) 常見的LED數(shù)碼管為“8 8”字型字型的,共計8 8段段。每每一段對應(yīng)一個發(fā)光二極管一段對應(yīng)一個發(fā)光二極管。有共陽極共陽極和共陰極共陰極兩種共陰極共陰極發(fā)光二極管的陰極連在一起,通常公共陰極接地。當(dāng)陽極為高電陽極為高電平平時,發(fā)光二極管點亮。共陽極共陽極LED數(shù)碼管的發(fā)光二極管的陽極連接在一陽極連接在一起起,公共陽極接接正電壓正電壓,當(dāng)某個發(fā)光二極管的陰極接低電平時,發(fā)光二極管被點亮+5V+5V0V0V0V 為了使數(shù)碼管顯示為了使數(shù)碼管顯示不同的符號或數(shù)字不同的符號或數(shù)字,要把某些段發(fā)光二極管點亮,就要為LED數(shù)碼管提供控制字,該控制字稱為段碼段碼(字
7、字型碼型碼)。 LED數(shù)碼管共計8 8段段,正好是一個字節(jié)一個字節(jié)。習(xí)慣上是以以“a a”段段對應(yīng)段碼字節(jié)的最低位對應(yīng)段碼字節(jié)的最低位。各段與字節(jié)中各位對應(yīng)關(guān)系如表表所示。段碼段碼(字型碼字型碼)段碼表D7D6D5D4D3D2D1D0dpgfedcba0001111113f100000110062010110115b3010011114f以共陰極數(shù)碼管為例思考思考: :試寫出試寫出H H、L L的段碼的段碼? ?7.3.1 LED7.3.1 LED數(shù)碼管的結(jié)構(gòu)數(shù)碼管的結(jié)構(gòu)【例例7-37-3】用單片機控制一個用單片機控制一個8 8段段LEDLED數(shù)碼管,如數(shù)碼管,如圖圖7-57-5所示。所示。要
8、求數(shù)碼管反復(fù)循環(huán)顯示單個數(shù)字:要求數(shù)碼管反復(fù)循環(huán)顯示單個數(shù)字:0 09 9。參考程序參考程序7.3.2 LED7.3.2 LED數(shù)碼管的顯示方式數(shù)碼管的顯示方式 圖圖為顯示4位字符的LED數(shù)碼管的結(jié)構(gòu)原理圖。4位位選線位選線和84條段碼線段碼線。段碼線控制段碼線控制顯示字型字型,而位選線位選線控制著該顯示位的LED數(shù)碼管的亮或暗亮或暗。 LED數(shù)碼管有兩種顯示方式:靜態(tài)顯示和動態(tài)顯示。 1 1LEDLED靜態(tài)顯示方式靜態(tài)顯示方式 無論多少位無論多少位LEDLED數(shù)碼管,數(shù)碼管,同時處于顯示同時處于顯示狀態(tài)狀態(tài)。l各位的各位的共陰極共陰極(或共陽極)連(或共陽極)連接在一起接在一起并接地并接地(
9、或接(或接+5V+5V););l每位的每位的段碼線段碼線(a adpdp)分別)分別與一個與一個8 8位的位的I/OI/O口鎖存器輸出相口鎖存器輸出相連。連。靜態(tài)顯示的特點 u 靜態(tài)顯示方式的顯示無閃爍,亮度都較高,軟件控制比軟件控制比較容易;較容易;u 占用口線多。u 當(dāng)前LED使用靜態(tài)顯示比較常見(配合使用74LS164)1 1LEDLED靜態(tài)顯示方式靜態(tài)顯示方式2 2LEDLED動態(tài)顯示方式動態(tài)顯示方式 無論在任何時刻無論在任何時刻只有一個只有一個LEDLED數(shù)碼管處于顯示狀態(tài)數(shù)碼管處于顯示狀態(tài),即,即單片機采用單片機采用“掃描掃描”方式方式控制各個數(shù)碼管輪流顯示??刂聘鱾€數(shù)碼管輪流顯示
10、。段碼線的相應(yīng)段并聯(lián)在一起,由一個8位I/O口控制;而各位的共陽極或共陰極分別由相應(yīng)的I/O線控制,分時選通。4 4位位8 8段段LEDLED動態(tài)顯示電路動態(tài)顯示電路 段碼線占用一個段碼線占用一個8 8位位I/OI/O口,位選線占用一個口,位選線占用一個4 4位位I/OI/O口???。 采用動態(tài)的采用動態(tài)的“掃描掃描”顯示方式。即在某一時刻,只讓某一位的位選線處顯示方式。即在某一時刻,只讓某一位的位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時,段碼線上輸出相應(yīng)于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時,段碼線上輸出相應(yīng)位要顯示字符的段碼。位要顯示字符的段碼。動態(tài)顯示原理 在某一時
11、刻,只有一位顯示,其他各位熄滅,由于余輝和人眼的“視覺暫留”作用,只要每位顯示間隔足夠短,則可以造成“多位同時亮”的假象,達到同時顯示的效果。動態(tài)顯示的特點優(yōu)點優(yōu)點是硬件電路簡單,顯示器越多,優(yōu)勢越明顯。缺點缺點是顯示亮度不如靜態(tài)顯示的亮度高。如果“掃描”速率較低,會出現(xiàn)閃爍現(xiàn)象。7.3.3 LED數(shù)碼管靜態(tài)顯示設(shè)計【例例7-47-4】 用用AT89S52AT89S52設(shè)計一個設(shè)計一個2 2位位LEDLED數(shù)碼管顯示的數(shù)碼管顯示的 “ “秒表秒表”, 顯示時間為顯示時間為00009999秒,每秒自動加秒,每秒自動加1 1。原理電路如原理電路如圖圖7-87-8所示。電路采用單片機的所示。電路采用
12、單片機的P2P2口、口、P3P3口分別控制口分別控制兩個兩個LEDLED數(shù)碼管作為數(shù)碼管作為“秒表秒表”的時間顯示。顯示數(shù)字的段碼采用的時間顯示。顯示數(shù)字的段碼采用查表方法。查表方法?!懊朊搿庇嫊r產(chǎn)生采用軟件延時的方法。計時產(chǎn)生采用軟件延時的方法。 7.3.3 LED數(shù)碼管靜態(tài)顯示設(shè)計7.6 7.6 鍵盤接口設(shè)計鍵盤接口設(shè)計 鍵盤具有向單片機輸入數(shù)據(jù)、命令等功能,是人與單片機對話的主要手段。7.6.1 鍵盤接口設(shè)計應(yīng)解決的問題1鍵盤的任務(wù)鍵盤的任務(wù)任務(wù)有三項:(1) 判別判別是否有鍵按下是否有鍵按下?若有,進入下一步工作。?若有,進入下一步工作。(2)識別識別哪一個鍵被按下哪一個鍵被按下,并求
13、出相應(yīng)的鍵值。,并求出相應(yīng)的鍵值。(3)根據(jù)根據(jù)鍵值鍵值,找到,找到相應(yīng)鍵值的處理程序入口相應(yīng)鍵值的處理程序入口。最常用的是常用的是按鍵式鍵盤,按鍵式鍵盤,其本質(zhì)上就是一個開關(guān)。按鍵開關(guān)的兩端分別連接在行線和列線上,通過鍵盤開關(guān)機械觸點的斷開、閉合,其行線電壓輸出波形如行線電壓輸出波形如圖圖所示所示。2. 鍵盤輸入的特點29t t1 1和和t t3 3分別為鍵的閉合和斷開過程中的抖動期(呈現(xiàn)一串負脈沖),抖動時間長短抖動時間長短與開關(guān)的機械特性有關(guān)與開關(guān)的機械特性有關(guān),一般為5 510ms10ms。t t2 2為穩(wěn)定的閉合期,其時間由按鍵動作確定,一般為十分之幾秒到幾秒。t t0 0、t t4
14、 4為斷開期。3 3按鍵的識別按鍵的識別 鍵的閉合與否鍵的閉合與否,行線輸出電壓行線輸出電壓上就是呈現(xiàn)高電平或低電平呈現(xiàn)高電平或低電平。 高電平高電平,表示鍵斷開鍵斷開,低電平低電平則表示鍵閉合。鍵閉合。通過對行線電平的高低狀態(tài)的檢測對行線電平的高低狀態(tài)的檢測,可確認按鍵按下可確認按鍵按下以及按鍵釋放與否按鍵釋放與否。為了確保對一次按鍵動作只確認一次按鍵有效,必須消除抖動期抖動期t1和和t3的影響。304消除按鍵抖動的兩種方法一種軟件延時軟件延時,本思想是:在檢測到有鍵按下時,該鍵所對應(yīng)的行線為低電平,執(zhí)行一段延時10ms的子程序后,確認該行線電平是否仍為低電平,如果仍為低電平,則確認該行確實
15、有鍵按下。當(dāng)按鍵松開時,方法同上。采取本措施,可消除兩個抖動期t1和t3的影響。另一種是采用專用的鍵盤采用專用的鍵盤/顯示器接顯示器接口芯片口芯片,這類芯片中都有自動去抖動的自動去抖動的硬件電路硬件電路。有鍵按下延時10ms有鍵按下YYNN確認有鍵按下7.6.2 7.6.2 獨立式鍵盤的設(shè)計獨立式鍵盤的設(shè)計在單片機中,常見的鍵盤有兩種結(jié)構(gòu):獨立式鍵盤獨立式鍵盤和矩陣矩陣式鍵盤式鍵盤。對于獨立式鍵盤: 一鍵一線一鍵一線,各鍵各鍵相互獨立相互獨立,每個鍵各接一條I/O口線,通過檢測I/O輸入線的電平狀態(tài),可容易地判斷哪個按鍵被按下哪個按鍵被按下。當(dāng)某一按鍵按下某一按鍵按下時,對應(yīng)的檢測線就變成了低
16、電平,與其他按鍵相連的檢測線仍為高電平。獨立式按鍵特點優(yōu)點優(yōu)點:電路簡單,各條檢測線獨立,識別按下按鍵的軟件編寫簡單。適用于鍵盤按鍵數(shù)目較少按鍵數(shù)目較少的場合。缺點缺點:不適用于鍵盤按鍵數(shù)目較多不適用于鍵盤按鍵數(shù)目較多的場合,因為將占用較多的I/O口線。獨立式鍵盤的查詢方式示例【例例7-8】對對圖圖7-21所示獨立式鍵盤,用查詢方式實現(xiàn)鍵盤掃描所示獨立式鍵盤,用查詢方式實現(xiàn)鍵盤掃描,根據(jù)按下不同按鍵,對其進行處理。,根據(jù)按下不同按鍵,對其進行處理。矩陣式(也稱行列式)鍵盤用于按鍵數(shù)目較多按鍵數(shù)目較多的場合,由行線和列線組成,按鍵位于行、列的交叉點上。如圖所示,一個4 4的矩陣鍵盤可以構(gòu)成一個1
17、6個個按鍵鍵盤。在按鍵數(shù)目較多按鍵數(shù)目較多的場合,要節(jié)省較多的節(jié)省較多的I/O口口線線。矩陣中無按鍵按下無按鍵按下時,行線為高電平;當(dāng)有按鍵按下有按鍵按下時時,行線電平狀態(tài)將由與此行行線電平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定線相連的列線的電平?jīng)Q定。列列線的電平如果為低,則行線電線的電平如果為低,則行線電平為低;列線的電平如果為高,平為低;列線的電平如果為高,則行線的電平也為高,則行線的電平也為高,這是識別按鍵是否按下的關(guān)鍵所在。7.6.3 7.6.3 矩陣式鍵盤的設(shè)計矩陣式鍵盤的設(shè)計矩陣按鍵識別法:掃描法 第第1步,步,識別鍵盤有無鍵按下識別鍵盤有無鍵按下。先把所有列線均置為列線均置為0,然
18、后檢查檢查各行線電平是否都為高各行線電平是否都為高,如果不如果不全為全為高高,說明有鍵按下,否則無鍵被按下。 例如,例如,當(dāng)鍵鍵3按下時,第第1行行線為低,還不能確定是鍵線為低,還不能確定是鍵3被按下,被按下,因為如果同一行的鍵2、1或0之一被按下,行線也為低電平。只能得出第第1行有鍵被按下行有鍵被按下的結(jié)論。 第第2步,步,識別出哪個按鍵被按下識別出哪個按鍵被按下。采用采用逐列掃描法逐列掃描法,在某一時刻只讓1條列線處于低電平,其余所有列線處于高電平。當(dāng)?shù)诘?列為低電平列為低電平,其余各列為高電平時,因為是鍵3被按下,第1行的行線仍處于高電平;當(dāng)?shù)诘?列為低電平列為低電平,其余各列為高電平時
19、,第1行的行線仍處于高電平;直到讓第直到讓第4列為低電平列為低電平,其余各列為高電平時,此時第此時第1行的行行的行線電平變?yōu)榈碗娖骄€電平變?yōu)榈碗娖?,?jù)此,可判斷第1行第4列交叉點處的按鍵,即鍵3被按下。矩陣按鍵識別法:線反轉(zhuǎn)法掃描法要逐列掃描查詢,有時則要多次掃描多次掃描。而線反轉(zhuǎn)法則線反轉(zhuǎn)法則很簡練很簡練,無論被按鍵是處于第一列或最后一列,均只需經(jīng)過兩只需經(jīng)過兩步步便能獲得此按鍵所在的行列值,其具體步驟為:讓行線編程為輸入線,列線編程為輸出線讓行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全低電平,則行線中電平由高變低的所在行為按鍵所在行。再把行線編程為輸出線,列線編程為輸入線再把行線
20、編程為輸出線,列線編程為輸入線,并使輸出線輸出為全低電平,則列線中電平由高變低所在列為按鍵所在列。 兩步即可確定按鍵所在的兩步即可確定按鍵所在的行和列行和列,從而識別出所按的鍵。假設(shè)假設(shè)鍵鍵3被按下被按下。第一步第一步,P1.0P1.3輸出全為輸出全為“0”,然后,讀入,然后,讀入P1.4P1.7線線的狀態(tài)的狀態(tài),結(jié)果結(jié)果P1.4=0,而P1.5P1.7均為1,因此,第1行出現(xiàn)電平的變化,說明第1行有鍵按下; 第二步第二步,讓讓P1.4P1.7輸出全為輸出全為“0”,然后,讀入,然后,讀入P1.0P1.3位,位,結(jié)果結(jié)果P1.0=0,而P1.1P1.3均為1,因此第4列出現(xiàn)電平的變化,說明第4
21、列有鍵按下。綜上所述,即第1行、第行、第4列按鍵被按下列按鍵被按下,此按鍵即鍵3按下按下。線反轉(zhuǎn)法簡單適用簡單適用,但不要忘記按鍵按鍵去抖動去抖動處理。矩陣按鍵識別法:線反轉(zhuǎn)法7.6.4 7.6.4 鍵盤的工作方式鍵盤的工作方式單片機在忙于其他各項工作任務(wù)忙于其他各項工作任務(wù)時,如何兼顧鍵盤的如何兼顧鍵盤的輸入,這取決于鍵盤的工作方式輸入,這取決于鍵盤的工作方式。工作方式選取原則是,既要保證及時響應(yīng)按鍵操作,又不過多占用單片機工作時間。鍵盤工作方式有3種種,即編程掃描、定時掃描和中斷中斷掃描。掃描。1 1編程掃描方式編程掃描方式也稱查詢方式,利用單片機空閑時,調(diào)用鍵盤掃描子程序,反復(fù)掃描鍵盤。如果單片機
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度儲煤場煤炭交易代理服務(wù)合同3篇
- 2025年度金融機構(gòu)外匯借款合同綠色金融創(chuàng)新實踐
- 二零二五年度碼頭租賃項目環(huán)保驗收及服務(wù)合同4篇
- 二零二五年度錄音系統(tǒng)定制開發(fā)與實施合同3篇
- 2025年度蘋果水果產(chǎn)地直供直銷采購合同4篇
- 2025版木工模板租賃與園林景觀設(shè)計施工承包合同范本3篇
- 二零二五年度寵物醫(yī)院寵物食品研發(fā)與生產(chǎn)合作協(xié)議3篇
- 二零二五年度辦公家具銷售合同(含安裝)2篇
- 二零二五年度天使投資協(xié)議書:生物科技研發(fā)項目風(fēng)險投資合同
- 二零二五年度商標授權(quán)及商標市場推廣合同范本2篇
- 2024-2030年中國招標代理行業(yè)深度分析及發(fā)展前景與發(fā)展戰(zhàn)略研究報告
- 醫(yī)師定期考核 (公共衛(wèi)生)試題庫500題(含答案)
- 基因突變和基因重組(第1課時)高一下學(xué)期生物人教版(2019)必修2
- 內(nèi)科學(xué)(醫(yī)學(xué)高級):風(fēng)濕性疾病試題及答案(強化練習(xí))
- 音樂劇好看智慧樹知到期末考試答案2024年
- 辦公設(shè)備(電腦、一體機、投影機等)采購 投標方案(技術(shù)方案)
- 案卷評查培訓(xùn)課件模板
- 2024年江蘇省樣卷五年級數(shù)學(xué)上冊期末試卷及答案
- 人教版初中英語七八九全部單詞(打印版)
- 波浪理論要點圖解完美版
- 金融交易數(shù)據(jù)分析與風(fēng)險評估項目環(huán)境敏感性分析
評論
0/150
提交評論