矩陣式鍵盤(pán)識(shí)別顯示電路的設(shè)計(jì).doc_第1頁(yè)
矩陣式鍵盤(pán)識(shí)別顯示電路的設(shè)計(jì).doc_第2頁(yè)
矩陣式鍵盤(pán)識(shí)別顯示電路的設(shè)計(jì).doc_第3頁(yè)
矩陣式鍵盤(pán)識(shí)別顯示電路的設(shè)計(jì).doc_第4頁(yè)
矩陣式鍵盤(pán)識(shí)別顯示電路的設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)理與信息工程學(xué)院?jiǎn)纹瑱C(jī)原理及應(yīng)用期末課程設(shè)計(jì)4*4矩陣式鍵盤(pán)識(shí)別譯碼電路的設(shè)計(jì)第一節(jié) 引 言 矩陣式鍵盤(pán)乃是當(dāng)今使用最為廣泛的鍵盤(pán)模式,該系統(tǒng)以N個(gè)端口連接控制N*N個(gè)按鍵,即時(shí)在LED數(shù)碼管上。單片機(jī)控制的據(jù)這是鍵盤(pán)顯示系統(tǒng),該系統(tǒng)可以對(duì)不同的按鍵進(jìn)行實(shí)時(shí)顯示,其核心是單片機(jī)和鍵盤(pán)矩陣電路部分,主要對(duì)按鍵與顯示電路的關(guān)系、矩陣式技術(shù)及設(shè)備系統(tǒng)的硬件、軟件等各個(gè)部分進(jìn)行實(shí)現(xiàn)。4*4矩陣式鍵盤(pán)采用AT89S51單片機(jī)為核心,主要由矩陣式鍵盤(pán)電路、譯碼電路、顯示電路等組成,軟件選用匯編語(yǔ)言編程。單片機(jī)將檢測(cè)到的按鍵信號(hào)轉(zhuǎn)換成數(shù)字量,顯示于LED顯示器上。該系統(tǒng)靈活性強(qiáng),易于操作,可靠性高,將會(huì)有更廣闊的開(kāi)發(fā)前景。1.1 4*4矩陣式鍵盤(pán)識(shí)別顯示系統(tǒng)概述矩陣式鍵盤(pán)模式以N個(gè)端口連接控制N*N個(gè)按鍵,實(shí)時(shí)在LED數(shù)碼管上顯示按鍵信息。顯示按鍵信息,既降低了成本,又提高了精確度,省下了很多的I/O端口為他用,相反,獨(dú)立式按鍵雖編程簡(jiǎn)單,但占用I/O口資源較多,不適合在按鍵較多的場(chǎng)合應(yīng)用。并且在實(shí)際應(yīng)用中經(jīng)常要用到輸入數(shù)字、字母、符號(hào)等操作功能,如電子密碼鎖、電話(huà)機(jī)鍵盤(pán)、計(jì)算器按鍵等,至少都需要12到16個(gè)按鍵,在這種情況下如果用獨(dú)立式按鍵的話(huà),顯然太浪費(fèi)I/O端口資源,為了解決這一問(wèn)題,我們使用矩陣式鍵盤(pán)。矩陣式鍵盤(pán)簡(jiǎn)介:矩陣式鍵盤(pán)又稱(chēng)行列鍵盤(pán),它是用N條I/O線(xiàn)作為行線(xiàn),N條I/O線(xiàn)作為列線(xiàn)組成的鍵盤(pán)。在行線(xiàn)和列線(xiàn)的每個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵。這樣鍵盤(pán)上按鍵的個(gè)數(shù)就為N*N個(gè)。這種行列式鍵盤(pán)結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中I/O口的利用率。最常見(jiàn)的鍵盤(pán)布局如圖1-1所示。一般由16個(gè)按鍵組成,在單片機(jī)中正好可以用一個(gè)P口實(shí)現(xiàn)16個(gè)按鍵功能,這也是在單片機(jī)系統(tǒng)中最常用的形式,本設(shè)計(jì)就采用這個(gè)鍵盤(pán)模式。圖1-1 鍵盤(pán)布局 隨著21世紀(jì)的到來(lái),資源危機(jī)接踵而至??焖傧碚麄€(gè)國(guó)家,這一狀況還將隨著時(shí)間的推移和社會(huì)的發(fā)展而更加嚴(yán)重。國(guó)家提倡資源節(jié)約型社會(huì),資源危機(jī)已成為全球性的突出問(wèn)題,利用科技手段緩解這一危機(jī),將是人類(lèi)主要的出路。 電子信息行業(yè)是人類(lèi)社會(huì)的高科技行業(yè)之一,是設(shè)施現(xiàn)代化的基礎(chǔ),也是人類(lèi)通往科技巔峰的直通路。電子行業(yè)的發(fā)展從長(zhǎng)遠(yuǎn)來(lái)看很重要,但最主要的還是科技問(wèn)題。國(guó)家設(shè)施的現(xiàn)代化的根本出路在于全面提高科技水平,現(xiàn)代的社會(huì)經(jīng)營(yíng)模式由傳統(tǒng)模式向現(xiàn)代化、高科技模式轉(zhuǎn)變,由粗放型向集約型方向轉(zhuǎn)變,必須要求科技有一個(gè)大的發(fā)展,進(jìn)行一次新的技術(shù)革命。矩陣式鍵盤(pán)提高效率進(jìn)行按鍵操作管理有效方法,它可以提高系統(tǒng)準(zhǔn)確性,有利于資源的節(jié)約,降低對(duì)操作者本身素質(zhì)的要求。是它能準(zhǔn)確、實(shí)時(shí)、高效地顯示按鍵信息,以提高工作效率和資源利用率。 隨著計(jì)算機(jī)技術(shù)和電子科技的迅猛發(fā)展,計(jì)算機(jī)和電子產(chǎn)品的價(jià)格日益降低,可靠性日益提高。本文旨在設(shè)計(jì)一套能對(duì)按鍵信息進(jìn)行自動(dòng)實(shí)時(shí)顯示的系統(tǒng)。1.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容本論文主要研究單片機(jī)控制的鍵盤(pán)識(shí)別顯示系統(tǒng),分別對(duì)按鍵信息和顯示電路以及軟、硬件各個(gè)部分進(jìn)行研究。主要內(nèi)容如下: 根據(jù)矩陣式鍵盤(pán)的特點(diǎn),進(jìn)行鍵盤(pán)控制系統(tǒng)的整體研究與設(shè)計(jì); LED實(shí)時(shí)顯示按鍵信息; 采用軟件編程的方法實(shí)現(xiàn)按鍵信息的提取和顯示。第2節(jié) 系統(tǒng)主要硬件電路設(shè)計(jì)2.1 單片機(jī)控制系統(tǒng)原理圖2-1 單片機(jī)控制系統(tǒng)原理框圖 22 單片機(jī)主機(jī)系統(tǒng)電路AT89C51單片機(jī)是51系列單片機(jī)的一個(gè)成員,是8051單片機(jī)的簡(jiǎn)化版。內(nèi)部自帶2K字節(jié)可編程FLASH存儲(chǔ)器的低電壓、高性能COMS八位微處理器,與Intel MCS-51系列單片機(jī)的指令和輸出管腳相兼容。由于將多功能八位CPU和閃速存儲(chǔ)器結(jié)合在單個(gè)芯片中,因此,AT89C2051構(gòu)成的單片機(jī)系統(tǒng)是具有結(jié)構(gòu)最簡(jiǎn)單、造價(jià)最低廉、效率最高的微控制系統(tǒng),省去了外部的RAM、ROM和接口器件,減少了硬件開(kāi)銷(xiāo),節(jié)省了成本,提高了系統(tǒng)的性?xún)r(jià)比。圖2-2 單片機(jī)主機(jī)系統(tǒng)圖2.2.1時(shí)鐘電路 時(shí)鐘信號(hào)用來(lái)提供單片機(jī)片內(nèi)各種微操作的時(shí)間基準(zhǔn),時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。MCS-51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時(shí),電路簡(jiǎn)單,所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)際使用中常采用這種方式,如圖2-2所示在其外接晶體振蕩器(簡(jiǎn)稱(chēng)晶振)或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構(gòu)成一個(gè)自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。 圖2-2中外接晶體以及電容C2和C3構(gòu)成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、快速起振的作用,其值為30pF左右,晶振頻率選11.0592MHz 。2.2.2復(fù)位電路 為了初始化單片機(jī)內(nèi)部的某些特殊功能寄存器,必須利用復(fù)位電路,復(fù)位后可使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開(kāi)始正常工作。 單片機(jī)的復(fù)位是靠外電路來(lái)實(shí)現(xiàn)的,在正常運(yùn)行情況下,只要RST引腳上出現(xiàn)兩個(gè)機(jī)器周期時(shí)間以上的高電平,即可引起系統(tǒng)復(fù)位,但如果RST引腳上持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H, SBUF內(nèi)置為不定值,其余的寄存器全部清0,內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時(shí)RAM的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(dòng)(開(kāi)關(guān))復(fù)位。本系統(tǒng)采用上電復(fù)位方式。圖2-2中R1和Cl組成上電復(fù)位電路,其值R取為1K, C取為10pF。2.2.3 矩陣式鍵盤(pán)電路 AT89C51單片機(jī)的并行口P1接44矩陣鍵盤(pán),以P1.0P1.3作輸入線(xiàn),以P1.4P1.7作輸出線(xiàn);P1口輸出按鍵信息,在數(shù)碼管上顯示每個(gè)按鍵的“0F”序號(hào)。實(shí)際電路圖連接如圖2-4所示。圖2-3 矩陣式鍵盤(pán)電路2.3 譯碼顯示電路譯碼電路中常用的顯示器有LED(數(shù)碼管)和LCD(液晶顯示器)。這兩種顯示器都具有線(xiàn)路簡(jiǎn)單、耗電少、成本低、壽命長(zhǎng)等優(yōu)點(diǎn)。本系統(tǒng)輸出結(jié)果選用1個(gè)LED顯示。數(shù)碼管有共陰共陽(yáng)之分,本系統(tǒng)采用8段共陰型LED,其原理圖如圖2-5所示。數(shù)碼管內(nèi)部有8個(gè)發(fā)光二極管,公共端由8個(gè)發(fā)光二極管的陰極并接而成,正常顯示時(shí)公共端接低電平(GND),各發(fā)光二極管是否點(diǎn)亮取決于a-dp各引腳上是否是高電平。 LED數(shù)碼管的外形結(jié)構(gòu)如圖2-4,外部有10個(gè)引腳,其中3, 8腳為公共端也稱(chēng)位選端,其余8個(gè)引腳稱(chēng)為段選端,當(dāng)要使某一位數(shù)碼管顯示某一數(shù)字(0-9中的一個(gè))必須在這個(gè)數(shù)碼管的段選端加上與數(shù)字顯示數(shù)字對(duì)應(yīng)的8位段選碼(也稱(chēng)字形碼),在位選端加上低電平即可。由于系統(tǒng)要顯示的內(nèi)容比較簡(jiǎn)單,顯示量不多,所以選用數(shù)碼管既方便又經(jīng)濟(jì)。LED有共陰極和共陽(yáng)極兩種。如圖3-1所示。二極管的陰極連接在一起,通常此公共陰極接地,而共陽(yáng)極則將發(fā)光二極管的陽(yáng)極連接在一起,接入+5V的電壓。一位顯示器由8個(gè)發(fā)光二極管組成,其中7個(gè)發(fā)光二極管構(gòu)成字型“8”的各個(gè)筆劃(段)ag,另一個(gè)小數(shù)點(diǎn)為dp發(fā)光二極管。當(dāng)在某段發(fā)光二極管施加一定的正向電壓時(shí),該段筆劃即亮;不加電壓則暗。 符號(hào)和引腳 共陽(yáng)極 共陰極圖2-4 LED數(shù)碼管結(jié)構(gòu)圖2-5 譯碼顯示電路當(dāng)無(wú)按鍵閉合時(shí),P1.0-P1.3與P1.4-P1.7之間開(kāi)路。當(dāng)有鍵閉合時(shí),與閉合鍵相連的兩條I/O口線(xiàn)之間短路。判斷有無(wú)按鍵按下的方法是:第一步,置列線(xiàn)P1.4-P1.7為輸入狀態(tài),從行線(xiàn)P1.0-P1.3輸出低電平,讀入列線(xiàn)數(shù)據(jù),若某一列線(xiàn)為低電平,則該列線(xiàn)上有鍵閉合。第二步,行線(xiàn)輪流輸出低電平,從列線(xiàn)P1.4-P1.7讀入數(shù)據(jù),若有某一列為低電平,則對(duì)應(yīng)行線(xiàn)上有鍵按下。綜合一二兩步的結(jié)果,可確定按鍵編號(hào)。但是鍵閉合一次只能進(jìn)行一次鍵功能操作,因此須等到按鍵釋放后,再進(jìn)行鍵功能操作,否則按一次鍵,有可能會(huì)連續(xù)多次進(jìn)行同樣的鍵操作。由于本顯示電路功能簡(jiǎn)單,為使編程簡(jiǎn)單,采用直接輸出模式,即把P0.0P0.7端口用8芯排線(xiàn)連接到數(shù)碼顯示模塊區(qū)域中的ah端口上,要求:P0.0對(duì)應(yīng)著a,P0.1對(duì)應(yīng)著b,P0.7對(duì)應(yīng)著h。表2-1 LED顯示段碼字型共陽(yáng)極段共陰極段字型共陽(yáng)極段共陰極段0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H第3節(jié) 系統(tǒng)的軟件設(shè)計(jì)3.1 軟件流程圖開(kāi)始 鍵盤(pán)值初始化讀列線(xiàn)是否有鍵按下 N 延時(shí)去抖動(dòng) Y讀列是否有按鍵按下 N 根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵 Y 顯示鍵值圖3-1 軟件設(shè)計(jì)流程圖32 系統(tǒng)程序設(shè)計(jì)KEYBUF EQU 30H ORG 00HSTART: MOV KEYBUF,#2WAIT: MOV P3,#0FFH CLR P3.4 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK1 MOV KEYBUF,#0 LJMP DK1NK1: CJNE A,#0DH,NK2 MOV KEYBUF,#1 LJMP DK1NK2: CJNE A,#0BH,NK3 MOV KEYBUF,#2 LJMP DK1NK3: CJNE A,#07H,NK4 MOV KEYBUF,#3 LJMP DK1NK4: NOPDK1: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,ADK1A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK1ANOKEY1: MOV P3,#0FFH CLR P3.5 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK5 MOV KEYBUF,#4 LJMP DK2NK5: CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2NK6: CJNE A,#0BH,NK7 MOV KEYBUF,#6 LJMP DK2NK7: CJNE A,#07H,NK8 MOV KEYBUF,#7 LJMP DK2NK8: NOPDK2: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,ADK2A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK2ANOKEY2: MOV P3,#0FFH CLR P3.6 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK9 MOV KEYBUF,#8 LJMP DK3NK9: CJNE A,#0DH,NK10 MOV KEYBUF,#9 LJMP DK3NK10: CJNE A,#0BH,NK11 MOV KEYBUF,#10 LJMP DK3NK11: CJNE A,#07H,NK12 MOV KEYBUF,#11 LJMP DK3NK12: NOPDK3: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,ADK3A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK3ANOKEY3: MOV P3,#0FFH CLR P3.7 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK13 MOV KEYBUF,#12 LJMP DK4NK13: CJNE A,#0DH,NK14 MOV KEYBUF,#13 LJMP DK4NK14: CJNE A,#0BH,NK15 MOV KEYBUF,#14 LJMP DK4NK15: CJNE A,#07H,NK16 MOV KEYBUF,#15 LJMP DK4NK16: NOPDK4: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,ADK4A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK4ANOKEY4: LJMP WAITDELY10MS: MOV R6,#10D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;數(shù)碼管譯碼表 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HEND 通過(guò)此次的單片機(jī)課程設(shè)計(jì),我不僅加深了對(duì)單片機(jī)理論的理解,深刻懂得了要不斷地時(shí)間才能掌握知識(shí),而且還學(xué)會(huì)了如何去加強(qiáng)鍛煉創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們將理論很好地聯(lián)系實(shí)際,并不斷地去

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論