2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì)</p><p><b>  年 月 日</b></p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  課程 單片機(jī)的控制系統(tǒng)課程設(shè)計(jì)</p><p>  題目 鍵盤輸

2、入在LED數(shù)碼管上的顯示</p><p>  專業(yè) 姓名 學(xué)號(hào) </p><p>  主要內(nèi)容、基本要求、主要參考資料等</p><p><b>  主要內(nèi)容:</b></p><p>  完成鍵盤輸入在LED數(shù)碼管上的顯示。</p><p&g

3、t;<b>  基本要求: </b></p><p>  1.了解 4×4 鍵盤的工作原理。</p><p>  2.熟悉 SPCE061A 單片機(jī)控制數(shù)碼管顯示的方法。</p><p>  3.掌握 4×4 鍵盤的使用方法。</p><p>  4.掌握 4×4 鍵盤控制數(shù)碼管顯示的方法。

4、</p><p><b>  參考資料:</b></p><p>  [1]肖洪兵.跟我學(xué)用單片機(jī)[J].北京:北京航空航天大學(xué)出版社,2002.8 </p><p>  [2]何立民.單片機(jī)高級(jí)教程第1版[M].北京:北京航空航天大學(xué)出版社,2001.6</p><p>  [3]趙曉安.MCS-51單片機(jī)原理及應(yīng)用[

5、M].天津:天津大學(xué)出版社,2001.3 </p><p>  [4]李廣第.單片機(jī)基礎(chǔ)第1版[M].北京:北京航空航天大學(xué)出版社,1999.5</p><p>  [5]徐惠民.單片微型計(jì)算機(jī)原理與應(yīng)用[M].北京:北京郵電大學(xué)出版社,1996.2</p><p>  [6] 袁勤勇.嵌入式系統(tǒng)構(gòu)件[M].北京:北京機(jī)械工業(yè)出版社,2002.</p>

6、<p>  完成期限 </p><p>  指導(dǎo)教師 </p><p>  專業(yè)負(fù)責(zé)人 </p><p><b>  年 月 日</b></p><p><b>  目 錄</

7、b></p><p>  第1章 設(shè)計(jì)的研究背景及目的要求1</p><p>  1.1 研究背景1</p><p>  1.2 設(shè)計(jì)目的1</p><p>  1.3 硬件選擇1</p><p>  1.4 設(shè)計(jì)內(nèi)容1</p><p>  第2章 設(shè)計(jì)的基本原理及硬件連接方案

8、2</p><p>  2.1 4X4鍵盤掃描原理圖2</p><p>  2.2 SPCE061A獲取4×4鍵盤鍵值原理2</p><p>  2.3 硬件連接3</p><p>  第3章 軟件設(shè)計(jì)方案5</p><p>  3.1 設(shè)計(jì)步驟5</p><p>  3.2

9、 設(shè)計(jì)程序6</p><p>  第4章 調(diào)試結(jié)果與分析7</p><p>  4.1 調(diào)試結(jié)果7</p><p>  4.2 結(jié)果分析7</p><p><b>  結(jié)論與體會(huì)8</b></p><p><b>  參考文獻(xiàn)9</b></p>&l

10、t;p><b>  附錄10</b></p><p>  第1章 設(shè)計(jì)的研究背景及目的要求</p><p><b>  1.1 研究背景</b></p><p>  用單片機(jī)驅(qū)動(dòng)LED數(shù)碼管有很多方法,按顯示方式可分靜態(tài)顯示和動(dòng)態(tài)(掃描)顯示;按譯碼方式可分硬件譯碼和軟件譯碼。靜態(tài)顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時(shí)間

11、。動(dòng)態(tài)顯示需要CPU時(shí)刻對(duì)顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時(shí)間多。LED數(shù)碼管的外圍電路一般需要一個(gè)限流電阻和加大驅(qū)動(dòng)電流的晶體管。</p><p>  LED數(shù)碼管是由發(fā)光二級(jí)管顯示字段組成的顯示器,有“8”字段和“米”字段之分,這種顯示器有共陽(yáng)極和共陰極兩種。實(shí)際上不用驅(qū)動(dòng)電路即可達(dá)到正常亮度,為了可靠性設(shè)計(jì)可采用晶體管構(gòu)成驅(qū)動(dòng)電路。</p><p><b&g

12、t;  1.2 設(shè)計(jì)目的</b></p><p>  在單片機(jī)的產(chǎn)品設(shè)計(jì)中,人機(jī)界面是非常重要的部分,而且隨著系統(tǒng)的日益復(fù)雜,以及人們對(duì)產(chǎn)品的人機(jī)交互能力的要求不斷提升,常握單片機(jī)系統(tǒng)中的人機(jī)界面基礎(chǔ)設(shè)計(jì)能力成為了學(xué)習(xí)單片機(jī)的基礎(chǔ)課程,而4X4鍵盤的操作和LED數(shù)碼管的動(dòng)態(tài)顯示是人機(jī)界面設(shè)計(jì)的基礎(chǔ)內(nèi)容,掌握這些基礎(chǔ)設(shè)計(jì)能力,加深對(duì)人機(jī)界面的認(rèn)識(shí),同時(shí)提高人機(jī)界面系統(tǒng)設(shè)計(jì)能力。</p>&

13、lt;p><b>  1.3 硬件選擇</b></p><p>  裝有Windows系統(tǒng)和μ’nSP? IDE仿真環(huán)境的PC機(jī)一臺(tái),μ’nSP? 十六位單片機(jī)實(shí)驗(yàn)箱一個(gè)。本設(shè)計(jì)用到的實(shí)驗(yàn)箱硬件模塊為:SPCE061A核心及周邊電路模塊(包含32個(gè)I/O口)。半導(dǎo)體數(shù)碼管,4×4鍵盤。做此實(shí)驗(yàn)用51板也可以,因?yàn)?1板也提供了相應(yīng)的LED模組,因?yàn)閷?shí)驗(yàn)室里面給我們提供了61板

14、,所以我決定選用SPCE061A單片機(jī)實(shí)驗(yàn)箱。</p><p><b>  1.4 設(shè)計(jì)內(nèi)容</b></p><p>  給 4×4 鍵盤的每個(gè)鍵定義一個(gè)功能,其中把定義為 0~9 的鍵盤稱為數(shù)字鍵,把定義成 DEL 的鍵稱為刪除鍵,把定義成 ENT 的鍵成為確認(rèn)鍵,其他鍵稱為保留鍵。如果是數(shù)字鍵按下,把代表數(shù)字顯示在數(shù)碼管上:按鍵按下時(shí),6 位數(shù)碼管靠右邊

15、顯示該鍵的代表數(shù)字;繼續(xù)按鍵時(shí),已經(jīng)顯示在數(shù)碼管上的數(shù)字左移一位,按鍵代表的數(shù)字顯示在最右邊的數(shù)碼管上。</p><p>  第2章 設(shè)計(jì)的基本原理及硬件連接方案</p><p>  2.1 4X4鍵盤掃描原理圖</p><p>  鍵盤按其接線方法有:直接式鍵盤、行列式鍵盤(又稱矩陣鍵盤)、串轉(zhuǎn)并鍵盤等;在本設(shè)計(jì)中,采用4X4的行列式鍵盤,即鍵盤排列為4行、4列,

16、共16個(gè)按鍵。4×4鍵盤的電路圖如圖 1-3所示,分別定義這16個(gè)按鍵盤為KEY1~16。</p><p>  圖 2-1 4×4鍵盤電路圖</p><p>  圖中C1~C4為4×4鍵盤的列掃描線,L1~L4為4×4鍵盤的行掃描線。先使行掃描線輸出高電平,然后讀取列掃描線的狀態(tài),得到與按鍵橫向位置對(duì)應(yīng)的4位列碼;如果是有鍵被按下時(shí),則對(duì)應(yīng)的列掃描線

17、必然會(huì)被讀回高電平,如果是無(wú)鍵盤按下時(shí),則讀取的列碼必定全是0(低電平)。這也就可以判斷有無(wú)按鍵的按下了。</p><p>  2.2 SPCE061A獲取4×4鍵盤鍵值原理</p><p>  單片機(jī)與該電路連接時(shí),使用4個(gè)端口作為輸出口,接4條行掃描線;使用4個(gè)端口作為輸入口,接4條列掃描線。使用SPCE061A的IOA8~15八個(gè)端口作4×4鍵盤的掃描,IOA0~

18、3接行掃描線,IOA4~7接列掃描線。</p><p>  圖 2-2 SPCE061A和4×4鍵盤電路連接圖</p><p>  如上圖中,IOA12~IOA15設(shè)置為輸出口,接行掃描線;IOA8~IOA11設(shè)置為帶下拉電阻的輸入口,接列掃描線。按照4×4鍵盤的工作原理,先只把IOA12輸出高電平,其他都輸出低電平,掃描IOA8到IOA11四個(gè)輸入口的值,如果每個(gè)輸入

19、口的值還是0;再把IOA13輸出高電平,其他都輸出低電平,掃描IOA8到IOA11四個(gè)輸入口的值,如果每個(gè)輸入口還沒(méi)有檢測(cè)到高電平;從IOA14輸出高電平掃描,從IOA15輸出高電平掃描,直到檢測(cè)到高電平,保存掃描行值和列碼。</p><p><b>  2.3 硬件連接</b></p><p>  硬件連接圖如圖 2-3,IOA0~IOA7連接和6位數(shù)碼管的a~g、

20、dp,IOA口的高八位IOA15~IOA8連接4×4鍵盤的L1~L4、C1~C4,IOB15~IOB12連接數(shù)碼管的位信號(hào)1~4,IOB2~IOB1連接數(shù)碼管的位信號(hào)5~6,IOB0連接數(shù)碼管的分隔符信號(hào)DD。即把JP4、JP5的引腳全部用跳線短接起來(lái),用一根排線連接J28和JP7,注意J27和JP7的連接順序(連接順序?yàn)椋篔27的第0號(hào)引腳連接JP7的C4引腳,J27的第7號(hào)引腳連接JP7的L1引腳)。</p>

21、<p>  圖 2-3 硬件連接圖</p><p>  第3章 軟件設(shè)計(jì)方案</p><p><b>  3.1 設(shè)計(jì)步驟</b></p><p>  1.建立一個(gè)新工程cyd,在工程里新建C語(yǔ)言文件main.c。</p><p>  2.拷貝并添加頭文件SPCE061A.c和SPCE061A.inc到新建工

22、程cyd。</p><p>  3.按照程序流程圖編寫程序,如圖3-1所示。</p><p>  圖 3-1 主程序流程圖</p><p>  4. Rebuild All。</p><p>  5.根據(jù)硬件連接圖連接實(shí)驗(yàn)箱電路。</p><p>  6.下載程序到實(shí)驗(yàn)箱,運(yùn)行。</p><p>

23、;  7.觀察實(shí)驗(yàn)箱LED數(shù)碼管的狀態(tài),分析是否和設(shè)計(jì)要求相符。</p><p><b>  3.2 設(shè)計(jì)程序</b></p><p>  由于程序過(guò)多,如附錄所示。</p><p>  第4章 調(diào)試結(jié)果與分析</p><p><b>  4.1 調(diào)試結(jié)果</b></p><p&

24、gt;  給 4×4 鍵盤的每個(gè)鍵定義一個(gè)功能,其中把定義為 0~9 的鍵盤稱為數(shù)字鍵,把定義成DEL的鍵稱為刪除鍵,把定義成ENT的鍵成為確認(rèn)鍵,其他鍵稱為保留鍵。如果是數(shù)字鍵按下,把代表數(shù)字顯示在數(shù)碼管上:按鍵按下時(shí),6位數(shù)碼管靠右邊顯示該鍵的代表數(shù)字;繼續(xù)按鍵時(shí),已經(jīng)顯示在數(shù)碼管上的數(shù)字左移一位,按鍵代表的數(shù)字顯示在最右邊的數(shù)碼管上。如果是刪除鍵按下時(shí),每按一次刪除鍵顯示在最右邊數(shù)字被刪除,其他數(shù)字右移一位,最右邊一位顯

25、示 0,比如在第 5 個(gè)數(shù)碼管上顯示“8”,在第 6 個(gè)數(shù)碼管上顯示“9”,當(dāng)按一次刪除鍵時(shí),在第 6 個(gè)數(shù)碼管上顯示“8”,第 5 個(gè)數(shù)碼管顯示按鍵前第四個(gè)數(shù)碼管顯示的內(nèi)容(或者說(shuō)刪除了9)。</p><p><b>  4.2 結(jié)果分析</b></p><p>  此設(shè)計(jì)驗(yàn)證了鍵盤輸入在LED數(shù)碼管上的顯示的功能。可能會(huì)出現(xiàn)的問(wèn)題就是在按鍵時(shí)候需要注意,當(dāng)保留鍵按

26、下時(shí),不做任何操作。當(dāng)按確認(rèn)鍵時(shí),按任何鍵將不起作用。</p><p><b>  結(jié)論與體會(huì)</b></p><p><b>  設(shè)計(jì)結(jié)論:</b></p><p>  設(shè)計(jì)中我遇到了按鍵分辨的問(wèn)題。</p><p>  我采用的解決方法是自己在紙上記下自己定義的功能。</p>&l

27、t;p>  此次設(shè)計(jì)的優(yōu)點(diǎn)是程序簡(jiǎn)單,不過(guò)缺點(diǎn)是操作繁瑣。很難理清按鍵順序。</p><p>  我建議能夠簡(jiǎn)化操作步驟,使電路圖連接更清晰。操作起來(lái)能夠得心應(yīng)手。</p><p><b>  心得體會(huì):</b></p><p>  單片機(jī)是一門非常重視實(shí)踐的技術(shù),不能總是看書,但要學(xué)習(xí)它首先應(yīng)看書,對(duì)單片機(jī)引腳、內(nèi)部結(jié)構(gòu)、寄存器和原理有

28、一定地了解和感官認(rèn)識(shí),它的是怎樣工作的,能干些什么?剛開(kāi)始時(shí),也許你看不明白,但這并不要緊,因?yàn)槟氵€缺乏實(shí)踐經(jīng)驗(yàn)?,F(xiàn)在單片機(jī)應(yīng)用廣泛,因此各個(gè)廠家分別推出了自己的單片機(jī),按內(nèi)部結(jié)構(gòu)體系派系分:51系列、PIC系列、AVR系列、摩托羅拉等等……!因?yàn)樗麄兊木幊谭椒ê驼{(diào)試過(guò)程以及內(nèi)部指令結(jié)構(gòu)有一定的相似,只要學(xué)精通一款就OK了!尤其是用C語(yǔ)言編程,就幾乎不用分什么派系,但是我們要選擇一款有代表性的知識(shí)范圍廣,并且入門容易,書籍多。一般來(lái)說(shuō),

29、MCS-51系列單片機(jī)已經(jīng)得到廣泛的普及和應(yīng)用,市場(chǎng)上它的資料也比較多,用的人也很多。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]肖洪兵.跟我學(xué)用單片機(jī)[J].北京:北京航空航天大學(xué)出版社,2002.8 </p><p>  [2]何立民.單片機(jī)高級(jí)教程第1版[M].北京:北京航空航天大學(xué)出版社,2001.6<

30、;/p><p>  [3]趙曉安.MCS-51單片機(jī)原理及應(yīng)用[M].天津:天津大學(xué)出版社,2001.3 </p><p>  [4]李廣第.單片機(jī)基礎(chǔ)第1版[M].北京:北京航空航天大學(xué)出版社,1999.5</p><p>  [5]徐惠民.單片微型計(jì)算機(jī)原理與應(yīng)用[M].北京:北京郵電大學(xué)出版社,1996.2 [6] 袁勤勇.嵌入式系統(tǒng)構(gòu)件[M].北京:北京機(jī)械工

31、業(yè)出版社,2002.</p><p><b>  附錄</b></p><p>  #include "SPCE061A.h"</p><p>  #include "Dig.h"#include "Key.h"</p><p>  int main(void)

32、int Ent_Flag = 0;</p><p>  unsigned int uiKey;</p><p>  unsigned int uiData[6] = {1,0,0,0,0,1};</p><p>  uiData[0] = 0;uiData[5] = 0;</p><p>  Key_Init();DIG_Init();<

33、;/p><p>  while(1)uiKey = Key_Get();</p><p>  switch(uiKey)Case KEY_0:</p><p>  if(Ent_Flag == 0){</p><p>  uiData[0] = uiData[1]; </p><p

34、>  uiData[1] = uiData[2];</p><p>  uiData[2] = uiData[3];</p><p>  uiData[3] = uiData[4];</p><p>  uiData[4] = uiData[5];</p><p>  uiData[5] = 7; }break;case KEY_1:&

35、lt;/p><p>  if(Ent_Flag == 0) {</p><p>  uiData[0] = uiData[1];</p><p>  uiData[1] = uiData[2];</p><p>  uiData[2] = uiData[3];</p><p>  uiData[3] = uiData[4]

36、;</p><p>  uiData[4] = uiData[5];</p><p>  uiData[5] = 8; }break; case KEY_2: </p><p>  if(Ent_Flag == 0) {</p><p>  uiData[0]

37、 = uiData[1];</p><p>  uiData[1] = uiData[2];</p><p>  uiData[2] = uiData[3];</p><p>  uiData[3] = uiData[4];</p><p>  uiData[4] = uiData[5];</p><p>  uiDa

38、ta[5] = 9; }break;case KEY_3: </p><p>  break;case KEY_4:</p><p>  if(Ent_Flag == 0)</p><p>  uiData[0] = uiData[1]; </p><p>  uiData[1] = uiData[

39、2];</p><p>  uiData[2] = uiData[3];</p><p>  uiData[3] = uiData[4];</p><p>  uiData[4] = uiData[5];</p><p>  uiData[5] = 4; }</p><p>  break;case KEY_5:

40、 </p><p>  if(Ent_Flag == 0) {</p><p>  uiData[0] = uiData[1];</p><p>  uiData[1] = uiData[2];</p><p>  uiData[2] = uiData[3];</p><p>  uiData[3] = uiData

41、[4];</p><p>  uiData[4] = uiData[5];</p><p>  uiData[5] = 5; </p><p>  break;case KEY_6: </p><p>

42、;  if(Ent_Flag == 0) </p><p>  uiData[0] = uiData[1]; </p><p>  uiData[1] = uiData[2];</p><p>  uiData[2] = uiData[3];</p&g

43、t;<p>  uiData[3] = uiData[4];</p><p>  uiData[4] = uiData[5];</p><p>  uiData[5] = 6;</p><p>  break;case KEY_7: </p><p>  break;case KEY_8: </p><

44、p>  if(Ent_Flag == 0) {</p><p>  uiData[0] = uiData[1];</p><p>  uiData[1] = uiData[2];</p><p>  uiData[2] = uiData[3];</p><p>  uiData[3] = uiData[4];</p>&l

45、t;p>  uiData[4] = uiData[5];</p><p>  uiData[5] = 1;</p><p>  break;case KEY_9: </p><p>  if(Ent_Flag == 0) {</p><p>  uiData[0] = uiData[1]; </p><p>  

46、uiData[1] = uiData[2];</p><p>  uiData[2] = uiData[3];</p><p>  uiData[3] = uiData[4];</p><p>  uiData[4] = uiData[5];</p><p>  uiData[5] = 2;}</p><p>  br

47、eak;case KEY_A: </p><p>  if(Ent_Flag == 0) {</p><p>  uiData[0] = uiData[1];</p><p>  uiData[1] = uiData[2];</p><p>  uiData[2] = uiData[3];</p><p>  uiDa

48、ta[3] = uiData[4];</p><p>  uiData[4] = uiData[5];</p><p>  uiData[5] = 3;}</p><p>  break;case KEY_B:</p><p>  break;case KEY_C: </p><p>  if(Ent_Flag ==

49、0) </p><p>  uiData[5] = uiData[4]; </p><p>  uiData[4] = uiData[3];</p><p>  uiData[3] = uiData[2];</p><p>  uiData[2] = uiData[1];</p>&

50、lt;p>  uiData[1] = uiData[0];</p><p>  uiData[0] = 0; </p><p>  break;case KEY_D: </p><p>  if(Ent_Flag =

51、= 0) </p><p>  uiData[0] = uiData[1]; </p><p>  uiData[1] = uiData[2];</p><p>  uiData[2] = uiData[3];</p><p>  u

52、iData[3] = uiData[4];</p><p>  uiData[4] = uiData[5];</p><p>  uiData[5] = 0; </p><p>  break;case KEY_E: &l

53、t;/p><p>  break;case KEY_F: </p><p>  Ent_Flag = 1;break;</p><p>  default:break;</p><p>  DIG_Set(1,g_Data[uiData[0]]);

54、 </p><p>  DIG_Set(2,g_Data[uiData[1]]); </p><p>  DIG_Set(3,g_Data[uiData[2]]); </p><p>  DIG_Set(4,g

55、_Data[uiData[3]]); </p><p>  DIG_Set(5,g_Data[uiData[4]]); </p><p>  DIG_Set(6,g_Data[uiData[5]]); </p&g

56、t;<p>  *P_Watchdog_Clear = 0x0001; </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  課程設(shè)計(jì)成績(jī)?cè)u(píng)價(jià)表</b></p>

溫馨提示

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

評(píng)論

0/150

提交評(píng)論