




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機課程設(shè)計論文設(shè)計題目:鍵盤按鍵識別及l(fā)ed數(shù)碼顯示系 院:信息工程學(xué)院專 業(yè):09計算機應(yīng)用技術(shù)姓 名:xxx學(xué) 號:2009010220指導(dǎo)老師:xxx目錄第1節(jié) 課程設(shè)計任務(wù)書3第2節(jié) 引言52.1 4*4矩陣式鍵盤系統(tǒng)概述52.2 本設(shè)計任務(wù)和主要內(nèi)容6第3節(jié) 系統(tǒng)主要硬件電路設(shè)計7 3.1 單片機控制系統(tǒng)原理73.2 單片機主機系統(tǒng)電路7 3.3 矩陣式鍵盤電路8 3.4 譯碼顯示電路8第4節(jié) 系統(tǒng)的軟件設(shè)計11第5節(jié) 課程設(shè)計心得體會 16 參考文獻16第一節(jié) 課程設(shè)計任務(wù)書南 昌 工 程 學(xué) 院課程設(shè)計(論文)任務(wù)書1、 一、課程設(shè)計(論文)題目:鍵盤按鍵識別及l(fā)ed數(shù)碼顯示
2、二、課程設(shè)計(論文)使用的原始資料(數(shù)據(jù))及設(shè)計技術(shù)要求:利用實驗箱上的鍵盤,編寫鍵盤掃描程序。1 編寫鍵盤掃描程序,識別按鍵2 對識別的按鍵賦予一定的定義,在led數(shù)碼管上顯示要求:1 畫出邏輯硬件圖2 畫出程序流程圖,設(shè)計出程序并通過檢查。三、課 程 設(shè)計(論文)工作內(nèi)容及完成時間:6.13-6.17查閱資料,畫出邏輯圖及流程圖6.20-6.24 軟件編制、調(diào)試、完成課程設(shè)計四、主 要參考資料: 1. 嵌入式技術(shù)基礎(chǔ)與實踐 王宜懷 清華大學(xué)出版社 2 郁文工作室,嵌入式c語言程序設(shè)計使用mcs51m.北京:人民郵電出版社,2006 信息工程學(xué)院 系 09計算機應(yīng)用技術(shù) 專業(yè) 1 班學(xué)生:
3、xxx 日期: 自 2011 年 6 月 13 日至 2011 年 6 月 24 日指導(dǎo)教師: xxx 助理指導(dǎo)教師(并指出所負責(zé)的部分):教研室: 教研室主任: 第二節(jié) 引言引言矩陣式鍵盤乃是當(dāng)今使用最為廣泛的鍵盤模式,該系統(tǒng)以n個端口連接控制n*n個按鍵,即時在led數(shù)碼管上。單片機控制的據(jù)這是鍵盤顯示系統(tǒng),該系統(tǒng)可以對不同的按鍵進行實時顯示,其核心是單片機和鍵盤矩陣電路部分,主要對按鍵與顯示電路的關(guān)系、矩陣式技術(shù)及設(shè)備系統(tǒng)的硬件、軟件等各個部分進行實現(xiàn)。4*4矩陣式鍵盤采用at89s51單片機為核心,主要由矩陣式鍵盤電路、譯碼電路、顯示電路等組成,軟件選用匯編語言編程。單片機將檢測到的按
4、鍵信號轉(zhuǎn)換成數(shù)字量,顯示于led顯示器上。該系統(tǒng)靈活性強,易于操作,可靠性高,將會有更廣闊的開發(fā)前景。2.1 4*4矩陣式鍵盤識別顯示系統(tǒng)概述矩陣式鍵盤模式以n個端口連接控制n*n個按鍵,實時在led數(shù)碼管上顯示按鍵信息。顯示按鍵信息,既降低了成本,又提高了精確度,省下了很多的i/o端口為他用,相反,獨立式按鍵雖編程簡單,但占用i/o口資源較多,不適合在按鍵較多的場合應(yīng)用。并且在實際應(yīng)用中經(jīng)常要用到輸入數(shù)字、字母、符號等操作功能,如電子密碼鎖、電話機鍵盤、計算器按鍵等,至少都需要12到16個按鍵,在這種情況下如果用獨立式按鍵的話,顯然太浪費i/o端口資源,為了解決這一問題,我們使用矩陣式鍵盤。
5、矩陣式鍵盤簡介:矩陣式鍵盤又稱行列鍵盤,它是用n條i/o線作為行線,n條i/o線作為列線組成的鍵盤。在行線和列線的每個交叉點上設(shè)置一個按鍵。這樣鍵盤上按鍵的個數(shù)就為n*n個。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機系統(tǒng)中i/o口的利用率。最常見的鍵盤布局如圖1-1所示。一般由16個按鍵組成,在單片機中正好可以用一個p口實現(xiàn)16個按鍵功能,這也是在單片機系統(tǒng)中最常用的形式,本設(shè)計就采用這個鍵盤模式。如圖1-1所示圖2-1 鍵盤布局隨著21世紀(jì)的到來,資源危機接踵而至??焖傧碚麄€國家,這一狀況還將隨著時間的推移和社會的發(fā)展而更加嚴(yán)重。國家提倡資源節(jié)約型社會,資源危機已成為全球性的突出問題,利用科技手
6、段緩解這一危機,將是人類主要的出路。 電子信息行業(yè)是人類社會的高科技行業(yè)之一,是設(shè)施現(xiàn)代化的基礎(chǔ),也是人類通往科技巔峰的直通路。電子行業(yè)的發(fā)展從長遠來看很重要,但最主要的還是科技問題。國家設(shè)施的現(xiàn)代化的根本出路在于全面提高科技水平,現(xiàn)代的社會經(jīng)營模式由傳統(tǒng)模式向現(xiàn)代化、高科技模式轉(zhuǎn)變,由粗放型向集約型方向轉(zhuǎn)變,必須要求科技有一個大的發(fā)展,進行一次新的技術(shù)革命。矩陣式鍵盤提高效率進行按鍵操作管理有效方法,它可以提高系統(tǒng)準(zhǔn)確性,有利于資源的節(jié)約,降低對操作者本身素質(zhì)的要求。是它能準(zhǔn)確、實時、高效地顯示按鍵信息,以提高工作效率和資源利用率。 隨著計算機技術(shù)和電子科技的迅猛發(fā)展,計算機和電子產(chǎn)品的價格
7、日益降低,可靠性日益提高。本文旨在設(shè)計一套能對按鍵信息進行自動實時顯示的系統(tǒng)。2.2 本設(shè)計任務(wù)和主要內(nèi)容本論文主要研究單片機控制的鍵盤識別顯示系統(tǒng),分別對按鍵信息和顯示電路以及軟、硬件各個部分進行研究。主要內(nèi)容如下: 根據(jù)矩陣式鍵盤的特點,進行鍵盤控制系統(tǒng)的整體研究與設(shè)計; led實時顯示按鍵信息(顯示按鍵的坐標(biāo)); 采用軟件編程的方法實現(xiàn)按鍵信息的提取和顯示。第三節(jié) 系統(tǒng)主要硬件電路設(shè)計3.1 單片機控制系統(tǒng)原理圖3-1 單片機控制系統(tǒng)原理框圖 32 單片機主機系統(tǒng)電路at89c51單片機是51系列單片機的一個成員,是8051單片機的簡化版。內(nèi)部自帶2k字節(jié)可編程flash存儲器的低電壓、
8、高性能coms八位微處理器,與intel mcs-51系列單片機的指令和輸出管腳相兼容。由于將多功能八位cpu和閃速存儲器結(jié)合在單個芯片中,因此,at89c2051構(gòu)成的單片機系統(tǒng)是具有結(jié)構(gòu)最簡單、造價最低廉、效率最高的微控制系統(tǒng),省去了外部的ram、rom和接口器件,減少了硬件開銷,節(jié)省了成本,提高了系統(tǒng)的性價比。圖3-2 仿真原理圖3.3 矩陣式鍵盤電路 at89c51單片機的并行口p1接44矩陣鍵盤,以p1.0p1.3作輸入線,以p1.4p1.7作輸出線;p1口輸出按鍵信息,在數(shù)碼管上顯示每個按鍵的“0f”序號。實際電路圖連接如圖2-4所示。圖3-3 矩陣式鍵盤電路3.4 譯碼顯示電路譯
9、碼電路中常用的顯示器有l(wèi)ed(數(shù)碼管)和lcd(液晶顯示器)。這兩種顯示器都具有線路簡單、耗電少、成本低、壽命長等優(yōu)點。本系統(tǒng)輸出結(jié)果選用2個led顯示。數(shù)碼管有共陰共陽之分,本系統(tǒng)采用8段共陽型led,其原理圖如圖3-5所示。數(shù)碼管內(nèi)部有8個發(fā)光二極管,公共端由8個發(fā)光二極管的陰極并接而成,正常顯示時公共端接低電平(gnd),各發(fā)光二極管是否點亮取決于a-dp各引腳上是否是高電平。 led數(shù)碼管的外形結(jié)構(gòu)如圖3-4,外部有10個引腳,其中3, 8腳為公共端也稱位選端,其余8個引腳稱為段選端,當(dāng)要使某一位數(shù)碼管顯示某一數(shù)字(0-9中的一個)必須在這個數(shù)碼管的段選端加上與數(shù)字顯示數(shù)字對應(yīng)的8位段
10、選碼(也稱字形碼),在位選端加上低電平即可。由于系統(tǒng)要顯示的內(nèi)容比較簡單,顯示量不多,所以選用數(shù)碼管既方便又經(jīng)濟。led有共陰極和共陽極兩種。如圖3-4所示。二極管的陰極連接在一起,通常此公共陰極接地,而共陽極則將發(fā)光二極管的陽極連接在一起,接入+5v的電壓。一位顯示器由8個發(fā)光二極管組成,其中7個發(fā)光二極管構(gòu)成字型“8”的各個筆劃(段)ag,另一個小數(shù)點為dp發(fā)光二極管。當(dāng)在某段發(fā)光二極管施加一定的正向電壓時,該段筆劃即亮;不加電壓則暗。 符號和引腳 共陽極 共陰極圖3-4 led數(shù)碼管結(jié)構(gòu)圖3-5 譯碼顯示電路當(dāng)無按鍵閉合時,p1.0-p1.3與p1.4-p1.7之間開路。當(dāng)有鍵閉合時,與
11、閉合鍵相連的兩條i/o口線之間短路。判斷有無按鍵按下的方法是:第一步,置列線p1.0 -p1.3為輸入狀態(tài),從行線p1.4-p1.7輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。第二步,行線輪流輸出低電平,從列線p1.0-p1.3讀入數(shù)據(jù),若有某一列為低電平,則對應(yīng)行線上有鍵按下。綜合一二兩步的結(jié)果,可確定按鍵編號。但是鍵閉合一次只能進行一次鍵功能操作,因此須等到按鍵釋放后,再進行鍵功能操作,否則按一次鍵,有可能會連續(xù)多次進行同樣的鍵操作。由于本顯示電路功能簡單,為使編程簡單,采用直接輸出模式,即把p2.0p2.6端口用8芯排線連接到數(shù)碼顯示模塊區(qū)域中的ag端口上,要求:p
12、2.0對應(yīng)著a,p2.1對應(yīng)著b,p2.6對應(yīng)著g。將行列分別送到兩個數(shù)碼管,顯示按鍵的坐標(biāo)。第四節(jié) 系統(tǒng)的軟件設(shè)計4.1 軟件流程圖開始 鍵盤值初始化讀列線是否有鍵按下 n 延時去抖動 y讀列是否有按鍵按下 n 根據(jù)當(dāng)前狀態(tài)識別按鍵 y 顯示按鍵坐標(biāo)圖3-1 軟件設(shè)計流程圖42 系統(tǒng)程序設(shè)計#include #define uchar unsigned char /宏的定義變量類型 uchar 代替 unsigned char#define uint unsigned int /宏的定義變量類型 uint 代替 unsigned intuchar dis_buf,dis_buf1; /顯示緩
13、存uchar temp;uchar l,h; /鍵順序嗎void delay0(uchar x); /x*0.14ms/ 此表為 led 的字模 0 12 3 4 56 78 9 a b cd e funsigned char code led7code = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/* * 延時子程序 * */void delay(uchar x) uchar j; while(x-)!=0) /cpu執(zhí)行x*12次,x=10 for(j=0;j4)|0xf
14、0); if(temp=1) / p1.4 被拉低 h=1; else if(temp=2) / p1.5 被拉低 h=2; else if(temp=4) / p1.6 被拉低 h=3; else if(temp=8) / p1.7 被拉低 h=4; dis_buf = h; dis_buf = dis_buf & 0x0f; / else / key=16; p1=0x0f; /低四位輸入 列為高電平 行為低電平 delay(1); /延時temp=p1; /讀p1口 temp=temp&0x0f; temp=(temp|0xf0);if(temp=1) /p1.0 被拉低 l=1; el
15、se if(temp=2) /p1.1 被拉低 l=2; else if(temp=4) /p1.2 被拉低 l=3; else if(temp=8)/p1.3 被拉低 l=4; /else / key=16; dis_buf1= l; /鍵值入顯示緩存 dis_buf1= dis_buf1 & 0x0f; /* *判斷鍵是否按下 * */ void keydown(void) p2=0xf0; p3=0xf0; /將高4位全部置1 低四位全部置0if(p1!=0xf0) /判斷按鍵是否按下 如果按鈕按下 會拉低p1其中的一個端口 keyscan(); /調(diào)用按鍵掃描程序 /* * 主程序 *
16、 */ main() p1=0xff; /置p0口 p2=0xff; p3=0xff; /置p1口 delay(10); /延時 while(1) keydown(); /調(diào)用按鍵判斷檢測程序 p2 = led7codedis_buf%16&0x7f; p3= led7codedis_buf1%16&0x7f; /led7 0x7f為小數(shù)點 共陰和共陽此處也是不一樣; %16表示輸出16進制 delay(150); 第五節(jié) 課程設(shè)計心得體會 通過此次的單片機課程設(shè)計,我不僅加深了對單片機理論的理解,深刻懂得了要不斷地時間才能掌握知識,而且還學(xué)會了如何去加強鍛煉創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越
17、自己。創(chuàng)新,是要我們將理論很好地聯(lián)系實際,并不斷地去開動自己的腦子,從為先到并做到別人沒想到?jīng)]做到的事,不斷地超越別人,超越自己;同時,更重要的是,在這一設(shè)計過程中,我懂得了堅持不懈,不輕易言棄是每個理工科學(xué)子應(yīng)具備的良好素質(zhì)。設(shè)計過程,也好比是我們的成長的歷程,常有一些不如意的事情發(fā)生,這就對我們提出了挑戰(zhàn)。只要自己堅持,堅持,再堅持,再苦再累也值得。 機遇青睞有準(zhǔn)備的人。這個設(shè)計過程中,我遇到過許多的考驗,給整個設(shè)計帶來的困擾,真想要就此放棄,然而,我還是挺了過來,回頭想想這個設(shè)計的過程,我明白了,原來結(jié)果并不是那么得重要,我們更應(yīng)該注重的是過程。 系統(tǒng)以單片機at89c51為核心部件,單片機系統(tǒ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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村家庭教育現(xiàn)狀與挑戰(zhàn)
- 2024年監(jiān)理工程師考試挑戰(zhàn)解析試題及答案
- 學(xué)生宿舍安全教育
- 安全試講課件
- 課堂教學(xué)反思記錄計劃
- 可持續(xù)發(fā)展理念在管理中的實踐計劃
- 倉庫盤點工作的周密計劃
- 提升品牌可信度的方法與案例計劃
- 多樣化市場需求下的生產(chǎn)適應(yīng)策略計劃
- 資源整合與共享計劃
- 天津市河?xùn)|區(qū)2024-2025學(xué)年九年級下學(xué)期結(jié)課考試化學(xué)試題(含答案)
- 動物疾病的臨床表現(xiàn)試題及答案
- 廣東省廣州市2025屆高三下學(xué)期綜合測試(一)英語試卷
- 山東省濟南育英中學(xué) 2024-2025學(xué)年下學(xué)期七年級3月月考英語試題(原卷版+解析版)
- T-SDFA 049-2024 混合型飼料添加劑中安普霉素的測定 液相色譜-串聯(lián)質(zhì)譜法
- 2025技術(shù)服務(wù)合同模板
- 公司事故隱患內(nèi)部報告獎勵制度
- 2025年甘肅甘南州國控資產(chǎn)投資管理集團有限公司面向社會招聘工作人員12人筆試參考題庫附帶答案詳解
- 2025年高考數(shù)學(xué)第一次模擬考試(江蘇卷1)(全解全析)
- 2025年中級維修電工(四級)技能認定理論考試指導(dǎo)題庫(含答案)
- 2025廣東深圳證券信息有限公司人員招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論