資源描述:
《單片機(jī)鍵盤及顯示.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、本章要點(diǎn)大多數(shù)的單片機(jī)應(yīng)用系統(tǒng),都要配置輸入外設(shè)和輸出外設(shè)。常用的輸入外設(shè)有鍵盤、開(kāi)關(guān)等;常用的輸出外設(shè)有LED數(shù)碼管、LCD顯示器、打印機(jī)等。本章主要介紹1單片機(jī)控制發(fā)光二極管、LED數(shù)碼管2基于單片機(jī)的開(kāi)關(guān)、鍵盤接口原理及應(yīng)用第7章顯示、開(kāi)關(guān)/鍵盤7.1發(fā)光二極管的顯示單片機(jī)可以通過(guò)并行端口P0~P3驅(qū)動(dòng)發(fā)光二極管P0口與P1、P2、P3口相比,P0口每位可驅(qū)動(dòng)8個(gè)LSTTL輸入,而P1~P3口每一位的驅(qū)動(dòng)能力,只有P0口的一半。7.1發(fā)光二極管的顯示當(dāng)P0口的某位為高電平時(shí),可提供400μA的拉
2、電流;當(dāng)P0口某位為低電平(0.45V)時(shí),可提供3.2mA的灌電流;而P1~P3口內(nèi)部有30kΩ左右的上拉電阻,如果高電平輸出,則從P1、P2和P3口輸出的拉電流Id僅為幾百μA,驅(qū)動(dòng)能力較弱,亮度較差;如果端口引腳為低電平,能使灌電流Id從單片機(jī)的外部流入內(nèi)部,則將大大增加流過(guò)的灌電流值;所以,AT89S52單片機(jī)任何一個(gè)端口要想獲得較大的驅(qū)動(dòng)能力,要采用低電平輸出。如果一定要高電平驅(qū)動(dòng),可在單片機(jī)與發(fā)光二極管之間加驅(qū)動(dòng)電路,如74LS04、74LS244等。7.1發(fā)光二極管的顯示(a)不恰當(dāng)?shù)倪B
3、接:高電平驅(qū)動(dòng)(b)恰當(dāng)?shù)倪B接:低電平驅(qū)動(dòng)7.1發(fā)光二極管的顯示思考:如何將發(fā)光二極管與單片機(jī)P1口連接起來(lái)?7.2開(kāi)關(guān)狀態(tài)檢測(cè)檢測(cè)開(kāi)關(guān)處于閉合狀態(tài)還是打開(kāi)狀態(tài),只需把開(kāi)關(guān)一端接到I/O端口的引腳上,另一端接地,然后通過(guò)檢測(cè)I/O端口引腳的電平來(lái)實(shí)現(xiàn)。【例7-2】如圖7-3所示,利用單片機(jī)、1個(gè)開(kāi)關(guān)k和1個(gè)發(fā)光二極管LED,構(gòu)成一個(gè)簡(jiǎn)單的檢測(cè)開(kāi)關(guān)k是否閉合的系統(tǒng)。7.2開(kāi)關(guān)狀態(tài)檢測(cè)參考程序常見(jiàn)顯示器7.3LED數(shù)碼管顯示液晶顯示器液晶顯示屏LED顯示屏LED數(shù)碼管7.3.1LED數(shù)碼管顯示原理LED數(shù)
4、碼管在單片機(jī)系統(tǒng)中應(yīng)用非常廣泛。LED(LightEmittingDiode)是發(fā)光二極管縮寫。LED數(shù)碼管是由發(fā)光二極管構(gòu)成的。7.3.1LED數(shù)碼管的結(jié)構(gòu)常見(jiàn)的LED數(shù)碼管為“8”字型的,共計(jì)8段。每一段對(duì)應(yīng)一個(gè)發(fā)光二極管。有共陽(yáng)極和共陰極兩種共陰極發(fā)光二極管的陰極連在一起,通常公共陰極接地。當(dāng)陽(yáng)極為高電平時(shí),發(fā)光二極管點(diǎn)亮。共陽(yáng)極LED數(shù)碼管的發(fā)光二極管的陽(yáng)極連接在一起,公共陽(yáng)極接正電壓,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),發(fā)光二極管被點(diǎn)亮+5V+5V0V0V0V為了使數(shù)碼管顯示不同的符號(hào)或數(shù)字,
5、要把某些段發(fā)光二極管點(diǎn)亮,就要為L(zhǎng)ED數(shù)碼管提供控制字,該控制字稱為段碼(字型碼)。LED數(shù)碼管共計(jì)8段,正好是一個(gè)字節(jié)。習(xí)慣上是以“a”段對(duì)應(yīng)段碼字節(jié)的最低位。各段與字節(jié)中各位對(duì)應(yīng)關(guān)系如表所示。段碼(字型碼)段碼表D7D6D5D4D3D2D1D0dpgfedcba0001111113f100000110062010110115b3010011114f以共陰極數(shù)碼管為例思考:試寫出H、L的段碼?7.3.1LED數(shù)碼管的結(jié)構(gòu)【例7-3】用單片機(jī)控制一個(gè)8段LED數(shù)碼管,如圖7-5所示。要求數(shù)碼管反復(fù)循環(huán)
6、顯示單個(gè)數(shù)字:0~9。參考程序7.3.2LED數(shù)碼管的顯示方式圖為顯示4位字符的LED數(shù)碼管的結(jié)構(gòu)原理圖。4位位選線和8?4條段碼線。段碼線控制顯示字型,而位選線控制著該顯示位的LED數(shù)碼管的亮或暗。LED數(shù)碼管有兩種顯示方式:靜態(tài)顯示和動(dòng)態(tài)顯示。1.LED靜態(tài)顯示方式無(wú)論多少位LED數(shù)碼管,同時(shí)處于顯示狀態(tài)。各位的共陰極(或共陽(yáng)極)連接在一起并接地(或接+5V);每位的段碼線(a~dp)分別與一個(gè)8位的I/O口鎖存器輸出相連。靜態(tài)顯示的特點(diǎn)靜態(tài)顯示方式的顯示無(wú)閃爍,亮度都較高,軟件控制比較容易;占用
7、口線多。當(dāng)前LED使用靜態(tài)顯示比較常見(jiàn)(配合使用74LS164)1.LED靜態(tài)顯示方式2.LED動(dòng)態(tài)顯示方式無(wú)論在任何時(shí)刻只有一個(gè)LED數(shù)碼管處于顯示狀態(tài),即單片機(jī)采用“掃描”方式控制各個(gè)數(shù)碼管輪流顯示。段碼線的相應(yīng)段并聯(lián)在一起,由一個(gè)8位I/O口控制;而各位的共陽(yáng)極或共陰極分別由相應(yīng)的I/O線控制,分時(shí)選通。4位8段LED動(dòng)態(tài)顯示電路段碼線占用一個(gè)8位I/O口,位選線占用一個(gè)4位I/O口。采用動(dòng)態(tài)的“掃描”顯示方式。即在某一時(shí)刻,只讓某一位的位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時(shí),
8、段碼線上輸出相應(yīng)位要顯示字符的段碼。動(dòng)態(tài)顯示原理在某一時(shí)刻,只有一位顯示,其他各位熄滅,由于余輝和人眼的“視覺(jué)暫留”作用,只要每位顯示間隔足夠短,則可以造成“多位同時(shí)亮”的假象,達(dá)到同時(shí)顯示的效果。動(dòng)態(tài)顯示的特點(diǎn)優(yōu)點(diǎn)是硬件電路簡(jiǎn)單,顯示器越多,優(yōu)勢(shì)越明顯。缺點(diǎn)是顯示亮度不如靜態(tài)顯示的亮度高。如果“掃描”速率較低,會(huì)出現(xiàn)閃爍現(xiàn)象。7.3.3LED數(shù)碼管靜態(tài)顯示設(shè)計(jì)【例7-4】用AT89S52設(shè)計(jì)一個(gè)2位LED數(shù)碼管顯示的“秒表”,顯示時(shí)間為00~99秒,每