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

下載本文檔

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

文檔簡介

1、<p>  LED點陣動態(tài)顯示屏</p><p><b>  課程設(shè)計題目:</b></p><p>  LED點陣動態(tài)顯示屏設(shè)計;</p><p>  用實驗箱16*16的LED顯示屏多態(tài)滾動顯示漢字或字符;</p><p><b>  課程設(shè)計目的:</b></p>&l

2、t;p>  為了進(jìn)一步鞏固學(xué)習(xí)的理論知識,增強(qiáng)學(xué)生對所學(xué)知識的實際應(yīng)用能力和運(yùn)用所知識解決實際問題的能力,開始為期一周的單片機(jī)課程設(shè)計。通過實訓(xùn)使學(xué)生在鞏固所學(xué)知識的基礎(chǔ)上具有初步的單片機(jī)系統(tǒng)設(shè)計與應(yīng)用能力。單片機(jī)課程設(shè)計的目的是培養(yǎng)學(xué)生綜合設(shè)計的能力,訓(xùn)練學(xué)生靈活運(yùn)用所學(xué)知識,獨立完成問題分析、總體設(shè)計和編程實現(xiàn)等軟件開發(fā)過程的綜合實踐能力,鞏固深化學(xué)生的理論知識,提高編程水平,并在此過程中培養(yǎng)他們嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和良好的學(xué)習(xí)作風(fēng)

3、。為今后其他計算機(jī)課程打下基礎(chǔ)。</p><p>  在學(xué)習(xí)《單片機(jī)原理及應(yīng)用A》課程的基礎(chǔ)上,進(jìn)一步深入理解MCS-51單片機(jī)的結(jié)構(gòu)、工作原理和應(yīng)用技術(shù),提高單片機(jī)控制系統(tǒng)設(shè)計、研發(fā)的能力;按照教學(xué)計劃的要求,利用一周時間,綜合應(yīng)用所學(xué)知識,設(shè)計具有一定功能的小型單片機(jī)控制系統(tǒng),培養(yǎng)學(xué)生一定的自學(xué)能力和獨立分析問題、解決問題的能力,要求學(xué)生能通過獨立思考、查閱工具書、參考文獻(xiàn),提出自己的設(shè)計方案,找出設(shè)計中遇到

4、問題的解決途徑。</p><p>  課程設(shè)計要求及任務(wù):</p><p>  1.整個課程設(shè)計的各個環(huán)節(jié)都要自己動手。</p><p>  2.完成16X16LED點陣動態(tài)顯示屏設(shè)計,實現(xiàn)漢字“歡迎您”的動態(tài)顯示;</p><p>  3.采用C語言編程實現(xiàn); </p><p>  4.其他要求參見“nKDE-51單

5、片機(jī)實驗教學(xué)系統(tǒng)實驗指導(dǎo)書”;</p><p>  5.基本任務(wù)為必做項目,附加任務(wù)為選做項目;</p><p>  6.對課程設(shè)計進(jìn)行總結(jié),撰寫課程設(shè)計說明書。</p><p><b>  設(shè)計任務(wù):</b></p><p>  基本任務(wù):利用nKDE-51單片機(jī)實驗教學(xué)系統(tǒng)上的硬件資源,實現(xiàn)LED點陣顯示屏的動態(tài)顯示

6、功能。</p><p>  附加任務(wù):通過鍵盤(1)控制顯示屏的顯示/熄滅;</p><p>  (2)通過PC機(jī)輸入顯示內(nèi)容。</p><p><b>  工作量要求:</b></p><p>  設(shè)計的硬件電路圖與程序流程圖;</p><p><b>  源程序代碼;</b&g

7、t;</p><p>  3.系統(tǒng)運(yùn)行結(jié)果符合課程設(shè)計要求。</p><p><b>  4.主要參考文獻(xiàn)</b></p><p> ?、?《nKDE51單片機(jī)實驗教學(xué)系統(tǒng)實驗指導(dǎo)書》南京郵電大學(xué),2011年</p><p> ?、?《單片機(jī)原理與應(yīng)用及C51程序設(shè)計》(第2版),謝維成等編著,清華大學(xué)出版社</p

8、><p> ?、?《單片機(jī)原理及應(yīng)用》(第2版),李建忠,西安電子科技大學(xué)出版社,2008年</p><p>  ④.C程序設(shè)計(第三版),譚浩強(qiáng),清華大學(xué)出版社,2005年</p><p><b>  課程設(shè)計內(nèi)容:</b></p><p><b>  功能說明:</b></p><

9、;p>  可在16*16LED屏上左右滾動顯示“美好南工”、“歡迎您”</p><p>  可在實現(xiàn)字符活著漢字在顯示過程中控制LED屏的亮與滅</p><p>  可在實現(xiàn)字符活著漢字在顯示過程中控制“美好南工”與“歡迎您”兩段</p><p><b>  漢字的切換</b></p><p>  首先介紹硬件電路

10、的鏈接情況:(電路圖)</p><p>  連線說明:單片機(jī)內(nèi)測的四個端口和LED屏上的四個端口依次連接,還有其P0.0端口接按鍵SW1、P2.7接按鍵SW1</p><p><b>  (取模情況)</b></p><p><b> ?。龑懗绦颍?lt;/b></p><p><b>  課

11、程設(shè)計源程序:</b></p><p>  #include<reg51.h></p><p>  #define uchar unsigned char</p><p><b>  bit n;</b></p><p>  sbit sw2=P2^7;//定義按鍵key</p>

12、;<p>  sbit sw1=P0^0;//定義按鍵sw1</p><p>  uchar code code1[]=//字模</p><p><b>  {</b></p><p>  0x00,0x80,0x84,0x80,0x84,0x44,0x94,0x44,0x95,0x24,0x96,0x14,0x94

13、,0x0C,0xFC,0x07,</p><p>  0x94,0x0C,0x96,0x14,0x95,0x24,0x94,0x64,0x94,0xC4,0x84,0x44,0x80,0x00,0x00,0x00,/*"美",0*/</p><p>  0x10,0x80,0x10,0x43,0xF0,0x22,0x1F,0x14,0x10,0x0C,0xF0,0x73

14、,0x80,0x20,0x82,0x00,</p><p>  0x82,0x40,0x82,0x80,0xF2,0x7F,0x8A,0x00,0x86,0x00,0x82,0x00,0x80,0x00,0x00,0x00,/*"好",1*/</p><p>  0x04,0x00,0x04,0x00,0xE4,0x7F,0x24,0x04,0x24,0x05,0x64

15、,0x05,0xB4,0x05,0x2F,0x7F,</p><p>  0x24,0x05,0xA4,0x05,0x64,0x05,0x24,0x25,0x24,0x44,0xE6,0x3F,0x04,0x00,0x00,0x00,/*"南",2*/</p><p>  0x00,0x20,0x00,0x20,0x02,0x20,0x02,0x20,0x02,0x20

16、,0x02,0x20,0x02,0x20,0xFE,0x3F,</p><p>  0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x20,0x00,0x00/*"工",0*/</p><p><b>  };</b></p><p>  u

17、char code code2[]=</p><p><b>  {</b></p><p>  0x14,0x20,0x24,0x10,0x44,0x4C,0x84,0x43,0x64,0x43,0x1C,0x2C,0x20,0x20,0x18,0x10,</p><p>  0x0F,0x0C,0xE8,0x03,0x08,0x06,0x0

18、8,0x18,0x28,0x30,0x18,0x60,0x08,0x20,0x00,0x00,/*"歡",0*/</p><p>  0x40,0x40,0x41,0x20,0xCE,0x1F,0x04,0x20,0x00,0x40,0xFC,0x47,0x04,0x42,0x02,0x41,</p><p>  0x02,0x40,0xFC,0x5F,0x04,0x4

19、0,0x04,0x42,0x04,0x44,0xFC,0x43,0x00,0x40,0x00,0x00,/*"迎",1*/</p><p>  0x80,0x00,0x40,0x20,0x30,0x38,0xFC,0x03,0x03,0x38,0x90,0x40,0x68,0x40,0x06,0x49,</p><p>  0x04,0x52,0xF4,0x41,0x0

20、4,0x40,0x24,0x70,0x44,0x00,0x8C,0x09,0x04,0x30,0x00,0x00/*"您",2*/</p><p><b>  };</b></p><p>  void delay(int m)</p><p><b>  {int i;</b></p>

21、<p>  while(m--)</p><p>  for(i=0;i<40;i++);</p><p><b>  }</b></p><p>  void XIANSHI(uchar *Buffer,uchar N,uchar Time) //流動顯示N個漢字,三個參數(shù):字符串字模首地址、字?jǐn)?shù)、顯示流動速度<

22、/p><p><b>  { </b></p><p>  uchar Num,i,j,row,pos; //循環(huán)變量:字?jǐn)?shù)計數(shù)、16次流動、16列掃描</p><p>  for(Num=0;Num<N-1;Num++)</p><p><b>  {</b></p&

23、gt;<p>  for(i=0;i<16;i++) //字到字流動 16次左移才能完成</p><p><b>  {</b></p><p>  for(j=0;j<Time;j++) //顯示延遲,決定流動速度</p><p><b>  {</b

24、></p><p>  for(row=0;row<16;row++) //顯示16*16屏幕一次</p><p>  {if(pos==0)</p><p><b>  pos=0x01;</b></p><p>  P0 =~*(Buffer+Num*32+(i+row)*2); //獲取

25、顯示數(shù)據(jù) 循環(huán)顯示關(guān)鍵算法</p><p>  P3 =~*(Buffer+Num*32+(i+row)*2+1); //以移動偏移為基礎(chǔ)獲取新數(shù)據(jù)</p><p><b>  if(row<8)</b></p><p>  {P1=pos;//上半屏顯示,即顯示一個字的上半部</p><p>&l

26、t;b>  P2=0x00;}</b></p><p><b>  else</b></p><p>  {P1=0x00;//下半屏顯示,即顯示一個字的下半部</p><p><b>  P2=pos;}</b></p><p><b>  pos<&

27、lt;=1;</b></p><p><b>  delay(3);</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><

28、;b>  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  { </b></p><p><b>  n=1;</b></p><p><b>  

29、while(1)</b></p><p><b>  {</b></p><p>  if(sw1==1)</p><p><b>  { </b></p><p>  if(sw2==0) //第一次按下KEY鍵 </p><p>&l

30、t;b>  {</b></p><p>  while(sw2==0){};</p><p><b>  n=~n;</b></p><p><b>  }</b></p><p>  while(n==0)</p><p><b>  {<

31、/b></p><p>  XIANSHI(code2,3,5);//流動顯示N個漢字</p><p>  delay(100);</p><p>  if(sw2==0)//再次按下KEY鍵 </p><p><b>  {</b></p><p>  while(sw2

32、==0){};</p><p><b>  n=~n;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  XIANSHI(code1,4,5);//流動顯示N個漢字</p><p>  dela

33、y(100); </p><p><b>  }</b></p><p>  if (sw1==0){}</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  具體實現(xiàn)步驟:</b&

34、gt;</p><p> ?、?打開桌面上的KEIL軟件</p><p> ?、?新建一個工程文件,完成其命名并保存</p><p> ?、?為工程選一個目標(biāo)器件(如AT-89C51)</p><p> ?、?創(chuàng)建源程序文件并輸入程序代碼并保存(后綴名為.C)</p><p> ?、?把源文件添加到項目中(即添加源代碼

35、組)</p><p> ?、?為工程項目設(shè)置軟硬件環(huán)境</p><p> ?、?編譯項目文件(生成.HEX文件)</p><p><b> ?、?軟件的相關(guān)調(diào)試</b></p><p><b> ?、?連接好硬件電路</b></p><p> ?、?打開桌面的下載軟件(STC

36、-ISC)燒寫程序,添加生成的.HEX文件,點擊下載按鈕(確保下載前關(guān)閉實驗箱的電源)經(jīng)提示后再完成上電操作,如此即可觀看到滾屏的效果。</p><p><b>  實際效果:</b></p><p><b>  課程設(shè)計心得:</b></p><p>  這次的實訓(xùn)雖然只有短短的一周時間,可我們學(xué)到的卻遠(yuǎn)遠(yuǎn)超過我們平時一

37、周所學(xué)到的知識,這次的課程設(shè)計以實現(xiàn)在16*16的LED屏上滾動顯示漢字或字符為主線,融入了各種基礎(chǔ)的知識和實踐經(jīng)驗。再拓展到個許多計算機(jī)知識,中編程的工作量是最大的,最浪費(fèi)精力的,也是最重要的。</p><p>  這次課程設(shè)計的過程編程給我留下了深刻的印象,記得剛開始時大家聽老師講好像很簡單,可當(dāng)老師讓我們自己動手編時大家才發(fā)現(xiàn)了大量的問題,不經(jīng)過老師的講解和示范我們很難完成?,F(xiàn)在我們每個人都能編寫相應(yīng)的程序

38、了。</p><p>  通過這一周的課程設(shè)計我深刻體會到了單片機(jī)應(yīng)用技術(shù)時一門實踐性很強(qiáng)的課程,既要掌握概念,又要動手實踐,通過短短一周的時間我對單片機(jī)應(yīng)用技術(shù)有了更為詳細(xì)地了解,解決我以前的許多困惑,我以我最大的能力和端正的態(tài)度完成了這門課程設(shè)計。因此我將會盡我最大的努力將所學(xué)到的知識運(yùn)用到其他更多的地方進(jìn)行實踐和更好的掌握。</p><p><b>  補(bǔ)充:</b&

39、gt;</p><p>  如需實現(xiàn)上下滾動的話源代碼如下:</p><p>  #include<reg51.h></p><p>  #define uchar unsigned char</p><p>  uchar code Code1[]=</p><p><b>  {</b

40、></p><p>  0x14,0x20,0x24,0x10,0x44,0x4C,0x84,0x43,0x64,0x43,0x1C,0x2C,0x20,0x20,0x18,0x10,</p><p>  0x0F,0x0C,0xE8,0x03,0x08,0x06,0x08,0x18,0x28,0x30,0x18,0x60,0x08,0x20,0x00,0x00,/*"歡&

41、quot;,0*/</p><p>  0x40,0x40,0x41,0x20,0xCE,0x1F,0x04,0x20,0x00,0x40,0xFC,0x47,0x04,0x42,0x02,0x41,</p><p>  0x02,0x40,0xFC,0x5F,0x04,0x40,0x04,0x42,0x04,0x44,0xFC,0x43,0x00,0x40,0x00,0x00,/*&qu

42、ot;迎",1*/</p><p>  0x80,0x00,0x40,0x20,0x30,0x38,0xFC,0x03,0x03,0x38,0x90,0x40,0x68,0x40,0x06,0x49,</p><p>  0x04,0x52,0xF4,0x41,0x04,0x40,0x24,0x70,0x44,0x00,0x8C,0x09,0x04,0x30,0x00,0x00/

43、*"您",2*/</p><p><b>  };</b></p><p>  void delay(int ms)</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  whi

44、le(ms--)</p><p>  for(i=0;i<40;i++);// 調(diào)整for循環(huán)控制變量大小可改變延時時長</p><p><b>  }</b></p><p>  void main(void)</p><p><b>  {</b></p><

45、p>  int i,j,k;</p><p>  unsigned char pos;</p><p><b>  j = 0;</b></p><p>  pos = 0x01;</p><p><b>  while(1)</b></p><p><b>

46、  {</b></p><p>  pos = 0x01;// 初始狀態(tài),顯示第一行</p><p>  for(k=0;k<96;k=k+2)</p><p><b>  {</b></p><p><b>  j=k;</b></p>&

47、lt;p>  for(i=0;i<16;i++)// 共有16行,依次顯示</p><p><b>  {</b></p><p>  if(pos == 0) pos = 0x01;</p><p>  if(j>95) j=j-96;</p><p>  P1 = Code1[j++]

48、;// 讀取一行漢字點陣數(shù)據(jù)(2字節(jié),16位)</p><p>  P2 = Code1[j++];</p><p>  if(i<8)// 顯示上半部分</p><p><b>  {</b></p><p>  P0 = ~pos; </p><p><b&g

49、t;  delay(1);</b></p><p>  P3 = 0xff;</p><p><b>  }</b></p><p>  else // 顯示下半部分</p><p><b>  {</b></p><p>  P0 = 0xff;&

50、lt;/p><p>  P3 = ~pos;</p><p><b>  delay(1);</b></p><p><b>  }</b></p><p>  pos <<= 1;</p><p><b>  delay(2);</b>&l

51、t;/p><p><b>  }</b></p><p>  //LEDDelay(20);</p><p>  //LEDDelay(1000);</p><p><b>  }</b></p><p><b>  }</b></p><

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論