




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、江蘇食品職業(yè)技術(shù)學(xué)院論文系別 機(jī)電工程系班級(jí) 機(jī)電101姓名 李明學(xué)號(hào) 目錄摘要31、概述32、總體設(shè)計(jì)方案32.1總體設(shè)計(jì)要求32.2系統(tǒng)框圖43、系統(tǒng)硬件設(shè)計(jì)43.1單片機(jī)的最小系統(tǒng)53.1.1電源電路53.1.2復(fù)位電路53.1.3晶振電路63.2 LED數(shù)碼管顯示部分63.3矩陣鍵盤(pán)73.3.1鍵盤(pán)的工作原理73.3.2鍵盤(pán)檢測(cè)原理74、系統(tǒng)軟件設(shè)計(jì)94.1 軟件設(shè)計(jì)思想94.2 主程序設(shè)計(jì)104.3 子程序設(shè)計(jì)114.3.1 數(shù)碼管顯示程序設(shè)計(jì)114.3.2 鍵盤(pán)檢測(cè)程序設(shè)計(jì)114.3.3延時(shí)函數(shù)程序設(shè)計(jì)145、系統(tǒng)調(diào)試146.設(shè)計(jì)體會(huì)15參考文獻(xiàn)15摘要單片機(jī)自20世紀(jì)70年代以來(lái)
2、,以其極高的性?xún)r(jià)比,以及方便小巧受到人們極大的重視和關(guān)注。本設(shè)計(jì)選用AT89S52芯片作為控制芯片,來(lái)實(shí)現(xiàn)矩陣鍵盤(pán)對(duì)LED數(shù)碼管顯示的控制。通過(guò)單片機(jī)的內(nèi)部控制實(shí)現(xiàn)對(duì)硬件電路的設(shè)計(jì),從而實(shí)現(xiàn)對(duì)4*4矩陣鍵盤(pán)的檢測(cè)識(shí)別。用單片機(jī)的P3口連接44矩陣鍵盤(pán),并以單片機(jī)的P3.0P3.3口作鍵盤(pán)輸入的列線,以單片機(jī)的P3.4P3.7口作為鍵盤(pán)輸入的行線,然后用P0.0P0.7作輸出線,通過(guò)上拉電阻在顯示器上顯示不同的字符“0F”。在硬件電路的基礎(chǔ)上加上軟件程序的控制來(lái)實(shí)現(xiàn)本設(shè)計(jì)。其工作過(guò)程為:先判斷是否有鍵按下,如果沒(méi)有鍵按下,則繼續(xù)檢測(cè)整個(gè)程序,如果有鍵按下,則識(shí)別是哪一個(gè)鍵按下,最后通過(guò)LED數(shù)碼
3、管顯示該按鍵所對(duì)應(yīng)的序號(hào)。關(guān)鍵詞:AT89S52芯片;4*4矩陣鍵盤(pán);鍵盤(pán)識(shí)別;LED數(shù)碼管1、概述隨著單片機(jī)系統(tǒng)的日益更新,以及人們對(duì)產(chǎn)品的人機(jī)交互能力的不斷提高;使得單片機(jī)系統(tǒng)的人機(jī)界面設(shè)計(jì)能力成為學(xué)習(xí)單片機(jī)的一項(xiàng)重要的基礎(chǔ)內(nèi)容。而4*4鍵盤(pán)的操作和LED數(shù)碼管的動(dòng)態(tài)顯示是人機(jī)界面設(shè)計(jì)中最基礎(chǔ)的內(nèi)容,掌握這些基礎(chǔ)的設(shè)計(jì)能力對(duì)以后的學(xué)習(xí)研究是非常必要的。2、總體設(shè)計(jì)方案2.1總體設(shè)計(jì)要求本系統(tǒng)采用單片機(jī)AT89S52為數(shù)碼管的控制核心,制造一種簡(jiǎn)單的4*4鍵盤(pán)檢測(cè)顯示,能夠在目測(cè)條件下四位數(shù)碼管各段亮度均勻、充足,本系統(tǒng)具有硬件少,結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn),性能穩(wěn)定可靠,成本低等特點(diǎn)。根據(jù)設(shè)計(jì)要求
4、,確定的設(shè)計(jì)方案如下:2.1.1 選擇AT89S52單片機(jī)作為整個(gè)系統(tǒng)的核心器件,對(duì)整個(gè)系統(tǒng)進(jìn)行總體控制,發(fā)送并實(shí)時(shí)處理系統(tǒng)信息。2.1.2通過(guò)編程顯示字符: 0-F。2.1.3當(dāng)檢測(cè)有按鍵按下時(shí)數(shù)碼管顯示與該按鍵相對(duì)應(yīng)的字符。 2.1.4 鍵盤(pán)檢測(cè)信號(hào)連接到單片機(jī)的P3口,顯示信號(hào)連接到單片機(jī)的P0口。2.1.5數(shù)碼管點(diǎn)亮過(guò)程有程序控制,P2.4,P2.5, P2.6,P2.7分別作為四位數(shù)碼管的位選,數(shù)碼管采用直接驅(qū)動(dòng)方式,共陽(yáng)極接法。2.2系統(tǒng)框圖本設(shè)計(jì)行、列驅(qū)動(dòng)電路,顯示屏電路,運(yùn)用單片機(jī)的智能化,系統(tǒng)將每個(gè)功能電路模塊連接在一起,總體結(jié)構(gòu)設(shè)計(jì)如下圖2-1所示:AT89S52 鍵鍵盤(pán)檢
5、測(cè)數(shù)碼管顯示圖 2-1 系統(tǒng)框圖3、系統(tǒng)硬件設(shè)計(jì)本系統(tǒng)的硬件電路是由單片機(jī)最小系統(tǒng)、按鍵電路、數(shù)碼管顯示電路三部分組成。其中,單片機(jī)最小系統(tǒng)包括電源電路、復(fù)位電路和晶振電路構(gòu)成;按鍵電路采用獨(dú)立編碼方式;顯示部分使用共陽(yáng)型高臺(tái)掃描、高態(tài)顯示信號(hào)驅(qū)動(dòng)電路,完成數(shù)字效果。3.1單片機(jī)的最小系統(tǒng) 3.1.1電源電路電源是一切器件工作的根本,有一個(gè)穩(wěn)定的電源是很重要的。由于單片機(jī)和數(shù)碼管的功耗都很小,所以本設(shè)計(jì)選用單片機(jī)下載線直接供電,實(shí)驗(yàn)證明單片機(jī)和數(shù)碼管的工作正常。如圖3-1所示,電源模塊。 圖3-13.1.2復(fù)位電路為了確保系統(tǒng)中電路穩(wěn)定可靠地工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能
6、是上電復(fù)位。一般單片機(jī)電路正常工作需要供電5V5%,即4.755.25V。由于系統(tǒng)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)VCC超過(guò)4.75V低于5.25V以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)才被撤除,系統(tǒng)電路開(kāi)始正常工作。復(fù)位電路如圖3-2所示。 圖3-23.1.3晶振電路晶振是為電路提供頻率基準(zhǔn)的元器件,通常分成有源晶振和無(wú)源晶振兩個(gè)大類(lèi),無(wú)源晶振通常信號(hào)質(zhì)量和精度較差,需要精確匹配外圍電路(電感、電容、電阻等),如需更換晶振時(shí)要同時(shí)更換外圍的電路。有源晶振不需要芯片的內(nèi)部振蕩器,可以提供高精度的頻率基準(zhǔn),信號(hào)質(zhì)量也較無(wú)源晶振要好。本設(shè)計(jì)選用有源晶振,晶振電路如圖3
7、-3所示。 圖3-33.2 LED數(shù)碼管顯示部分?jǐn)?shù)碼管采用的是共陽(yáng)極的四位數(shù)碼管,由P2端口的4,5,6,7口分別作為四位數(shù)碼管的位選,P0端口作為四位數(shù)碼管的位選。數(shù)碼管電路圖如圖3-4所示。 圖3-43.3矩陣鍵盤(pán)3.3.1鍵盤(pán)的工作原理 按鍵設(shè)置在行、列線交點(diǎn)上,行、列線分別連接到按鍵開(kāi)關(guān)的兩端。無(wú)按鍵按下時(shí),行線處于高電平的狀態(tài), 當(dāng)有按鍵按下時(shí), 行線電平由此行線相連的列線電平?jīng)Q定。3.3.2鍵盤(pán)檢測(cè)原理鍵盤(pán)的檢測(cè),首先要解決的問(wèn)題是鍵盤(pán)抖動(dòng)現(xiàn)象。(如圖3-5所示)消抖的方法有兩種,軟件消抖和硬件消抖。由于硬件消抖結(jié)構(gòu)比軟件復(fù)雜,所以本設(shè)計(jì)采用的是軟件消抖的方法,既在程序中加入5毫秒
8、的延時(shí),延時(shí)后再次返回P3的值二次判斷是否有鍵盤(pán)按下。 圖3-5首先,將0xfe賦于P3口(此值是用于檢測(cè)矩陣鍵盤(pán)的第一行按鍵),然后看P3&0xf0是否等于0xf0,如果等于則鍵盤(pán)第一行無(wú)按鍵按下,反之則鍵盤(pán)第一行有按鍵按下。具體是哪個(gè)鍵按下要根據(jù)P3&0xf0的值確定。例如:P3&0xf0=0xe0,則表示鍵盤(pán)第一行的第一個(gè)鍵按下。將鍵盤(pán)檢測(cè)函數(shù)的值返回table中,這樣數(shù)碼管就能顯示與按鍵一相對(duì)應(yīng)的字符了。P3等于0xfd,0xfb,0xf7分別用于檢測(cè)按鍵的二,三,四行的,如果第一行檢測(cè)無(wú)按鍵按下,則跳到其他行進(jìn)行檢測(cè),如此循環(huán)。鍵盤(pán)連接圖如圖3-6所示。 圖3-64、系統(tǒng)軟件設(shè)計(jì)4.
9、1 軟件設(shè)計(jì)思想主程序先進(jìn)行設(shè)置數(shù)碼管閑時(shí)顯示- - - -,并啟動(dòng),再進(jìn)行鍵盤(pán)檢測(cè)載入0-F字符,然后判斷是否有按鍵按下,按不同情況進(jìn)行循環(huán)調(diào)用子程序。進(jìn)入子程序后,首先設(shè)置相應(yīng)的程序,反復(fù)調(diào)用顯示子程序,并在顯示過(guò)程中反復(fù)調(diào)用鍵盤(pán)掃描子程序進(jìn)行延時(shí),判斷是否退出相應(yīng)的顯示子程序。設(shè)計(jì)過(guò)程中,很好地提高了按鍵響應(yīng)速度。如圖4-1所示為軟件系統(tǒng)框圖。主程序掃檢測(cè)子程序延時(shí)子程序顯示子程序圖 4-1 軟件設(shè)計(jì)框圖顯示編碼:因?yàn)樵摂?shù)碼管為共陽(yáng)極顯示,可以把I/O口輸出位對(duì)應(yīng)每段數(shù)碼管顯示段,因此若要使數(shù)碼管一段點(diǎn)亮,則該位為“0”;該段不亮,則該位為“1”。所以對(duì)“0-F”的編碼,并將編碼寫(xiě)入數(shù)組
10、中便于查表操作?!?-F”對(duì)應(yīng)的十六進(jìn)制數(shù)如下表4-2:0123456789ABCDEF0xc00xf90xa40xb00x990x920x820xf80x800x900x880x830xc60xa10x860x8e 表4-24.2 主程序設(shè)計(jì)程序開(kāi)始后只有一個(gè)不斷執(zhí)行鍵盤(pán)檢測(cè)函數(shù)的循環(huán)。圖4-3為主程序的流程圖。 開(kāi)始聲明函數(shù)變量執(zhí)行檢測(cè)函數(shù)圖 4-3 主程序流程圖主程序如下: void main()/主函數(shù)num=17;P2=0x0f;/數(shù)碼管位選,讓四個(gè)數(shù)碼管都亮P0=0xbf;/數(shù)碼管段選,程序剛開(kāi)始數(shù)碼管顯示- - - -while(1)/死循環(huán),始終執(zhí)行鍵盤(pán)檢測(cè)和數(shù)碼管的顯示P0=
11、tablekeyscan()-1;/數(shù)碼管的顯示,調(diào)用鍵盤(pán)檢測(cè)函數(shù) 4.3 子程序設(shè)計(jì)本設(shè)計(jì)的子程序包括數(shù)碼管顯示程序、按鍵檢測(cè)程序、延時(shí)程序三種,下面依次詳細(xì)介紹。4.3.1 數(shù)碼管顯示程序設(shè)計(jì)將0-F字符的十六進(jìn)制碼編好,放入數(shù)組table中。在程序開(kāi)始時(shí)數(shù)碼管顯示- - - - 。當(dāng)有按鍵按下時(shí),則數(shù)碼管顯示與該按鍵相對(duì)應(yīng)的字符。數(shù)碼管顯示子程序如下:Uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf;P2=0x0f;/數(shù)碼管位選,讓四個(gè)
12、數(shù)碼管都亮 P0=tablekeyscan()-1;/調(diào)用鍵盤(pán)檢測(cè)函數(shù)4.3.2 鍵盤(pán)檢測(cè)程序設(shè)計(jì)系統(tǒng)中采用4*4矩陣鍵盤(pán),在P3口接按鍵,P0端口控制數(shù)碼管顯示。在鍵盤(pán)檢測(cè)函數(shù)里,依次送出列檢測(cè)信號(hào),而每組列檢測(cè)信號(hào)輸出后,即讀取按鍵狀態(tài),若有按下按鍵,則進(jìn)行鍵值的判斷與計(jì)算,再將其對(duì)應(yīng)的字符信號(hào)送入數(shù)碼管顯示。部分鍵盤(pán)檢測(cè)子程序如下:uchar keyscan()/鍵盤(pán)檢測(cè)部分P3=0xfe;temp=P3;temp=temp&0xf0;while(temp!=0xf0)delay(5);/延時(shí)5毫秒,消抖temp=P3;temp=temp&0xf0;while(temp!=0xf0)/再
13、次確認(rèn)是否有按鍵按下temp=P3;switch(temp)case 0xee:num=1;/如果P3=0xee,則檢測(cè)到鍵盤(pán)第一個(gè)鍵按下,以下同理break;case 0xde:num=2;break;case 0xbe:num=3;break;case 0x7e:num=4;break;while(temp!=0xf0)temp=P3;temp=temp&0xf0;P3=0xfd;temp=P3;temp=temp&0xf0;while(temp!=0xf0)delay(5); /延時(shí)5毫秒,消抖temp=P3;temp=temp&0xf0;while(temp!=0xf0) /再次確認(rèn)是
14、否有按鍵按下temp=P3;switch(temp)case 0xed:num=5;/如果P3=0xed,則檢測(cè)到鍵盤(pán)第五個(gè)鍵按下,以下同理break;case 0xdd:num=6;break;case 0xbd:num=7;break;case 0x7d:num=8;break;while(temp!=0xf0)temp=P3;temp=temp&0xf0;return num;4.3.3延時(shí)函數(shù)程序設(shè)計(jì)本設(shè)計(jì)采用有返回值的延時(shí)函數(shù),延時(shí)函數(shù)如下:void delay(uint z)/有返回值的延時(shí)函數(shù)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);5、系統(tǒng)調(diào)試此次系統(tǒng)設(shè)計(jì)的結(jié)果很好,數(shù)碼管和鍵盤(pán)都能按原先設(shè)想的工作。這個(gè)方案設(shè)計(jì)的4*4鍵盤(pán)檢測(cè)顯示字符,電路簡(jiǎn)單,成本較低,且較容易擴(kuò)展;數(shù)碼管各段亮度均勻、充足;顯示字符穩(wěn)定、清晰無(wú)串?dāng)_.在KEIL軟件中的仿真如圖5-1所示。 圖5-16.設(shè)計(jì)體會(huì)通過(guò)此次課程設(shè)計(jì),讓我學(xué)到了許多不知道的知識(shí),在單片機(jī)的基本功能、數(shù)碼管的顯示、矩陣鍵盤(pán)的使用,還有其他元器件的選用有了一個(gè)較清晰的認(rèn)識(shí),在程序設(shè)計(jì)的思路,理論到實(shí)踐的運(yùn)用能力有了很大提高。通過(guò)這次課程設(shè)計(jì)的學(xué)習(xí),我有了一定的實(shí)踐經(jīng)驗(yàn)和理論基礎(chǔ),讓我位以后的學(xué)習(xí)奠定了基礎(chǔ);在設(shè)計(jì)思路上,通過(guò)查閱資料了解
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 游戲公司企業(yè)文化
- Photoshop平面設(shè)計(jì)基礎(chǔ) 課件 任務(wù)5.3 制作旅行社T型廣告牌海報(bào)
- 住宅租賃安全責(zé)任與裝修安全協(xié)議
- 地質(zhì)災(zāi)害監(jiān)測(cè)測(cè)量員聘請(qǐng)與預(yù)警協(xié)議
- 車(chē)輛安全保險(xiǎn)理賠處理協(xié)議
- 通信材料回購(gòu)方案
- 住宅小區(qū)停車(chē)場(chǎng)租賃合同規(guī)范范本及停車(chē)管理
- 餐飲企業(yè)股權(quán)轉(zhuǎn)讓及品牌推廣權(quán)合同
- 太倉(cāng)歷史面試題及答案
- 手繪校園面試題及答案
- 五升六數(shù)學(xué)暑假作業(yè)每日一練打印練習(xí)
- 2025年入黨考試題及答案
- 低空經(jīng)濟(jì)專(zhuān)題系列報(bào)告四:無(wú)人機(jī)與低空物流:擁抱無(wú)人物流時(shí)代
- 新校區(qū)搬遷活動(dòng)方案
- 《國(guó)家學(xué)生體質(zhì)健康標(biāo)準(zhǔn)》登記卡(高中樣表)
- 靜脈炎的分級(jí)及護(hù)理課件
- 折讓證明模板
- 培智學(xué)生XXX個(gè)別化教育手冊(cè)
- AWG,SWG,BWG線規(guī)規(guī)格對(duì)照表
- 《房屋面積測(cè)算技術(shù)規(guī)程》DGJ32TJ131-2022
- (整理)小學(xué)數(shù)獨(dú)游戲校本課程教材.
評(píng)論
0/150
提交評(píng)論