單片機數(shù)碼管顯示系統(tǒng)課程設計_第1頁
單片機數(shù)碼管顯示系統(tǒng)課程設計_第2頁
單片機數(shù)碼管顯示系統(tǒng)課程設計_第3頁
單片機數(shù)碼管顯示系統(tǒng)課程設計_第4頁
單片機數(shù)碼管顯示系統(tǒng)課程設計_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)碼管顯示與鍵盤掃描系統(tǒng)摘要:現(xiàn)如今已經(jīng)跨越了三個“電”的時代,即電氣時代、電子時代和現(xiàn)已進入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成。還有一類計算機,這種計算機就是把智能賦予各種機械的單片機(亦稱微控制器)。這種計算機的最小系統(tǒng)只用了一片集成電路,就可進行簡單運算和控制。因為它體積小,通常都是放置在一個機械裝置的內(nèi)部。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了。各種產(chǎn)品一旦用上了單片機,就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞——“智能型”,如智能型洗衣機等。現(xiàn)在有些工廠的技術人員或其它業(yè)余電子開發(fā)者搞出來的某些產(chǎn)品,不是電路太復雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機或其它可編程邏輯器件上。數(shù)碼管顯示與鍵盤掃描系統(tǒng)是單片機系統(tǒng)中十分典型的應用,可將4X4鍵盤的按鍵對應顯示在數(shù)碼管上。關鍵詞:單片機關鍵詞:單片機數(shù)碼管一、緒論研究意義用單片機驅(qū)動LED數(shù)碼管有很多方法,按顯示方式可分靜態(tài)顯示和動態(tài)(掃描)顯示;按譯碼方式可分硬件譯碼和軟件譯碼。靜態(tài)顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時間。動態(tài)顯示需要CPU時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多。LED數(shù)碼管的外圍電路一般需要一個限流電阻和加大驅(qū)動電流的品體管。LED數(shù)碼管是由發(fā)光二級管顯示字段組成的顯示器,有“8”字段和“米”字段之分,這種顯示器有共陽極和共陰極兩種。實際上不用驅(qū)動電路即可達到正常亮度,為了可靠性設計可采用品體管構(gòu)成驅(qū)動電路。設計目的在單片機的產(chǎn)品設計中,人機界面是非常重要的部分,而且隨著系統(tǒng)的日益復雜,以及人們對產(chǎn)品的人機交互能力的要求不斷提升,常握單片機系統(tǒng)中的人機界面基礎設計能力成為了學習單片機的基礎課程,而4X4鍵盤的操作和LED數(shù)碼管的動態(tài)顯示是人機界面設計的基礎內(nèi)容,掌握這些基礎設計能力,加深對人機界面的認識,同時提高人機界面系統(tǒng)設計能力。研究范圍及技術要求半導體數(shù)碼管,4X4鍵盤。做此實驗用51板,因為51板提供了相應的LED模組,LED顯示器是單片機應用中常用的輸出器件,4X4鍵盤的擴展顯示也是在MCS-51上進行實驗。給4X4鍵盤的每個鍵定義一個功能,其中把定義為0~9的鍵盤稱為數(shù)字鍵,把定義成DEL的鍵稱為刪除鍵,把定義成ENT的鍵成為確認鍵,其他鍵稱為保留鍵。如果是數(shù)字鍵按下,把代表數(shù)字顯示在數(shù)碼管上:按鍵按下時,6位數(shù)碼管靠右邊顯示該鍵的代表數(shù)字;繼續(xù)按鍵時,已經(jīng)顯示在數(shù)碼管上的數(shù)字左移一位,按鍵代表的數(shù)字顯示在最右邊的數(shù)碼管上。發(fā)展及指導思想單片機在開發(fā)過程中,常常會因為資源不足而不得不大量擴展接口芯片以滿足應用系統(tǒng)的需要。國外主要采用串行接口的鍵盤顯示專用芯片,如BC7280/81、HD7279、CH451等。這類芯片占用CPU的資源少,傳輸速度較快,外圍器件要求也較少,在中小系統(tǒng)中都可得到廣泛的應用。指導思想主要是用串行接口使得鍵盤的擴展在LED上顯示。二、方案論述數(shù)碼管工作原理數(shù)碼管由8個發(fā)光二極管(以下簡稱字段)構(gòu)成,通過不同的組合可用來顯示數(shù)字0?9,字符A?F、H、L、P、R、U、Y等符號及小數(shù)點“.”。數(shù)碼管又分為共陰極和共陽極兩種類型。共陽極數(shù)碼管中8個發(fā)光二極管的陽極(二極管正端)連接一起,即為共陽極接法,簡稱共陽數(shù)碼管。通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當某段驅(qū)動電路的輸入端為低電平時,該端所連接的字段導通并點亮。根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻。共陰極數(shù)碼管中8個發(fā)光二極管的陰極(二極管負端)連接在一起,即為共陰極接法,簡稱共陰數(shù)碼管。通常,共陰極接低電平(一般接地),其它管腳接段驅(qū)動電路輸出端。當某段驅(qū)動電路的輸出端為高電平時,該端所連接的字符導通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。同樣,要求段驅(qū)動電路能提供額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻。

1LI115心世真T6WMiHiIW"F?!*0些』傾如丹建1LI115心世真T6WMiHiIW"F?!*0些』傾如丹建X!g?i?Ji0哼網(wǎng)F31網(wǎng)PgJiWm麗彤砸陽.絲單片機數(shù)碼管顯示控制程序設計仿真圖4X4行列式鍵盤的工作原理行列式鍵盤的工作方式是先用列線發(fā)送掃描字,然后讀取行線的狀態(tài),查看是否有按鍵按下。鍵盤部分提供一種掃描的工作方式,可以和具有64個按鍵的矩陣鍵盤相連接,能對鍵盤不斷掃描、自動消抖、自動識別按下的鍵,并給出編碼,能對雙鍵或n個鍵同時按下的情況實行保護。在顯示部分,它可以為發(fā)光二極管、熒光管及其他顯示器提供按掃描方式工作的顯示接口,而且為顯示器提供多路復用信號,可以顯示多達16位的字符或數(shù)字。鍵盤中有無按鍵按下是由列線送入全掃描字、行線讀入行線狀態(tài)來判斷的,其方法是將列線的所有I/O線均置成低電平,然后將行線電平狀態(tài)讀入累加器A中,如果有鍵按下,總會有一根行線被拉至低電平,從而使行輸入不全為1。鍵盤中哪一個鍵按下可由列線逐列置低電平后,檢查行輸入狀態(tài)來判斷,其方法是依次給列線送低電平,然后檢查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列,如果不全為1,則所按下的鍵必在此列,而且是在與0電平線相交的交點上的那個鍵。C44X4鍵盤電路圖圖中C1~C4為4X4鍵盤的列掃描線,L1~L4為4X4鍵盤的行掃描線。先使行掃描線輸出高電平,然后讀取列掃描線的狀態(tài),得到與按鍵橫向位置對應的4位列碼;如果是有鍵被按下時,則對應的列掃描線必然會被讀回高電平,如果是無鍵盤按下時,則讀取的列碼必定全是0(低電平)。這也就可以判斷有無按鍵的按下了。軟件流程圖程序開始先對第一列進行掃描,如果沒有按鍵,再對第二列、第三列、第四列分別進行掃描,如果沒有返回到開始;如果第一列有按鍵,在分別對第一行、第二行、第三行、地四行,進行掃描,若有按鍵按下分別顯示0、1、2、3;第二列、第三列、第四列類似第一列,分別對第一行、第二行、第三行、第四行進行掃描,有按鍵相應的顯示出數(shù)值。流程圖見附件1。4.電路硬件說明.鍵盤與單片機連接在“單片機系統(tǒng)”區(qū)域中,把單片機的P3.0-P3.7端口通過8聯(lián)撥動撥碼開關JP3連接到“4X4行列式鍵盤”區(qū)域中的M1-M4,N1-N4端口上。.單片機與LED連接在“單片機系統(tǒng)”區(qū)域中,把單片機的P0.0-P0.7端口連接到“靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任何一個a-h端口上;要求:P0.0對應著a,P0.1對應著b,P0.7對應著h。5.程序設計內(nèi)容.4X4矩陣鍵盤識別處理.按鍵的行列接法每個按鍵都有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。鍵盤的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0”實現(xiàn)的。鍵盤處理程序的任務是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么?還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地;另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitBEEP=P3”7;ucharcodeDSY_CODE[]=(0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00};ucharPre_KeyNO=16,KeyNO=16;voidDelayMS(uintms)(uchart;while(ms--)(for(t=0;t<120;t++);}}voidKeys_Scan()(ucharTmp;P1=0x0f;DelayMS(1);Tmp=P10x0f;switch(Tmp)(case1:KeyNO=0;break;case2:KeyNO=1;break;case4:KeyNO=2;break;case8:KeyNO=3;break;default:KeyNO=16;}P1=0xf0;DelayMS(1);Tmp=P1>>4"0x0f;switch(Tmp)(case1:KeyNO+=0;break;case2:KeyNO+=4;break;case4:KeyNO+=8;break;case8:KeyNO+=12;}}voidBeep()(uchari;for(i=0;i<100;i++)(DelayMS(1);BEEP=~BEEP;}BEEP=1;}voidmain()(P0=0x00;while(1)(P1=0xf0;if(P1!=0xf0)Keys_Scan();if(Pre_KeyNO!=KeyNO)(P0=~DSY_CODE[KeyNO];Beep();Pre_KeyNO=KeyNO;}DelayMS(100);}}結(jié)果分析結(jié)果仿真圖結(jié)論通過這次課程設計,Keilc51軟件工作環(huán)境的熟悉以及掌握基本的操作,實現(xiàn)電路原理圖的繪制及電路仿真的實現(xiàn),我還認識到理論與實際相結(jié)合的重要性,理論知識再豐富,沒有實際的操作經(jīng)驗是不行的,這樣還可以鍛煉我們的實際動手操作能力和獨立思考能力。單片機知識在電子領域越來越重要了,在這次課程設計中我又了解了更多單片機的知識,從而也對單片機仿真軟件產(chǎn)生了興趣,學到了書上沒有的東西,為以后工作又做了一層鋪墊。在課程設計過程中遇到的一些問題,通過查詢資料和結(jié)合平時學到的知識,當然還有和同學的討論得到了解決。致謝經(jīng)過這一個周的實訓,單片機課程設計也已接近尾聲,回顧這星期內(nèi)和老師、同學們一起努力時的點點滴滴,不經(jīng)感慨萬千。在此我首先要感謝學校,是學校給我們提供了良好的硬件設施,讓我們能順利的完成實訓。其次,我要感謝我的單片機老師一陳顯明老師。陳老師無論在課程學習、設計上,還是在為人處事上,都給予我許多教誨,這些影響將使我終身受益。同時我還要感謝

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論