單片機(jī)課程設(shè)計(jì)報(bào)告(4×4矩陣鍵盤(pán))_第1頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告(4×4矩陣鍵盤(pán))_第2頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告(4×4矩陣鍵盤(pán))_第3頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告(4×4矩陣鍵盤(pán))_第4頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告(4×4矩陣鍵盤(pán))_第5頁(yè)
已閱讀5頁(yè),還剩6頁(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)介

1、單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)評(píng)語(yǔ):考勤(10)守紀(jì)(10)過(guò)程(40)設(shè)計(jì)報(bào)告(30)答辯(10)總成績(jī)(100)專(zhuān) 業(yè): 自動(dòng)控制 班 級(jí): 自控1001班 姓 名: 王文濱 學(xué) 號(hào): 201008614 指導(dǎo)教師: 趙 斌 蘭州交通大學(xué)自動(dòng)化與電氣工程學(xué)院2013 年 3 月 7 日8 / 11文檔可自由編輯打印摘 要矩陣鍵盤(pán)掃描裝置是大量需要鍵盤(pán)輸入裝置的單片機(jī)系統(tǒng)的一個(gè)代表性模塊,在花樣繁多的單片機(jī)系統(tǒng)中始終是不可或缺的的一部分。最為簡(jiǎn)單的行掃描輸入法仍然有很大的研究意義,在不需要過(guò)于復(fù)雜的微處理模塊中,它會(huì)是一個(gè)極為重要的人機(jī)交流方式。本文以4×4矩陣鍵盤(pán)輸入裝置為例,運(yùn)用所學(xué)

2、知識(shí),建立了一個(gè)可靠的簡(jiǎn)易輸入裝置,旨在通過(guò)設(shè)計(jì)簡(jiǎn)明的表述鍵盤(pán)輸入裝置及行掃描法的原理,并很好的掌握,最終有所收獲。實(shí)踐表明,簡(jiǎn)易4×4矩陣鍵盤(pán)輸入裝置由于資源利用不合理,信息處理算法效率較低,還需要大量的學(xué)習(xí)并對(duì)其改進(jìn)。關(guān)鍵詞:?jiǎn)纹瑱C(jī);矩陣鍵盤(pán);4×4鍵盤(pán);簡(jiǎn)易;行掃描法AbstractMatrix keyboard scanning device is a module represents the SCM systems need a lot of keyboard input device, in a variety of single-chip microcomp

3、uter system is always an essential part of the. The line scan input method simple still has great significance, without the need for complicated micro processing module, it is a very important way of man-machine communication.Based on the 4 * 4 matrix keyboard input device as an example, the use of

4、the knowledge, a simple input device reliability is established, through the principle of design concise representation of keyboard input device and line scanning method, and a good grasp of, the final harvest.Practice shows that, the simple 4 * 4 matrix keyboard input device due to irrational use o

5、f resources, information processing algorithm efficiency is low, still need a lot of learning and its improvement.Key words: SCM,Matrix keyboard,4 * 4 keyboard,Simple,Line Scanning Method基于單片機(jī)的4×4矩陣鍵盤(pán)輸入1引言本設(shè)計(jì)提出了用AT89C51單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的4×4矩陣鍵盤(pán)輸入裝置,本方案以AT89C51單片機(jī)作為主控核心,與晶振、數(shù)碼管、自復(fù)式按鈕等構(gòu)成,利用了

6、單片機(jī)的輸入輸出端口,充分發(fā)揮行掃描法的特點(diǎn),通過(guò)數(shù)碼管顯示確認(rèn)按鈕的有效性。系統(tǒng)實(shí)用性強(qiáng)、判斷精確、操作簡(jiǎn)單,同時(shí)利用C語(yǔ)言編程,模塊化函數(shù)使其具有一定意義上的擴(kuò)展能力,可填充性與可移植性良好。2設(shè)計(jì)方案及原理2.1矩陣鍵盤(pán)設(shè)計(jì)方案(1)4×4矩陣鍵盤(pán)輸入裝置共有16個(gè)按鍵,分別對(duì)應(yīng)0f十六個(gè)數(shù)字。(2)設(shè)置一個(gè)數(shù)碼顯示管,對(duì)應(yīng)顯示不同按鍵按下時(shí)所對(duì)應(yīng)的數(shù)字并持續(xù)顯示。2.2矩陣鍵盤(pán)設(shè)計(jì)原理矩陣鍵盤(pán)設(shè)計(jì)原理如圖1所示:圖1 4×4矩陣鍵盤(pán)輸入裝置原理圖電路通過(guò)晶振電路為單片機(jī)提供時(shí)鐘,從鍵盤(pán)輸入電路中讀取按鍵編碼,并通過(guò)查表后,通過(guò)數(shù)碼管顯示電路在數(shù)碼管上顯示相應(yīng)的數(shù)字,

7、從而完成設(shè)計(jì)任務(wù)。其可以擴(kuò)展性在于可以通過(guò)修改查表指令,以及輸出編碼實(shí)現(xiàn)向不同子程序的轉(zhuǎn)移,從而實(shí)現(xiàn)按鍵后執(zhí)行相應(yīng)功能的目的。3硬件設(shè)計(jì)3.1元器件選擇為實(shí)現(xiàn)電路,選擇89C51芯片,數(shù)碼管,自復(fù)式按鈕,電容以及晶振等元器件。數(shù)碼管選用2位7段數(shù)碼管,其中A,B,C,D,E,F,G分別控制七段數(shù)碼管,DP控制小數(shù)點(diǎn)。3.2系統(tǒng)原理電路圖基于各個(gè)模塊的設(shè)計(jì),可以設(shè)計(jì)出系統(tǒng)原理電路圖,P1為按鍵掃描口,P0為數(shù)碼管顯示輸出口,P2.0P2.1為數(shù)碼管顯示選擇口, XTAL1和XTAL2接晶振電路。系統(tǒng)原理電路圖如圖2所示:圖2 系統(tǒng)原理電路圖4軟件設(shè)計(jì)4.1軟件設(shè)計(jì)方案為了能夠達(dá)到按鍵的輸入與顯示

8、互不干擾,再掃描鍵盤(pán)的同時(shí),不間斷數(shù)碼管顯示,因而在編寫(xiě)程序時(shí)先編寫(xiě)定時(shí)中斷程序,使用定時(shí)器T0在工作方式2(即自動(dòng)重裝定時(shí)器),每過(guò)250微秒中斷主程序,并通過(guò)P0口線(xiàn)對(duì)數(shù)碼管進(jìn)行輸出,使數(shù)碼管顯示。主程序循環(huán)時(shí),不斷對(duì)鍵盤(pán)進(jìn)行掃描,以確定是否有按鍵按下。若掃描發(fā)現(xiàn)有按鍵按下,修改相應(yīng)顯示編碼,并通過(guò)P0口在數(shù)碼管上進(jìn)行相應(yīng)顯示,然后繼續(xù)掃描。掃描過(guò)程為行掃描法,通過(guò)P1.4P1.7依次輸出一個(gè)低電平,掃描 P1.0P1.3輸入信息,若掃描到低電平,即在掃描時(shí)有低電平輸入的行,和輸出低電平的列的按鍵被按下。通過(guò)編碼查表,在P0口通過(guò)高低電平輸出得到相應(yīng)數(shù)字。4.2程序流程圖程序流程圖見(jiàn)正文3

9、、4頁(yè)(圖3、圖4、圖5、圖6)。4.3主程序程序見(jiàn)附錄。圖3 按鍵讀入函數(shù) 圖4 按鍵掃描函數(shù) 圖5程序主函數(shù) 圖6 中斷及顯示函數(shù)5系統(tǒng)仿真5.1仿真結(jié)果仿真結(jié)果如圖7所示:圖7 系統(tǒng)仿真結(jié)果圖(按下按鍵為第二行第三列)5.2總結(jié)在本次設(shè)計(jì)之初,我認(rèn)為對(duì)于單片機(jī)的理論學(xué)習(xí)已經(jīng)足夠,已經(jīng)掌握了大部分常用知識(shí),對(duì)于所使用的單片機(jī)原理也有了很好的掌握,設(shè)計(jì)只是對(duì)于所學(xué)內(nèi)容的使用。但是,通過(guò)本次設(shè)計(jì),我明顯的認(rèn)識(shí)到,理論學(xué)習(xí)僅僅只是皮毛,我所掌握的也只是單片機(jī)知識(shí)體系中極為有限的一部分,如果想要做出一份好的設(shè)計(jì),還需要經(jīng)過(guò)大量的學(xué)習(xí)與實(shí)踐。在設(shè)計(jì)過(guò)程中,由于經(jīng)驗(yàn)不足,定下設(shè)計(jì)題目之后就開(kāi)始著手程序

10、和仿真電路圖,由于理論知識(shí)不足,導(dǎo)致多次返工,大量實(shí)踐后又重新回顧了單片機(jī)的理論知識(shí),最終得以完成。期間,自身對(duì)于C語(yǔ)言的扎實(shí)基礎(chǔ)讓我省出了大量精力可以專(zhuān)注于設(shè)計(jì)仿真電路圖。但是也暴露了我對(duì)單片機(jī)知識(shí)的欠缺,以及由于缺乏實(shí)踐而引起的學(xué)無(wú)所用。最后,在老師的幫助下,我圓滿(mǎn)完成了本次設(shè)計(jì),雖然我分析問(wèn)題、提出問(wèn)題、解決問(wèn)題的能力得到了很好的鍛煉,受益匪淺,但是還存在各種各樣的缺陷與不足,需要在日后的學(xué)習(xí)實(shí)踐中加以改進(jìn)。6 參考文獻(xiàn)1 王思明,茍軍年.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)M.科學(xué)出版社,2012:150-169.2 譚浩強(qiáng).C程序設(shè)計(jì)(第四版) M.清華大學(xué)出版社,2010:36-60.3 顧栤

11、.單片機(jī)計(jì)算機(jī)原理開(kāi)發(fā)應(yīng)用M.高等教育出版社,2010:3-77附錄:#include <reg51.h> /51單片機(jī)頭文件#include <intrins.h> /函數(shù)聲明#define uint unsigned int /定義類(lèi)型名#define uchar unsigned charuchar key,table17 = 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff; /定義顯示代碼void Display(uchar

12、 k)/定義顯示函數(shù) P2 = 0x02;/從P2選擇輸出位置P0 = tablek; /查表并從P0口輸出顯示代碼uchar Keyscan(void) /定義按鍵掃描函數(shù) uchar i, j, temp, Buffer4 = 0xef, 0xdf, 0xbf, 0x7f; /定義掃描輸出值 for(j = 0; j < 4; j+)/循環(huán)輸出掃描值 P1 = Bufferj; temp = 0x01; for(i = 0; i < 4; i+) /循環(huán)掃描P1.0P1.3口并讀入 if(!(P1 & temp)/取一位并判斷有無(wú)低電平 return (i + j *

13、4);/若有低電平讀入,返回相應(yīng)按鍵序號(hào) temp <<= 1;/變量左移準(zhǔn)備判斷下一位 return 16; /沒(méi)有按鍵輸入,返回?zé)o顯示 uchar GetKey() /定義按鍵讀取函數(shù) uchar Key1, Key2; P1 = 0xff; /初始化P1口 Key1 = Keyscan(); /讀取按鍵掃描結(jié)果 if(Key1=16)/判斷按鍵序號(hào)return key; /無(wú)按鍵按下,結(jié)束本函數(shù) Key2 = Keyscan(); /防抖 if(Key1!= Key2)return key; while(Keyscan() < 16) /等待按鍵釋放 return Key1;void t0(void) interrup

溫馨提示

  • 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)論