單片機(jī)課程設(shè)計鍵盤輸入在LED數(shù)碼管上的顯示_第1頁
單片機(jī)課程設(shè)計鍵盤輸入在LED數(shù)碼管上的顯示_第2頁
單片機(jī)課程設(shè)計鍵盤輸入在LED數(shù)碼管上的顯示_第3頁
單片機(jī)課程設(shè)計鍵盤輸入在LED數(shù)碼管上的顯示_第4頁
單片機(jī)課程設(shè)計鍵盤輸入在LED數(shù)碼管上的顯示_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課 程 設(shè) 計課 程 單片機(jī)的控制系統(tǒng)課程設(shè)計 題 目 鍵盤輸入在led數(shù)碼管上的顯示 院 系 電氣信息工程學(xué)院 專業(yè)班級 學(xué)生姓名 學(xué)生學(xué)號 指導(dǎo)教師 年 月 日 課程設(shè)計任務(wù)書課程 單片機(jī)的控制系統(tǒng)課程設(shè)計題目 鍵盤輸入在led數(shù)碼管上的顯示專業(yè) 姓名 學(xué)號 主要內(nèi)容、基本要求、主要參考資料等主要內(nèi)容:完成鍵盤輸入在led數(shù)碼管上的顯示?;疽螅?1了解 44 鍵盤的工作原理。2熟悉 spce061a 單片機(jī)控制數(shù)碼管顯示的方法。3掌握 44 鍵盤的使用方法。4掌握 44 鍵盤控制數(shù)碼管顯示的方法。參考資料:1肖洪兵.跟我學(xué)用單片機(jī)j.北京:北京航空航天大學(xué)出版社,2002.8 2何立

2、民.單片機(jī)高級教程第1版m.北京:北京航空航天大學(xué)出版社,2001.63趙曉安.mcs-51單片機(jī)原理及應(yīng)用m.天津:天津大學(xué)出版社,2001.3 4李廣第.單片機(jī)基礎(chǔ)第1版m.北京:北京航空航天大學(xué)出版社,1999.55徐惠民.單片微型計算機(jī)原理與應(yīng)用m.北京:北京郵電大學(xué)出版社,1996.26 袁勤勇.嵌入式系統(tǒng)構(gòu)件m.北京:北京機(jī)械工業(yè)出版社,2002.完成期限 指導(dǎo)教師 專業(yè)負(fù)責(zé)人 年 月 日目 錄第1章 設(shè)計的研究背景及目的要求11.1 研究背景11.2 設(shè)計目的11.3 硬件選擇11.4 設(shè)計內(nèi)容1第2章 設(shè)計的基本原理及硬件連接方案22.1 4x4鍵盤掃描原理圖22.2 spce

3、061a獲取44鍵盤鍵值原理22.3 硬件連接3第3章 軟件設(shè)計方案53.1 設(shè)計步驟53.2 設(shè)計程序6第4章 調(diào)試結(jié)果與分析74.1 調(diào)試結(jié)果74.2 結(jié)果分析7結(jié)論與體會8參考文獻(xiàn)9附錄10第1章 設(shè)計的研究背景及目的要求1.1 研究背景用單片機(jī)驅(qū)動led數(shù)碼管有很多方法,按顯示方式可分靜態(tài)顯示和動態(tài)(掃描)顯示;按譯碼方式可分硬件譯碼和軟件譯碼。靜態(tài)顯示數(shù)據(jù)穩(wěn)定,占用很少的cpu時間。動態(tài)顯示需要cpu時刻對顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的cpu時間多。led數(shù)碼管的外圍電路一般需要一個限流電阻和加大驅(qū)動電流的晶體管。led數(shù)碼管是由發(fā)光二級管顯示字段組成的顯示器,有“8

4、”字段和“米”字段之分,這種顯示器有共陽極和共陰極兩種。實際上不用驅(qū)動電路即可達(dá)到正常亮度,為了可靠性設(shè)計可采用晶體管構(gòu)成驅(qū)動電路。1.2 設(shè)計目的在單片機(jī)的產(chǎn)品設(shè)計中,人機(jī)界面是非常重要的部分,而且隨著系統(tǒng)的日益復(fù)雜,以及人們對產(chǎn)品的人機(jī)交互能力的要求不斷提升,常握單片機(jī)系統(tǒng)中的人機(jī)界面基礎(chǔ)設(shè)計能力成為了學(xué)習(xí)單片機(jī)的基礎(chǔ)課程,而4x4鍵盤的操作和led數(shù)碼管的動態(tài)顯示是人機(jī)界面設(shè)計的基礎(chǔ)內(nèi)容,掌握這些基礎(chǔ)設(shè)計能力,加深對人機(jī)界面的認(rèn)識,同時提高人機(jī)界面系統(tǒng)設(shè)計能力。1.3 硬件選擇裝有windows系統(tǒng)和nsp ide仿真環(huán)境的pc機(jī)一臺,nsp 十六位單片機(jī)實驗箱一個。本設(shè)計用到的實驗箱硬

5、件模塊為:spce061a核心及周邊電路模塊(包含32個i/o口)。半導(dǎo)體數(shù)碼管,44鍵盤。做此實驗用51板也可以,因為51板也提供了相應(yīng)的led模組,因為實驗室里面給我們提供了61板,所以我決定選用spce061a單片機(jī)實驗箱。1.4 設(shè)計內(nèi)容給 44 鍵盤的每個鍵定義一個功能,其中把定義為 09 的鍵盤稱為數(shù)字鍵,把定義成 del 的鍵稱為刪除鍵,把定義成 ent 的鍵成為確認(rèn)鍵,其他鍵稱為保留鍵。如果是數(shù)字鍵按下,把代表數(shù)字顯示在數(shù)碼管上:按鍵按下時,6 位數(shù)碼管靠右邊顯示該鍵的代表數(shù)字;繼續(xù)按鍵時,已經(jīng)顯示在數(shù)碼管上的數(shù)字左移一位,按鍵代表的數(shù)字顯示在最右邊的數(shù)碼管上。第2章 設(shè)計的基

6、本原理及硬件連接方案2.1 4x4鍵盤掃描原理圖鍵盤按其接線方法有:直接式鍵盤、行列式鍵盤(又稱矩陣鍵盤)、串轉(zhuǎn)并鍵盤等;在本設(shè)計中,采用4x4的行列式鍵盤,即鍵盤排列為4行、4列,共16個按鍵。44鍵盤的電路圖如圖 1-3所示,分別定義這16個按鍵盤為key116。圖 2-1 44鍵盤電路圖圖中c1c4為44鍵盤的列掃描線,l1l4為44鍵盤的行掃描線。先使行掃描線輸出高電平,然后讀取列掃描線的狀態(tài),得到與按鍵橫向位置對應(yīng)的4位列碼;如果是有鍵被按下時,則對應(yīng)的列掃描線必然會被讀回高電平,如果是無鍵盤按下時,則讀取的列碼必定全是0(低電平)。這也就可以判斷有無按鍵的按下了。2.2 spce0

7、61a獲取44鍵盤鍵值原理單片機(jī)與該電路連接時,使用4個端口作為輸出口,接4條行掃描線;使用4個端口作為輸入口,接4條列掃描線。使用spce061a的ioa815八個端口作44鍵盤的掃描,ioa03接行掃描線,ioa47接列掃描線。ioa15ioa14ioa13ioa12spce061a ioa 11 ioa10 ioa9 ioa8l1l2l3l44x4鍵盤c1c2c3c4圖 2-2 spce061a和44鍵盤電路連接圖如上圖中,ioa12ioa15設(shè)置為輸出口,接行掃描線;ioa8ioa11設(shè)置為帶下拉電阻的輸入口,接列掃描線。按照44鍵盤的工作原理,先只把ioa12輸出高電平,其他都輸出低

8、電平,掃描ioa8到ioa11四個輸入口的值,如果每個輸入口的值還是0;再把ioa13輸出高電平,其他都輸出低電平,掃描ioa8到ioa11四個輸入口的值,如果每個輸入口還沒有檢測到高電平;從ioa14輸出高電平掃描,從ioa15輸出高電平掃描,直到檢測到高電平,保存掃描行值和列碼。2.3 硬件連接硬件連接圖如圖 2-3,ioa0ioa7連接和6位數(shù)碼管的ag、dp,ioa口的高八位ioa15ioa8連接44鍵盤的l1l4、c1c4,iob15iob12連接數(shù)碼管的位信號14,iob2iob1連接數(shù)碼管的位信號56,iob0連接數(shù)碼管的分隔符信號dd。即把jp4、jp5的引腳全部用跳線短接起來

9、,用一根排線連接j28和jp7,注意j27和jp7的連接順序(連接順序為:j27的第0號引腳連接jp7的c4引腳,j27的第7號引腳連接jp7的l1引腳)。abcdefgdp6位數(shù)碼管123456ddioa0ioa1ioa2ioa3ioa4 ioa15ioa5 ioa14ioa6 ioa13ioa7 ioa12spce061aiob15 ioa11iob14 ioa10iob13 ioa9iob12 ioa8iob2iob1iob0l1l2l3l44x4鍵盤c1c2c3c4圖 2-3 硬件連接圖第3章 軟件設(shè)計方案3.1 設(shè)計步驟1.建立一個新工程cyd,在工程里新建c語言文件main.c。2

10、.拷貝并添加頭文件spce061a.c和spce061a.inc到新建工程cyd。3.按照程序流程圖編寫程序,如圖3-1所示。開始hi初始化系統(tǒng)取鍵值 確認(rèn)鍵按下確認(rèn)鍵按下標(biāo)志1數(shù)字鍵按下且確認(rèn)鍵沒有按下當(dāng)前顯示的數(shù)字左移一位按鍵代表的數(shù)字顯示在最右邊的數(shù)碼管上刪除鍵按下且確認(rèn)鍵沒有按下當(dāng)前顯示的數(shù)字右移一位最左邊的數(shù)碼管顯示0其他清看門狗圖 3-1 主程序流程圖4. rebuild all。5.根據(jù)硬件連接圖連接實驗箱電路。6.下載程序到實驗箱,運行。7.觀察實驗箱led數(shù)碼管的狀態(tài),分析是否和設(shè)計要求相符。3.2 設(shè)計程序由于程序過多,如附錄所示。第4章 調(diào)試結(jié)果與分析4.1 調(diào)試結(jié)果給

11、44 鍵盤的每個鍵定義一個功能,其中把定義為 09 的鍵盤稱為數(shù)字鍵,把定義成del的鍵稱為刪除鍵,把定義成ent的鍵成為確認(rèn)鍵,其他鍵稱為保留鍵。如果是數(shù)字鍵按下,把代表數(shù)字顯示在數(shù)碼管上:按鍵按下時,6位數(shù)碼管靠右邊顯示該鍵的代表數(shù)字;繼續(xù)按鍵時,已經(jīng)顯示在數(shù)碼管上的數(shù)字左移一位,按鍵代表的數(shù)字顯示在最右邊的數(shù)碼管上。如果是刪除鍵按下時,每按一次刪除鍵顯示在最右邊數(shù)字被刪除,其他數(shù)字右移一位,最右邊一位顯示 0,比如在第 5 個數(shù)碼管上顯示“8”,在第 6 個數(shù)碼管上顯示“9”,當(dāng)按一次刪除鍵時,在第 6 個數(shù)碼管上顯示“8”,第 5 個數(shù)碼管顯示按鍵前第四個數(shù)碼管顯示的內(nèi)容(或者說刪除了

12、9)。4.2 結(jié)果分析此設(shè)計驗證了鍵盤輸入在led數(shù)碼管上的顯示的功能??赡軙霈F(xiàn)的問題就是在按鍵時候需要注意,當(dāng)保留鍵按下時,不做任何操作。當(dāng)按確認(rèn)鍵時,按任何鍵將不起作用。結(jié)論與體會設(shè)計結(jié)論:1. 設(shè)計中我遇到了按鍵分辨的問題。2. 我采用的解決方法是自己在紙上記下自己定義的功能。3. 此次設(shè)計的優(yōu)點是程序簡單,不過缺點是操作繁瑣。很難理清按鍵順序。4. 我建議能夠簡化操作步驟,使電路圖連接更清晰。操作起來能夠得心應(yīng)手。心得體會:單片機(jī)是一門非常重視實踐的技術(shù),不能總是看書,但要學(xué)習(xí)它首先應(yīng)看書,對單片機(jī)引腳、內(nèi)部結(jié)構(gòu)、寄存器和原理有一定地了解和感官認(rèn)識,它的是怎樣工作的,能干些什么?剛開

13、始時,也許你看不明白,但這并不要緊,因為你還缺乏實踐經(jīng)驗?,F(xiàn)在單片機(jī)應(yīng)用廣泛,因此各個廠家分別推出了自己的單片機(jī),按內(nèi)部結(jié)構(gòu)體系派系分:51系列、pic系列、avr系列、摩托羅拉等等!因為他們的編程方法和調(diào)試過程以及內(nèi)部指令結(jié)構(gòu)有一定的相似,只要學(xué)精通一款就ok了!尤其是用c語言編程,就幾乎不用分什么派系,但是我們要選擇一款有代表性的知識范圍廣,并且入門容易,書籍多。一般來說,mcs-51系列單片機(jī)已經(jīng)得到廣泛的普及和應(yīng)用,市場上它的資料也比較多,用的人也很多。參考文獻(xiàn)1肖洪兵.跟我學(xué)用單片機(jī)j.北京:北京航空航天大學(xué)出版社,2002.8 2何立民.單片機(jī)高級教程第1版m.北京:北京航空航天大

14、學(xué)出版社,2001.63趙曉安.mcs-51單片機(jī)原理及應(yīng)用m.天津:天津大學(xué)出版社,2001.3 4李廣第.單片機(jī)基礎(chǔ)第1版m.北京:北京航空航天大學(xué)出版社,1999.55徐惠民.單片微型計算機(jī)原理與應(yīng)用m.北京:北京郵電大學(xué)出版社,1996.2 6 袁勤勇.嵌入式系統(tǒng)構(gòu)件m.北京:北京機(jī)械工業(yè)出版社,2002.附錄#include spce061a.h#include dig.h#include key.hint main(void)int ent_flag = 0;unsigned int uikey;unsigned int uidata6 = 1,0,0,0,0,1;uidata0

15、= 0;uidata5 = 0;key_init();dig_init();while(1)uikey = key_get();switch(uikey)case key_0:if(ent_flag = 0)uidata0 = uidata1; uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 7; break;case key_1:if(ent_flag = 0) uidata0 = uidata1;uidata1 = uidata2;uidata2 = uidata3;uida

16、ta3 = uidata4;uidata4 = uidata5;uidata5 = 8; break; case key_2: if(ent_flag = 0) uidata0 = uidata1;uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 9; break;case key_3: break;case key_4:if(ent_flag = 0)uidata0 = uidata1; uidata1 = uidata2;uidata2 = uidata3;uidata3 =

17、uidata4;uidata4 = uidata5;uidata5 = 4; break;case key_5: if(ent_flag = 0) uidata0 = uidata1;uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 5; break;case key_6: if(ent_flag = 0) uidata0 = uidata1; uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidat

18、a5;uidata5 = 6;break;case key_7: break;case key_8: if(ent_flag = 0) uidata0 = uidata1;uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 1;break;case key_9: if(ent_flag = 0) uidata0 = uidata1; uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uida

19、ta5 = 2;break;case key_a: if(ent_flag = 0) uidata0 = uidata1;uidata1 = uidata2;uidata2 = uidata3;uidata3 = uidata4;uidata4 = uidata5;uidata5 = 3;break;case key_b:break;case key_c: if(ent_flag = 0) uidata5 = uidata4; uidata4 = uidata3;uidata3 = uidata2;uidata2 = uidata1;uidata1 = uidata0;uidata0 = 0; break;case key_d: if(ent_fla

溫馨提示

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

最新文檔

評論

0/150

提交評論