4 4掃描式矩陣鍵盤(pán)設(shè)計(jì).doc_第1頁(yè)
4 4掃描式矩陣鍵盤(pán)設(shè)計(jì).doc_第2頁(yè)
4 4掃描式矩陣鍵盤(pán)設(shè)計(jì).doc_第3頁(yè)
4 4掃描式矩陣鍵盤(pán)設(shè)計(jì).doc_第4頁(yè)
4 4掃描式矩陣鍵盤(pán)設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、湖南科技大學(xué)本科生課程設(shè)計(jì) 湖 南 科 技 大 學(xué)單 片 機(jī) 課 程 設(shè) 計(jì) 題 目 _ 4*4矩陣鍵盤(pán)_ 姓 名 _楊澤偉_學(xué) 院 _機(jī)電工程學(xué)院_專 業(yè) _測(cè)控技術(shù)與儀器_學(xué) 號(hào) _0703030204_指導(dǎo)教師 _戴巨川_成 績(jī) _二一二年五月二十九日制摘 要 隨著21世紀(jì)的到來(lái),電子信息行業(yè)將是人類社會(huì)的高科技行業(yè)之一,式設(shè)施現(xiàn)代化的基礎(chǔ),也是人類通往科技巔峰的直通路。電子行業(yè)的發(fā)展從長(zhǎng)遠(yuǎn)來(lái)看很重要,但最主要的還是科技問(wèn)題。 矩陣式鍵盤(pán)提高效率進(jìn)行按鍵操作管理有效方法,它可以提高系統(tǒng)準(zhǔn)確性,有利于資源的節(jié)約,降低對(duì)操作者本身素質(zhì)的要求。是它能準(zhǔn)時(shí)、實(shí)時(shí)、高效地顯示按鍵信息,以提高工作效

2、率和資源利用率。 矩陣式鍵盤(pán)乃是當(dāng)今使用最為廣泛的鍵盤(pán)模式,該系統(tǒng)以n個(gè)端口連接控制n*n個(gè)按鍵,顯示在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)采用at89c51單片機(jī)為核心,主要由矩陣式鍵盤(pán)電路、譯碼電路、顯示電路等組成,軟件選用c語(yǔ)言編程。單片機(jī)將檢測(cè)到的按鍵信號(hào)轉(zhuǎn)換成數(shù)字量,顯示于led顯示器上。該系統(tǒng)靈活性強(qiáng),易于操作,可靠性高,將會(huì)有更廣闊的開(kāi)發(fā)前景。目 錄第一章:系統(tǒng)功能要求-1.1 4*4 矩陣式鍵盤(pán)系統(tǒng)概

3、述-1.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容-第二章:方案論證-第三章:系統(tǒng)硬件電路的設(shè)計(jì)- 3.1 單片機(jī)控制系統(tǒng)原理- 3.2 原理圖繪制說(shuō)明- 3.3 畫(huà)出流程圖- 3.4 原理圖繪制-第四章:系統(tǒng)程序的設(shè)計(jì)- 4.1 程序的編寫(xiě)步驟- 4.2 編寫(xiě)的源程序-第五章:調(diào)試及性能分析-第六章:心得體會(huì)-參考文獻(xiàn)-第一章:系統(tǒng)功能要求1.1 4*4 矩陣式鍵盤(pán)系統(tǒng)概述 at89c51單片機(jī)對(duì)4*4矩陣鍵盤(pán)進(jìn)行動(dòng)態(tài)掃描,當(dāng)有按鍵盤(pán)的鍵時(shí),可將相應(yīng)按鍵值(0f)實(shí)時(shí)顯示在數(shù)碼管上。 由p1.0p1.3(列)和p1.4p1.7(行)組成4*4矩陣鍵盤(pán),p0口接led靜態(tài)顯示電路。由于p0口內(nèi)部無(wú)上拉電阻,因此

4、必須外部接上上拉電阻,其值的選擇可以根據(jù)led數(shù)碼管發(fā)光電流及其亮度來(lái)決定。通過(guò)編寫(xiě)4*4鍵盤(pán)的驅(qū)動(dòng)程序,當(dāng)有鍵盤(pán)按下時(shí),能夠在數(shù)碼管顯示器與按鍵的鍵值對(duì)應(yīng)的數(shù)字。0321 最常見(jiàn)鍵盤(pán)布局如下圖1.1所示。一般由16個(gè)按鍵組成,在單片機(jī)中正好可以用一個(gè)p口實(shí)現(xiàn)16個(gè)按鍵功能,這也是單片機(jī)系統(tǒng)中最常見(jiàn)的形式,本設(shè)計(jì)就采用這個(gè)鍵盤(pán)模式。45678b9afcde圖1.11.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容 本論文主要研究單片機(jī)控制的鍵盤(pán)識(shí)別顯示系統(tǒng),分別對(duì)按鍵信息和顯示電路以及軟、硬件各個(gè)部分進(jìn)行研究。 主要內(nèi)容如下:1.2.1 根據(jù)矩陣式鍵盤(pán)的特點(diǎn),進(jìn)行鍵盤(pán)控制系統(tǒng)的整體研究與設(shè)計(jì);1.2.2 熟練掌握p

5、rotues軟件的使用,并能夠按要求對(duì)設(shè)計(jì)的電路進(jìn)行仿真,實(shí)現(xiàn)相應(yīng)的功能;1.2.3 led實(shí)時(shí)顯示按鍵的信息;1.2.4 采用軟件編程的方法實(shí)現(xiàn)按鍵信息的提取和顯示。第二章:方案論證2.1 用proteus 仿真軟件進(jìn)行仿真 2.1.1 按照設(shè)計(jì)任務(wù)在proteus 7professional 中繪制電路原理圖。 2.1.2 根據(jù)設(shè)計(jì)任務(wù)的要求編寫(xiě)程序,畫(huà)出程序流程圖,并在proteus下進(jìn)行仿真,實(shí)現(xiàn)相應(yīng)功能。 2.1.3 以at89c51為核心,設(shè)計(jì)系統(tǒng)硬件電路,并根據(jù)所設(shè)計(jì)的電路制作實(shí)物。第三章:系統(tǒng)硬件電路的設(shè)計(jì)3.1 原理圖繪制說(shuō)明 3.1.1 用at89c51單片機(jī)對(duì)4*4矩陣鍵

6、盤(pán)進(jìn)行動(dòng)態(tài)掃描,當(dāng)按鍵盤(pán)的鍵時(shí),可以將相應(yīng)的按鍵值(0f)實(shí)時(shí)顯示在數(shù)碼管上。4*4矩陣鍵盤(pán)是用4條i/o線作為行線,4條i/o線作為列線,在行線和列線的交叉點(diǎn)上設(shè)置一個(gè)按鍵,每個(gè)按鍵有它的行值和列值。 3.1.2 在“單片機(jī)系統(tǒng)”區(qū)域中,把單片機(jī)的p1.0p1.7端口通過(guò)8聯(lián)撥動(dòng)撥碼開(kāi)關(guān)連接到“44行列式鍵盤(pán)”區(qū)域的相應(yīng)端口上。 3.1.3 在“單片機(jī)系統(tǒng)”區(qū)域中,把單片機(jī)的p0.0p0.7端口連接到“靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任何一個(gè)ag端口上;要求:p0.0對(duì)應(yīng)著a,p0.1對(duì)應(yīng)著b,p0.6對(duì)應(yīng)著g。3.2 畫(huà)出流程圖 流程開(kāi)始先對(duì)第一列進(jìn)行掃描,如果沒(méi)有按鍵,再對(duì)第二列、第三列、第四

7、列分別進(jìn)行掃描,如果沒(méi)有返回到開(kāi)始;如果第一列有按鍵,分別對(duì)第一行、第二行、第三行、第四行進(jìn)行掃描,若有按鍵按下分別顯示0、1、2、3;第二列、第三列、第四列類似第一列,分別對(duì)第一行、第二行、第三行、第四行進(jìn)行掃描,有按鍵相應(yīng)的顯示出數(shù)值。判斷有無(wú)按鍵按下的方法是:第一步,置列線p1.4p1.7為輸入狀態(tài),從行線p1.0p1.3輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。第二步,行線輪流輸出低電平,從列線p1.4p1.7讀入數(shù)據(jù),若有某一列為低電平,則對(duì)應(yīng)行線上有按鍵按下。綜合一二兩步的結(jié)果,可以確定按鍵的編號(hào)。但是鍵閉合一次只能進(jìn)行一次鍵功能操作,因此必須等到按鍵釋放后

8、,再進(jìn)行鍵功能操作,否則按鍵一次,有可能會(huì)連續(xù)多次進(jìn)行同樣的操作。流程圖如下: 開(kāi) 始掃描一行 掃描一列掃描下一行 掃描下一行 該行該列是否有按鍵按下 延時(shí)去抖 y四列全部掃描完? n 掃描下一行再次掃描原列 掃描下一行 n 四行全部掃描完?是否與原值相符? n 返回表示無(wú)鍵按下 釋放按鍵 y n y y 根據(jù)行列號(hào)求鍵值 根據(jù)鍵值查詢數(shù)碼顯示值表 返 回圖3.13.3 原理圖繪制 3.3.1 打開(kāi)protrus仿真軟件,進(jìn)入主界面,然后新建一個(gè)圖紙文件,軟件默認(rèn)為a4紙張,符合我們的要求,所以不需要修改。 3.3.2 開(kāi)始繪圖,點(diǎn)擊按鈕p,彈出選擇添加的器件框圖,在keywords里直接輸入

9、所需器件的名稱或者在category的下面各個(gè)選項(xiàng)里一次查找所需的器件名稱,然后點(diǎn)擊ok將所需器件添加進(jìn)去。 3.3.3 依次添加at89c51芯片,共陽(yáng)極的7段數(shù)碼管,16個(gè)按鍵,8個(gè)電阻r0r7,一個(gè)晶片,3個(gè)電容,地及電源。 3.3.4 按照設(shè)計(jì)的要求正確的連接電路,連接時(shí)注意管腳的分配及at89c51的工作原理。 3.3.5 對(duì)連接好的電路圖進(jìn)行仿真,如果有錯(cuò)誤要先按下暫停,然后對(duì)電路進(jìn)一步的調(diào)整與修改,再進(jìn)行仿真,保存原理圖文件。 用protrus仿真軟件所畫(huà)的仿真圖如下:圖3.2 仿真原理圖第4章 :系統(tǒng)程序的設(shè)計(jì)4.1 程序的編寫(xiě)步驟 4.1.1 判斷是否有鍵按下; 4.1.2

10、識(shí)別被按下的鍵; 4.1.3 查數(shù)碼顯示編碼表;4.2 編寫(xiě)的源程序#include#define uchar unsigned char /數(shù)據(jù)類型的宏定義#define uint unsigned int /數(shù)據(jù)類型的宏定義sbit p07=p21;unsigned; chart code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf; /共陽(yáng)數(shù)碼管顯示字型碼數(shù)組 1011 1111 -void delay1ms(uint i)uchar j;while(

11、i-) for(j=0;j115;j+) /1ms基準(zhǔn)延時(shí)程序 ; void display(unsigned char i) p07=1; /選通最有端的數(shù)碼管顯示 p0=tablei; /顯示i參數(shù)傳來(lái)的字型碼 void main(void) unsigned char temp; display(16); /初始顯示 - while(1) /p1=0xff; /先向p1口寫(xiě)1;端口讀狀態(tài) p1=0xf0; temp=p1; if(temp!=0xf0) delay1ms(15); if(temp!=0xf0) p1=0xfe; temp=p1; switch(temp) case(0xe

12、e):display(0);break; case(0xde):display(4);break; case(0xbe):display(8);break; case(0x7e):display(12);break; p1=0xfd; temp=p1; switch(temp) case(0xed):display(1);break; case(0xdd):display(5);break; case(0xbd):display(9);break; case(0x7d):display(13);break; p1=0xfb; temp=p1; switch(temp) case(0xeb):d

13、isplay(2);break; case(0xdb):display(6);break; case(0xbb):display(10);break; case(0x7b):display(14);break; p1=0xf7; temp=p1; switch(temp) case(0xe7):display(3);break; case(0xd7):display(7);break; case(0xb7):display(11);break; case(0x77):display(15);break; 第5章 :調(diào)試及性能分析 5.1 仿真結(jié)果:將此程序在匯編器中生成的“.hex”文件,導(dǎo)入

14、at89c51芯片中,用鼠標(biāo)右鍵點(diǎn)擊at89c51,然后點(diǎn)鼠標(biāo)左鍵,彈出編輯元件的框圖,在programfile里添加.hex文件,再點(diǎn)ok。 5.2 點(diǎn)擊“開(kāi)始”按鍵,進(jìn)行仿真,點(diǎn)擊右邊4*4按鍵,則數(shù)碼管顯示0f,仿真結(jié)果符合實(shí)驗(yàn)要求,仿真結(jié)果如下圖所示:圖5.1 仿真結(jié)果顯示圖(圖中顯示4) 5.3 系統(tǒng)實(shí)現(xiàn)的功能5.3.1 基本功能:通過(guò)鍵盤(pán)輸入,在數(shù)碼管上顯示相應(yīng)的數(shù)值;5.3.2 功能優(yōu)勢(shì):鍵盤(pán)輸入,單片機(jī)控制,數(shù)碼管顯示,在數(shù)碼管連接方面克服了共陽(yáng)極數(shù)碼管顯示不清晰的困難。第6章 :心得體會(huì) 通過(guò)本次單片機(jī)課程設(shè)計(jì),我不僅加深了對(duì)單片機(jī)理論知識(shí)的理解,學(xué)會(huì)了學(xué)以致用的重要性;而且

15、還學(xué)會(huì)了如何去加強(qiáng)鍛煉創(chuàng)新精神,同時(shí)也提高了自身的動(dòng)手能力,讓我深刻的意識(shí)到理論與實(shí)際結(jié)合的重要性。 在本次設(shè)計(jì)過(guò)程中,雖然設(shè)計(jì)的題目不是很難,但在實(shí)際操作過(guò)程當(dāng)中也遇到了不少困難,通過(guò)遇到的困難也讓我不斷地去查找資料,不斷地區(qū)詢問(wèn)同學(xué),不斷地去開(kāi)動(dòng)自己的腦子,從而也不斷地超越自我,讓自己的知識(shí)能夠得到不斷地完善;同時(shí)更重要的是,在這一設(shè)計(jì)過(guò)程當(dāng)中,讓我懂得了在學(xué)習(xí)的道路上會(huì)遇到很多的阻礙,但關(guān)鍵的是能做到堅(jiān)持不懈,不輕易放棄;最終達(dá)到自己想要的目標(biāo)。 單片機(jī)的學(xué)習(xí)對(duì)于我們專業(yè)來(lái)說(shuō)非常的重要,通過(guò)本次設(shè)計(jì)也讓我更加清晰了對(duì)專業(yè)的了解,理論知識(shí)再豐富,沒(méi)有實(shí)際的操作經(jīng)驗(yàn)也是不行的;本次設(shè)計(jì)也運(yùn)用

16、到了proteus仿真軟件,由于之前沒(méi)有學(xué)過(guò)該仿真軟件,所以在操作的過(guò)程中遇到了很多困難,但慶幸的是通過(guò)不斷的學(xué)習(xí),對(duì)proteus軟件也有了很大的了解,也學(xué)會(huì)了一些簡(jiǎn)單的操作,所以也讓我意識(shí)到,如果你想學(xué)好,通過(guò)自己的努力就一定會(huì)學(xué)好。 當(dāng)然在本次設(shè)計(jì)過(guò)程中,也遇到了很多的困難,比如很多關(guān)于單片機(jī)的基礎(chǔ)知識(shí)學(xué)的不是很好,對(duì)最小系統(tǒng)也不是很了解;也由于時(shí)間有點(diǎn)緊,還要制作實(shí)物,很多需要?jiǎng)邮值膶?shí)際操作都是第一次接觸,所以可能本次的設(shè)計(jì)并沒(méi)有達(dá)到自己預(yù)期的目的,但通過(guò)本次設(shè)計(jì)也讓我更加明白了結(jié)果并不是那么的重要,我們更應(yīng)該注重的是過(guò)程。當(dāng)然在設(shè)計(jì)過(guò)程中也少不了團(tuán)隊(duì)的合作,要是沒(méi)有團(tuán)隊(duì)的幫助,我想我

17、一個(gè)人也不可能在短時(shí)間內(nèi)完成設(shè)計(jì)要求;所以在此也要感謝在設(shè)計(jì)中給予我?guī)椭闹笇?dǎo)老師和同學(xué)們。 參考文獻(xiàn)【1】 李朝青等;單片機(jī)原理及串口外設(shè)接口技術(shù);北京航空航天大學(xué)出版社,2008年1月;【2】 姜志海、劉連鑫;單片機(jī)微型計(jì)算機(jī)原理及應(yīng)用;北京;機(jī)械工業(yè)出版社;【3】 洪志剛等;單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì);北京;機(jī)械工業(yè)出版社;【4】 王秋爽、曾紹龍等;單片機(jī)開(kāi)發(fā)基礎(chǔ)與經(jīng)典設(shè)計(jì)實(shí)例;北京;機(jī)械工業(yè)出版社;【5】 趙星寒等;從0開(kāi)始教你學(xué)單片機(jī);北京;北京航空航天大學(xué)出版社;四、文字編印與排版要求4.1 頁(yè)面要求4.1.1 頁(yè)面設(shè)計(jì)(論文)需用a4紙(210 mmx297 mm)印刷,頁(yè)眉20 mm、

18、頁(yè)腳15 mm,上頁(yè)邊距為30 mm,左、右、下頁(yè)邊距為25 mm。4.1.2 頁(yè)眉從目錄頁(yè)開(kāi)始往后須有頁(yè)眉,為“湖南科技大學(xué)本科生課程設(shè)計(jì)(論文)”。頁(yè)眉五號(hào)宋體,居中。4.1.3 頁(yè)碼前置部分的目錄用羅馬數(shù)字編寫(xiě)頁(yè)碼,格式為“-i-”、“-ii-”、“-iii-”等。正文第一頁(yè)往后各部分用阿拉伯?dāng)?shù)字連續(xù)編寫(xiě)頁(yè)碼。格式為“-1-”、“-2-”、“-3-”等,頁(yè)碼置于頁(yè)腳,均用五號(hào)times new roman字體,居中放置。4.2 正文字體和字號(hào)及段落各章題序及標(biāo)題:宋體加粗,小二號(hào),段前段后各空0.5行;各節(jié)的題序及標(biāo)題:宋體加粗,四號(hào),段前段后各空0.5行;各條的題序及標(biāo)題:宋體加粗,小四號(hào),段前段后各空0.5行;款、項(xiàng)及標(biāo)題:均采用宋體加粗,小四號(hào),段前段后不空行,1.25倍行距,首行縮進(jìn)2字符,與內(nèi)容同行;內(nèi)容:用宋體,小四號(hào),段前段后不空行,1.25倍行距,首行縮進(jìn)2字符。4.3 正文層次正文層次的編排建議用以下格式:章第三章 內(nèi)容1、每章(或附錄)另起頁(yè),章編號(hào)用大寫(xiě)數(shù)字。節(jié)x.1 內(nèi)容2、節(jié)標(biāo)題頂格,x為阿拉伯?dāng)?shù)字的章編號(hào)。條x.1.1 內(nèi)容3、條標(biāo)題頂格,x為阿拉伯?dāng)?shù)字的章編號(hào)??睢㈨?xiàng)(1) 內(nèi)容4、款(項(xiàng))標(biāo)題空2格起排。內(nèi)容內(nèi)容5、各層次題序及標(biāo)題不得置于頁(yè)面的最后一行(孤行)。4.4 公式編排公式原則上居中書(shū)寫(xiě)。公式序號(hào)按章編排,如第一章第1個(gè)公

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論