基于單片機的模擬手機鍵盤_第1頁
基于單片機的模擬手機鍵盤_第2頁
基于單片機的模擬手機鍵盤_第3頁
基于單片機的模擬手機鍵盤_第4頁
基于單片機的模擬手機鍵盤_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、信息工程學(xué)院課程設(shè)計報告書題目:基于單片機的模擬手機鍵盤專 業(yè): 電子信息科學(xué)與技術(shù)班 級:學(xué) 號:學(xué)生姓名:指導(dǎo)教師: 2013年10 月18日信息工程學(xué)院課程設(shè)計任務(wù)書學(xué)號學(xué)生姓名專業(yè)(班級)電子信息設(shè)計題目基于單片機的模擬手機鍵盤設(shè) 計 技 術(shù) 參 數(shù)單片機晶振頻率:12MHz ;電源電壓: +5V設(shè) 計 要 求編程控制單片機端口實現(xiàn)按鍵輸出09十個數(shù)字并在液晶上顯示出來。工作量兩天注:可填寫課程設(shè)計報告的字?jǐn)?shù)要求或要完成的圖紙數(shù)量。工 作 計 劃參考資 料1 康華光,陳大欽.電子技術(shù)基礎(chǔ) 模擬部分(第五版)M.北京:高等教育出版社,20052 郭天祥.51單片機C語言教程M.北京:電子

2、工業(yè)出版,2012指導(dǎo)教師簽字教研室主任簽字信息工程學(xué)院課程設(shè)計成績評定表學(xué)生姓名:學(xué)號: 專業(yè)(班級):電子信息課程設(shè)計題目:基于單片機的模擬手機鍵盤指導(dǎo)教師評語:成績: .指導(dǎo)教師: 年 月 日摘要本文是做基于 89C52 單片機的手機鍵盤的設(shè)計;利用 P0 端 3*4 的鍵值來模擬手機鍵盤 中的數(shù)字,將采用編程的方法來實現(xiàn)使用 12 個鍵來做到 0 到 9 的數(shù)字輸出和退位清零,并 在液晶屏上顯示。 手機作為現(xiàn)代移動通信的載體, 其技術(shù)也得到了很大的發(fā)展, 手機的鍵盤 布局已經(jīng)成了各大廠商門競爭的主要方面, 本次設(shè)計提高了我們對單片機的操作能力, 讓我 們更加認(rèn)識到單片機的廣闊前景,對于

3、我們更加深入學(xué)習(xí)和了解單片機提供了極大的幫助。 關(guān)鍵詞:矩陣鍵盤, LCD 液晶屏, 89C52 單片機。5目錄1 任務(wù)提出與方案論.證 - 2 -1.1 方案一 - 2 -A O g -O1.2 方案二 - 2 -1.3 方案對比與選.擇 - 2 -2. 系統(tǒng)硬件電路的設(shè).計 - 4 -2.1 微處理器的選.擇 - 4 -2.2 單片機的基本機.構(gòu) - 4 -2.3 鍵盤接口電路 - 5 -2.4 消除抖動 - 6 -3 詳細設(shè)計 - 7 -3.1 程序流程設(shè)計 - 7 -3.2 硬件電路設(shè)計 - 8 -4 總結(jié) - 9 -參考文獻 -10-附錄 -11- 7 -1任務(wù)提出與方案論證1.1萬

4、案一采用8255芯片,通過PA,PB 口輸出;PC的高四位輸出,低四位輸入;定時器測量兩次按鍵的間隔,進行手機鍵盤的模擬;此種方法思路簡單,能夠?qū)崿F(xiàn)0到9的數(shù)值在數(shù)碼管上的顯示。方框圖如圖1.1。圖1.1方案一方框圖1.2方案二采用易購的AT89C52系列。該方法采用靜態(tài)顯示法來控制LED的數(shù)值顯示,P0 口接鎖存器防止總線間的沖突,P0 口輸出段碼數(shù)據(jù),P1.0 口到P1.8 口接9個按鍵,用于1到26的數(shù)值設(shè)置;在硬件電路不變的情況下,通過改變信號來實現(xiàn)數(shù)碼管的顯示。方框圖如圖 1.2所示、 數(shù)據(jù)鎖存器LCD顯示鍵盤掃描AT89C52P0 端口列驅(qū)動圖1.2方案二方框圖1.3方案對比與選擇

5、由于方案2需要數(shù)據(jù)鎖存器等硬件,且接口較復(fù)雜,又考慮到數(shù)碼管顯示只 有 6 位,而且系統(tǒng)沒有其他復(fù)雜的處理任務(wù); 所以在綜合比較之下, 方案 1 顯的 更加簡單明了, 可行性更高; 我們一致決定采用方案 1 來實現(xiàn) a 到 z 對應(yīng)的 1 到 26 的數(shù)值顯示。2.1微處理器的選擇2.系統(tǒng)硬件電路的設(shè)計1) 控制中心使用 MCS-51來實現(xiàn)2) 驅(qū)動用8255芯片來實現(xiàn)3) 顯示用6個三級數(shù)碼顯示管來實現(xiàn)4) 使用+5V電源2.2單片機的基本機構(gòu)1) MCS-51單片機內(nèi)部結(jié)構(gòu)MCS-51單片機內(nèi)部包含中央處理器(CPU )、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行I/O

6、接口、 其內(nèi)部結(jié)構(gòu)圖如圖2.1所示。振蕩器8051 4KB 掩膜ROMCPU并行I/O接口串行I/O接口和中斷系統(tǒng)等幾大單元。特殊功能寄存器SDR 128KB串行接口%7P0P1P2P3TXDRXD定時器 TO T1中斷系統(tǒng)jINT0INT1圖2.1單片機8051內(nèi)部結(jié)構(gòu)圖單片機的結(jié)構(gòu)有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合 二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機采用 的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結(jié) 構(gòu)。

7、1 )中央處理器中央處理器 (CPU) 是整個單片機的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能 處理 8 位二進制數(shù)據(jù)或代碼, CPU 負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工 作,完成運算和控制輸入輸出功能等操作。2)數(shù)據(jù)存儲器8051 內(nèi)部有 128 個 8 位用戶數(shù)據(jù)存儲單元和 128 個專用寄存器單元,它們是 統(tǒng)一編址的, 專用寄存器只能用于存放控制指令數(shù)據(jù), 用戶只能訪問, 而不能用 于存放用戶數(shù)據(jù), 所以,用戶能使用的 RAM 只有 128 個,可存放讀寫的數(shù)據(jù),運 算的中間結(jié)果或用戶定義的字型表。3)程序存儲器8051 共有 4KB 8 位掩膜 ROM ,用于存放用戶程序,原始數(shù)

8、據(jù)或表格。4 )定時 /計數(shù)器單片機 8051 內(nèi)有兩個 16 位的可編程定時 /計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生 中斷用于控制程序轉(zhuǎn)向。5 )并行輸入輸出 (I/O) 口單片機8051共有4組8位I/O 口 (P0、P1、P2或P3),用于對外部數(shù)據(jù)的 傳輸。6)全雙工串行口單片機 8051 內(nèi)置一個全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳 送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。7)中斷系統(tǒng)單片機 8051 具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2 級的優(yōu)先級別選擇。8)時鐘電路單片機 8051 內(nèi)置最高

9、頻率達 12MHz 的時鐘電路,用于產(chǎn)生整個單片機運行 的脈沖時序,但單片機 8051 需外置振蕩電容。2.3 鍵盤接口電路8255 的 PA 口相連,圖 2.2 為鍵盤接口電路的原理圖,圖中矩陣式鍵盤和AT89C52的PB和8255的DO 口相連,AT89C52不斷的掃描鍵盤,看是否有鍵 按下,如有,則根據(jù)相應(yīng)程序?qū)Π存I作出相應(yīng)的反應(yīng)2.4消除抖動使用鍵盤時,由于鍵的閉合和斷開,此過程中會產(chǎn)生一個抖動期。抖動時間的長短與開關(guān)機械特性有關(guān),一般為1020ms。為了保證 CPU對鍵的閉合的正確判定,必須去除抖動,在鍵的穩(wěn)定閉合和斷開期間讀取鍵的狀態(tài)。去除抖動可以采用硬件和軟件兩種方法。硬件方法就

10、是在案件輸入通道添加去抖動電路,從根本上避免電壓抖動的產(chǎn)生。軟件方法則采用延遲1020ms的時間,待電壓穩(wěn)定后,在進行狀態(tài)輸入。由于軟件延時方法經(jīng)濟實惠且技術(shù)上完全可行,所以此設(shè)計采用軟件方法去抖。3詳細設(shè)計3.1程序流程設(shè)計利用KEIL軟件編程,使用單片機P0 口接上拉電阻驅(qū)動液晶屏,使用P3 口連接矩陣鍵盤掃描按鍵, 在程序開始運行之后,首先是對數(shù)據(jù)進行初始化之后判斷按鍵 值,通過鍵值判斷該鍵值是否設(shè)置了相應(yīng)數(shù)值,有則轉(zhuǎn)入相應(yīng)的的程序輸出數(shù)值,若沒有則返回繼續(xù)判斷。開始I液晶初始化松手輸出數(shù)據(jù)審返回繼續(xù)掃描圖3.1主程序流程圖3.2硬件電路設(shè)計硬件電路使用PROTEUS軟件連線,主要使用

11、AT89C52單片機芯片和 LM016L液晶芯片 丄I利用P0 口驅(qū)動液晶,用P3 口連接矩陣鍵盤。圖3.2 硬件連接圖-9 -4 總結(jié)本系統(tǒng)分硬件與軟件兩部分, 硬件以單片機 STC89C52 為核心,以 3*4 矩陣 鍵盤為輸入端, 并結(jié)合 LCD 液晶顯示模塊模擬手機顯示屏, 構(gòu)成整個硬件系統(tǒng)。 軟件部分是整個控制器的重要組成部分,設(shè)計的好壞關(guān)系到系統(tǒng)性能的穩(wěn)定程 度。在控制器的軟件中,采用 C 語言設(shè)計程序,程序可讀性強。 回顧起此次單片機 課程設(shè)計,我仍感慨頗多,在這兩個個星期的日子里, 可以說得是苦多于甜,但是 可以學(xué)到很多很多的的東西, 我最大的收獲就是自己的動手能力和獨立解決問

12、題的 能力得到了很大的提高, 也充分體會到了自己設(shè)計東西的樂趣、 學(xué)會查閱資料和 別人的東西融會變通的重要性, 也明白了很多知識光靠趴在書本上學(xué)是學(xué)不到其中 的精髓的,必須親自去試著實踐,遇到困難,永遠不要沮喪氣餒。兩周的設(shè)計完滿 結(jié)束了,經(jīng)過自己的努力和同學(xué)的幫忙終于有了成果,特別離不開指導(dǎo)老師的悉心教導(dǎo), 方師的精心指導(dǎo)和解說使我受益匪淺, 相信他的 工作作風(fēng)和知識筑成都是我們學(xué)習(xí)榜樣, 給我很大的啟迪。 感謝這些老師不畏辛 勞,熱心精心的指導(dǎo)。在這里向他們說聲謝謝,你們辛苦了。在這里,我們真誠 地感謝在本次設(shè)計中給予我們許多幫助和支持的指導(dǎo)老師和各位同學(xué)們, 真心地祝 愿你們身體健康,工

13、作順利。- 11 -參考文獻1 康華光,陳大欽 . 電子技術(shù)基礎(chǔ)模擬部分(第五版) M. 北京:高等教育出版社, 20052 郭天祥 .51 單片機 C 語言教程 M. 北京:電子工業(yè)出版, 2012-#-附錄程序清單:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit EN=P29;sbit RS=P2A1;sbit rin g=P2A2;uchar code table="0123456789" uchar code table2="FISH LEONG

14、"uchar temp,num,num2;char x;void delay(uint z)uint x,y;for(x=z;x>0;x-) for(y=110;y>0;y-);void con(uchar con)RS=0;EN=0;P0=con;delay(1);EN=1;delay(1);EN=0;void date(uchar date)RS=1;EN=0;P0=date;delay(1);EN=1;delay(1);EN=0;void init()ring=0;con(0x38);con(0x0e);con(0x06);con(0x01);con(0x80);f

15、or(num2=0;num2<10;num2+)date(table2num2);con(0x80+0x40);void RING()ring=1;delay(100);ring=0;void key_scan()P3=0xfe;temp=P3;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P3;temp=temp&0xf0;if(temp!=0xf0)x+;RING();switch(temp)case 0xe0:num=1;break;case 0xd0:num=2;break;case 0xb0:num=3;break;dat

16、e(tablenum);while(temp!=0xf0)temp=P3;-15-temp=temp&0xf0;P3=0xfd;temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(5); temp=P3; temp=temp&0xf0; if(temp!=0xf0) x+; RING(); switch(temp) case 0xe0:num=4;break; case 0xd0:num=5;break; case 0xb0:num=6;break; date(tablenum); while(temp!=0xf0)temp=P3

17、; temp=temp&0xf0;P3=0xfb;temp=P3;temp=temp&0xf0;if(temp!=0xf0)delay(5); temp=P3;temp=temp&0xf0; if(temp!=0xf0) RING();switch(temp)case 0xe0:num=7;break;case 0xd0:num=8;break;case 0xb0:num=9;break; date(tablenum);while(temp!=0xf0)temp=P3; temp=temp&0xf0;P3=0xf7; temp=P3; temp=temp&0xf0; if(temp!=0xf0) delay(5); temp=P3; temp=temp&0xf0; if(temp!=0xf0) RING(); switch(te

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論