版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 學(xué) 年 設(shè) 計(jì) 報(bào) 告</p><p> 設(shè)計(jì)題目 4*4矩陣鍵盤設(shè)計(jì) </p><p> 所學(xué)專業(yè) 網(wǎng)絡(luò)工程 </p><p> 指導(dǎo)教師 </p><p> 2012
2、年 8 月 30 日</p><p><b> 學(xué)年設(shè)計(jì)任務(wù)書</b></p><p><b> 目錄</b></p><p><b> 摘要4</b></p><p><b> 1 緒論5</b></p><p>&l
3、t;b> 1.1研究背景5</b></p><p><b> 1.2主要工作5</b></p><p><b> 1.3本文結(jié)構(gòu)5</b></p><p><b> 2 總體設(shè)計(jì)5</b></p><p> 2.1 需求分析5</p&
4、gt;<p> 2.2系統(tǒng)總體設(shè)計(jì)5</p><p> 2.3 主要設(shè)計(jì)軟件介紹6</p><p> 2.3.1 PROTEUS軟件簡介6</p><p> 2.3.2 KEIL簡介6</p><p> 3 硬件電路設(shè)計(jì)6</p><p> 3.1 芯片選型7</p>
5、<p> 3.2 時鐘和復(fù)位電路7</p><p> 3.3 矩陣式鍵盤電路8</p><p> 3.4 顯示電路8</p><p> 3..5 蜂鳴器電路9</p><p><b> 3.6 總電路9</b></p><p> 4 系統(tǒng)軟件設(shè)計(jì)9</p&
6、gt;<p> 4.1軟件流程圖9</p><p> 4.2 程序代碼10</p><p> 5 系統(tǒng)測試與數(shù)據(jù)分析12</p><p><b> 6 結(jié)束語14</b></p><p><b> 致謝15</b></p><p><b
7、> 參考文獻(xiàn)15</b></p><p><b> 4*4矩陣鍵盤設(shè)計(jì)</b></p><p> 摘要:隨著21世紀(jì)的到來,電子信息行業(yè)將是人類社會的高科技行業(yè)之一,式設(shè)施現(xiàn)代化的基礎(chǔ),也是人類通往科技巔峰的直通路。電子行業(yè)的發(fā)展從長遠(yuǎn)來看很重要,但最主要的還是科技問題。</p><p> 矩陣式鍵盤提高效率進(jìn)行按鍵
8、操作管理有效方法,它可以提高系統(tǒng)準(zhǔn)確性,有利于資源的節(jié)約,降低對操作者本身素質(zhì)的要求。是它能準(zhǔn)時、實(shí)時、高效地顯示按鍵信息,以提高工作效率和資源利用率。</p><p> 矩陣式鍵盤乃是當(dāng)今使用最為廣泛的鍵盤模式,該系統(tǒng)以N個端口連接控制N*N個按鍵,顯示在LED數(shù)碼管上。單片機(jī)控制依據(jù)這是鍵盤顯示系統(tǒng),該系統(tǒng)可以對不同的按鍵進(jìn)行實(shí)時顯示,其核心是單片機(jī)和鍵盤矩陣電路部分,主要對按鍵與顯示電路的關(guān)系、矩陣式技術(shù)
9、及設(shè)備系統(tǒng)的硬件、軟件等各個部分進(jìn)行實(shí)現(xiàn)。</p><p> 4*4矩陣式鍵盤采用AT89C51單片機(jī)為核心,主要由矩陣式鍵盤電路、譯碼電路、顯示電路等組成,軟件選用C語言編程。單片機(jī)將檢測到的按鍵信號轉(zhuǎn)換成數(shù)字量,顯示于LED顯示器上。該系統(tǒng)靈活性強(qiáng),易于操作,可靠性高,將會有更廣闊的開發(fā)前景。</p><p> 關(guān)鍵詞:AT89C51;單片機(jī);蜂鳴器;顯示電路;矩陣鍵盤;</
10、p><p><b> 1 緒論</b></p><p><b> 1.1研究背景</b></p><p> 隨著21世紀(jì)的到來,以前的單個端口連接的按鍵已經(jīng)不能滿足人們在大型或公共場合的需求。電子信息行業(yè)將是人類社會的高科技行業(yè)之一,4*4矩陣鍵盤設(shè)計(jì)是當(dāng)今社會中使用的最廣的技術(shù)之一。鑒于此,研究人員通過不斷地實(shí)驗(yàn)與研究
11、開發(fā),最終研發(fā)出采用矩陣鍵盤設(shè)計(jì)的N個端口連接N*N個按鍵,來滿足人們的需求,對于這,我們本次的實(shí)驗(yàn)在于設(shè)計(jì)驗(yàn)證4*4矩陣鍵盤的功能。</p><p><b> 1.2主要工作</b></p><p> 本論文主要研究單片機(jī)控制的鍵盤識別顯示系統(tǒng),分別對按鍵信息和顯示電路以及軟、硬件各個部分進(jìn)行研究。按下任意鍵時,數(shù)碼管都會顯示其鍵的序號,掃描程序首先判斷按鍵發(fā)生
12、在哪一列,然后根據(jù)所發(fā)生的行附加不同的值,從而得到按鍵的序號。</p><p><b> 1.3本文結(jié)構(gòu)</b></p><p> ?、?根據(jù)矩陣式鍵盤的特點(diǎn),進(jìn)行鍵盤控制系統(tǒng)的整體研究與設(shè)計(jì);</p><p> ② 熟練掌握protues軟件的使用,并能夠按要求對設(shè)計(jì)的電路進(jìn)行仿真,實(shí)現(xiàn)相應(yīng)的功能;</p><p>
13、; ?、?LED實(shí)時顯示按鍵的信息;</p><p> ④采用軟件編程的方法實(shí)現(xiàn)按鍵信息的提取和顯示</p><p><b> 2 總體設(shè)計(jì)</b></p><p><b> 2.1 需求分析</b></p><p> 矩陣鍵盤是提高效率進(jìn)行按鍵操作管理的有效工具,它可以提高系統(tǒng)準(zhǔn)確性,有利
14、于資源的節(jié)約,降低對操作者本身素質(zhì)的要求。它能準(zhǔn)確、實(shí)時、高效地顯示按鍵信息,以提高工作效率和資源利用率。</p><p><b> 2.2系統(tǒng)總體設(shè)計(jì)</b></p><p> 圖 2.2系統(tǒng)組成框</p><p> 2.3 主要設(shè)計(jì)軟件介紹</p><p> 本設(shè)計(jì)利用KEIL編程軟件對音樂盒源程序進(jìn)行編程并
15、調(diào)試,配合PROTEUS仿真軟件對硬件進(jìn)行仿真調(diào)試,兩種軟件的簡介如下。</p><p> 2.3.1 PROTEUS軟件簡介</p><p> Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工
16、具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC
17、33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。 </p><p> 2.3.2 KEIL簡介</p><p> 單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)
18、器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方
19、案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語言而僅用</p
20、><p><b> 3 硬件電路設(shè)計(jì)</b></p><p><b> 3.1芯片選型</b></p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,
21、俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p> 圖2-1 單片機(jī)AT89C51 引腳圖</p><p> 3.2 時鐘和復(fù)位電路</p>&
22、lt;p> AT89C51中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自然振蕩器。外接石英晶體及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容C1,C2雖然沒有什么嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電
23、容使用30PF10PF,而如果使用陶瓷振蕩器建議選擇40PF10PF。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖示。這種情況下,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。</p><p> 圖3.2 時鐘和復(fù)位
24、電路示意圖</p><p> 3.3 矩陣式鍵盤電路</p><p> 矩陣鍵盤又稱為行列式鍵盤,它用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點(diǎn)上設(shè)置一個按鍵。這樣鍵盤中按鍵個數(shù)是4×4個。這種行列式鍵盤結(jié)構(gòu)有效提高單片機(jī)系統(tǒng)中I/O的利用率。如下圖所示:</p><p> 圖3.3 矩陣式鍵盤電路示意圖<
25、/p><p><b> 3.4 顯示電路</b></p><p> 本設(shè)計(jì)用單片機(jī)的P0口來控制LED顯示器的數(shù)字顯示。當(dāng)按鍵有按下時,LED數(shù)碼管將對應(yīng)顯示出該音符數(shù)字或字母。從而可以通過手動和眼來確定所按的哪個音符,應(yīng)該發(fā)出哪個音符的聲音如圖3.4所示。</p><p> 圖3.4 顯示電路示意圖</p><p>
26、<b> 3.5 蜂鳴器電路</b></p><p> 播放模式其實(shí)就是喇叭,它連接到P3.0口上,當(dāng)有按鍵按下時,就會發(fā)出聲音。如下圖所示:</p><p> 圖3.5蜂鳴器電路示意圖</p><p><b> 3.6 總電路</b></p><p> 圖3.6 總電路示意圖</p
27、><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p><b> 4.1軟件流程圖</b></p><p> 圖4.1軟件流程示意圖</p><p><b> 4.2 程序代碼</b></p><p> #include<reg51.h
28、></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p><b> //段碼</b></p><p> uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0
29、x92,0x82,0xf8,0x80,0x90,</p><p> 0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00};</p><p> sbit BEEP=P3^7;</p><p> //上次按鍵和當(dāng)前按鍵的序號,該矩陣中序號范圍0~15,16 表示無按鍵</p><p> uchar Pre_KeyNo=1
30、6,KeyNo=16;</p><p><b> //延時</b></p><p> void DelayMS(uint x)</p><p><b> {</b></p><p><b> uchar i;</b></p><p> whil
31、e(x--) for(i=0;i<120;i++);</p><p><b> }</b></p><p><b> //矩陣鍵盤掃描</b></p><p> void Keys_Scan()</p><p><b> {</b></p><
32、p> uchar Tmp;</p><p> P1=0x0f; //高4 位置0,放入4 行</p><p> DelayMS(1);</p><p> Tmp=P1^0x0f;//按鍵后0f 變成0000XXXX,X 中一個為0,3 個仍為1,通過異或把3 個1 變?yōu)?,唯一的0 變?yōu)?</p><p> switch(Tm
33、p) //判斷按鍵發(fā)生于0~3 列的哪一列</p><p><b> {</b></p><p> case 1: KeyNo=0;break;</p><p> case 2: KeyNo=1;break;</p><p> case 4: KeyNo=2;break;</p><p>
34、 case 8: KeyNo=3;break;</p><p> default:KeyNo=16; //無鍵按下</p><p><b> }</b></p><p> P1=0xf0; //低4 位置0,放入4 列</p><p> DelayMS(1);</p><p> Tmp
35、=P1>>4^0x0f;//按鍵后f0 變成XXXX0000,X 中有1 個為0,三個仍為1;高4 位轉(zhuǎn)移到低4 位并異或得到改變的值</p><p> switch(Tmp) //對0~3 行分別附加起始值0,4,8,12</p><p><b> {</b></p><p> case 1: KeyNo+=0;break;
36、</p><p> case 2: KeyNo+=4;break;</p><p> case 4: KeyNo+=8;break;</p><p> case 8: KeyNo+=12;</p><p><b> }</b></p><p><b> }</b>&
37、lt;/p><p><b> //蜂鳴器</b></p><p> void Beep()</p><p><b> {</b></p><p><b> uchar i;</b></p><p> for(i=0;i<100;i++)<
38、;/p><p><b> {</b></p><p> DelayMS(1);</p><p> BEEP=~BEEP;</p><p><b> }</b></p><p><b> BEEP=0;</b></p><p>
39、;<b> }</b></p><p><b> //主程序</b></p><p> void main()</p><p><b> {</b></p><p><b> P0=0x00;</b></p><p>&l
40、t;b> BEEP=0;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p><b> P1=0xf0;</b></p><p> if(P1!=0xf0) Keys_Scan(); //
41、獲取鍵序號</p><p> if(Pre_KeyNo!=KeyNo)</p><p><b> {</b></p><p> P0=~DSY_CODE[KeyNo];</p><p><b> Beep();</b></p><p> Pre_KeyNo=KeyN
42、o;</p><p><b> }</b></p><p> DelayMS(100);</p><p><b> }</b></p><p><b> }</b></p><p> 5 系統(tǒng)測試與數(shù)據(jù)分析</p><p&g
43、t; 依次按下開關(guān),數(shù)碼顯示管會對應(yīng)顯示出0~f共16個數(shù)字</p><p> 圖 5-1 初始界面</p><p> 圖 5-2部分結(jié)果顯示</p><p> 圖 5-3 部分結(jié)果顯示</p><p><b> 6 結(jié)束語</b></p><p> 經(jīng)過一周左右時間的努力,我們小組終
44、于完成了本次的學(xué)年設(shè)計(jì)。一個星期的學(xué)年設(shè)計(jì)對于我們初學(xué)者來說并不簡單。因?yàn)槲覀儗纹瑱C(jī)這門課程學(xué)習(xí)的時間很少,這是一門理論與實(shí)踐相結(jié)合的課程,需要我們不斷的學(xué)習(xí)與實(shí)踐才能真正掌握這門課程。</p><p> 剛開始拿到選題,我們先是查找相關(guān)資料,從圖書館和網(wǎng)上找到相關(guān)的課題,參考借鑒別人的成果從而理清我們設(shè)計(jì)的思路。此次學(xué)年設(shè)計(jì)大致可以分為兩部分,電路圖部分和程序編程部分。其中電路圖又用到了Proteus仿真軟
45、件,由于之前沒有使用過該仿真軟件,所以在操作的過程中遇到了很多困難,但慶幸的是通過老師的講解和我們從網(wǎng)上找到的資料,對Proteus軟件有了很大的了解,同樣學(xué)會了一些簡單的操作。至于編程部分我們感到也是有很大的難度,首先就是編程的keil uvision2軟件的操作與使用,這與我們往常使用的C語言編程軟件不同,相比之下更難使用。更有難度的是程序的編寫與調(diào)試。在編寫程序的過程中,我們遇到了各種各樣的問題,這就需要我們冷靜的思考與集體的討論
46、。到后來我們還請教了其他的同學(xué),也詢問過老師,最終一個合格的程序還是被我們編寫出來了。最后就需要我們將程序整合到51單片機(jī)中,在經(jīng)過幾次調(diào)試后,最終的結(jié)果還是符合這次學(xué)年設(shè)計(jì)的具體要求的。</p><p> 經(jīng)過這次的學(xué)年設(shè)計(jì),我們小組成員收獲了很多。第一次將理論知識與實(shí)踐相結(jié)合。還有的就是關(guān)于團(tuán)體合作的,沒有團(tuán)隊(duì)每一位成員的努力,我們是不可能這么快就完成了這次學(xué)年設(shè)計(jì)的任務(wù)。</p><p
47、><b> 致謝</b></p><p> 感謝此次學(xué)年設(shè)計(jì)為我們指導(dǎo)的老師,從選題之初,她就一直在幫助著我們。教我們安裝使用軟件,提供給我們參考資料。在撰寫文檔時,是老師耐心的檢查出其中的錯誤,指正出來讓我們改正,使得我們按時完成了任務(wù)。</p><p> 最后,再次感謝老師以及幫助過我們的同學(xué)!</p><p><b>
48、; 參考文獻(xiàn)</b></p><p> [1] 何欽銘.顏暉.C語言程序設(shè)計(jì)[M].. 北京:高等教育出版社,2008.</p><p> [2] 李朝青.單片機(jī)原理及接口技術(shù)[D].北京:北京航空航天大學(xué)出版社,2006;1-277.</p><p> [3] 譚浩強(qiáng).C語言程序設(shè)計(jì)(第二版)[M],北京:清華大學(xué)出版社,1991.</p
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)電單片機(jī)課程設(shè)計(jì) 4乘4矩陣鍵盤 匯編語言
- 課程設(shè)計(jì)---4x4矩陣鍵盤與led燈輸出設(shè)計(jì)
- 《單片機(jī)原理》課程設(shè)計(jì)4x4矩陣鍵盤設(shè)計(jì)
- 課程設(shè)計(jì)---4x4矩陣鍵盤與led燈輸出設(shè)計(jì)
- 課程設(shè)計(jì)---4x4矩陣鍵盤與LED燈輸出設(shè)計(jì).doc
- 單片機(jī)課程設(shè)計(jì)報(bào)告(4×4矩陣鍵盤)
- 課程設(shè)計(jì)-制作單片機(jī)的4x4矩陣鍵盤
- eda課程設(shè)計(jì)--矩陣鍵盤接口設(shè)計(jì)
- 矩陣數(shù)乘 課程設(shè)計(jì)
- 矩陣數(shù)乘 課程設(shè)計(jì)
- 矩陣鍵盤eda技術(shù)課程設(shè)計(jì)
- 矩陣鍵盤eda技術(shù)課程設(shè)計(jì)
- 矩陣數(shù)乘 課程設(shè)計(jì).doc
- 單片機(jī)課程設(shè)計(jì)--矩陣鍵盤 led顯示
- 單片機(jī)4x4鍵盤計(jì)算器課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 4-4 矩陣的轉(zhuǎn)置與乘法計(jì)算
- 手機(jī)鍵盤課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 4-4 矩陣的轉(zhuǎn)置與乘法計(jì)算.doc
- 單片機(jī)課程設(shè)計(jì)---鍵盤接口課程設(shè)計(jì)
- 鍵盤監(jiān)聽程序課程設(shè)計(jì)
評論
0/150
提交評論