2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩24頁(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>  《 嵌入式系統(tǒng)原理 》</p><p><b>  課程設(shè)計(jì)說(shuō)明書</b></p><p>  題 目: 點(diǎn)陣LED圖文顯示屏的設(shè)計(jì) </p><p>  院 (系): 計(jì)算機(jī)與電子系 </p><p>  專業(yè)班級(jí):

2、 </p><p>  學(xué)生姓名: </p><p>  學(xué) 號(hào): </p><p>  指導(dǎo)教師: </p><p>  20 11 年 12 月 30 日至

3、20 12 年 1 月 13 日</p><p>  嵌入式系統(tǒng)原理 課程設(shè)計(jì)任務(wù)書</p><p><b>  目 錄</b></p><p>  1.設(shè)計(jì)概述………………………………………………………………………………… 頁(yè)碼</p><p>  1.1設(shè)計(jì)目的與意義………………………………………………

4、……………………… 頁(yè)碼</p><p>  1.2系統(tǒng)功能要求……………………………………………………………………… 頁(yè)碼</p><p>  2.方案設(shè)計(jì)……………………………………………………………………………… 頁(yè)碼</p><p>  2.1設(shè)計(jì)思路…………………………………………………………………………… 頁(yè)碼</p>

5、<p>  2.2設(shè)計(jì)選材…………………………………………………………………………… 頁(yè)碼</p><p>  2.3點(diǎn)陣顯示……………………………………………………………………… 頁(yè)碼</p><p>  3.硬件設(shè)計(jì)部分及功能………………………………………………………………… 頁(yè)碼</p><p>  3.1最小系統(tǒng)…………

6、………………………………………………………………………</p><p>  3.2電路仿真圖…………………………………………………………………………</p><p>  3.3電路焊接……………………………………………………………………………</p><p>  4.軟件設(shè)計(jì)部分及功能………………………………………………………………………頁(yè)碼</p>

7、<p>  4.1程序初步思路……………………………………………………………………………</p><p>  4.2具體功能程序……………………………………………………………………………</p><p>  4.2.1獨(dú)立按鍵識(shí)別程序…………………………………………………………………</p><p>  4.2.2點(diǎn)陣的顯示程序……………………………………

8、……………………………</p><p>  4.2.3點(diǎn)陣的左移程序…………………………………………………………………</p><p>  4.2.4總體功能程序…………………………………………………………………</p><p>  5.設(shè)計(jì)總結(jié)…………………………………………………………………………………</p><p><b>

9、  1.設(shè)計(jì)概述</b></p><p>  1.1設(shè)計(jì)目的與意義</p><p>  點(diǎn)陣LED顯示屏是一種通過(guò)控制半導(dǎo)體發(fā)光二極管的顯示方式,用來(lái)顯示文字、圖形、圖像、動(dòng)畫、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。它具有亮度高、工作電壓低、功耗小、微型化、易與集成電路匹配、驅(qū)動(dòng)簡(jiǎn)單、壽命長(zhǎng)、耐沖擊、性能穩(wěn)定的眾多優(yōu)點(diǎn)。因此通過(guò)點(diǎn)陣顯示屏的設(shè)計(jì)能非常好地將所學(xué)知識(shí)與實(shí)際應(yīng)用

10、結(jié)合起來(lái),同時(shí)還能加強(qiáng)動(dòng)手實(shí)踐能力,為今后的工作打下扎實(shí)的基礎(chǔ)。除此之外,這次的課程設(shè)計(jì)使我自己的設(shè)計(jì)思想有了深刻的體會(huì)和變化,感覺到真是一份耕耘一分收獲。</p><p><b>  1.2系統(tǒng)功能要求</b></p><p>  采用單片機(jī)作為控制核心,采用多塊8x8點(diǎn)陣LED模塊級(jí)聯(lián)構(gòu)成圖文顯示屏,能滾動(dòng)顯示顯示圖形和文字。</p><p&g

11、t;  設(shè)計(jì)矩陣鍵盤或獨(dú)立按鍵進(jìn)行顯示功能控制,要求可以通過(guò)鍵盤輸入來(lái)選擇顯示內(nèi)容、圖形和文字的靜止\左移或右移的功能、左移或右移的頻率等。</p><p>  顯示圖形和文字應(yīng)清晰穩(wěn)定無(wú)串?dāng)_,LED顯示屏各點(diǎn)的亮度要均勻、充足。</p><p><b>  2.方案設(shè)計(jì)</b></p><p><b>  2.1設(shè)計(jì)思路</b

12、></p><p>  采用四個(gè)8*8的點(diǎn)陣級(jí)聯(lián)制作成一個(gè)6*16的點(diǎn)陣,單片機(jī)選用STC89C52,16*16的點(diǎn)陣有16條行選擇線和16條列選擇線,而單片機(jī)STC89C52的P0,P1,P2,P3總共可提供32個(gè)輸出,而后面IO口還要連接鍵盤,所以,不能夠?qū)⑿羞x與列選線都直接連在32個(gè)輸出上,為節(jié)省端口,選用一個(gè)74LS154,即四—十六線譯碼器,這樣只需將單片機(jī)的四個(gè)輸出與譯碼器的四個(gè)輸入相連就可應(yīng)控

13、制16條線,掃描采用列掃描,所以譯碼器的16個(gè)輸出與16條列選擇線相連,而P1,P2與16條行選擇線相連,因?yàn)辄c(diǎn)陣實(shí)際上是發(fā)光三極管的相連,要同時(shí)驅(qū)動(dòng)多個(gè)發(fā)光三極管需要一定的電流,而單片機(jī)的一個(gè)引腳輸出電流還不足夠驅(qū)動(dòng)多個(gè)發(fā)光三極管所以需要一個(gè)驅(qū)動(dòng)電路,驅(qū)動(dòng)電路可以用三極管的放大作用,也可以用反相器,本次實(shí)驗(yàn)中選用反相器。綜上所述,需要的器材有一片STC89C52芯片,一片74LS154芯片,反相器選擇74LS04,一個(gè)74LS04可以

14、連接六條行選擇線,所以需要三個(gè)74LS04,單片機(jī)的P1口還要連接一個(gè)排阻,同時(shí)為方便連線需要排陣和排插,還需要導(dǎo)線若干,最后還需要電木板兩塊,一塊板子上焊接最小系統(tǒng)及外圍的</p><p><b>  2.2設(shè)計(jì)選材</b></p><p><b>  萬(wàn)用電木板,2片;</b></p><p>  STC89C52芯片

15、,1片;</p><p>  74LS154芯片,1片;</p><p>  74LS04芯片,3片;</p><p>  40腳插座(配合STC89C52)一個(gè),14腳插座3個(gè)(配合74LS04),24腳插座1個(gè)(配合74LS154);</p><p><b>  排阻1個(gè);</b></p><p&

16、gt;  排針,排插,導(dǎo)線若干;</p><p><b>  8*8點(diǎn)陣4個(gè)。</b></p><p><b>  2.3點(diǎn)陣顯示</b></p><p>  通過(guò)4個(gè)8*8的的點(diǎn)陣級(jí)聯(lián)形成一個(gè)16*16的點(diǎn)陣8*8的</p><p>  點(diǎn)陣的相關(guān)資料與引腳如圖1</p><p

17、><b>  圖1</b></p><p>  由上圖可以知道點(diǎn)陣的行線與列線引腳不是按順序排列的,也不是單獨(dú)在一邊。所以連接要特別注意,級(jí)聯(lián)的方式:將4個(gè)點(diǎn)陣按同一順序排成一個(gè)大的16*16點(diǎn)陣。橫向行線引腳相連,豎向列線引腳相連。</p><p>  3.硬件設(shè)計(jì)部分及功能</p><p><b>  3.1最小系統(tǒng)<

18、/b></p><p>  最小系統(tǒng)在整個(gè)電路中是極其重要的,最小系統(tǒng)如果出現(xiàn)問(wèn)題,會(huì)導(dǎo)致整個(gè)電路出現(xiàn)嚴(yán)重問(wèn)題,使真?zhèn)€電路完全不能工作。</p><p>  制作一個(gè)單片機(jī)最小系統(tǒng),達(dá)到如下基本要求: 1.具有上電復(fù)位和手動(dòng)復(fù)位功能。</p><p>  2.使用單片機(jī)片內(nèi)程序存儲(chǔ)器。</p><p>  3.具有基本的人

19、機(jī)交互接口。按鍵輸入、LED顯示功能。</p><p>  4.具有一定的可擴(kuò)展性,單片機(jī)I/O口可方便地與其他電路板連接。</p><p>  最小系統(tǒng)需要具備復(fù)位電路,時(shí)鐘電路,電源;</p><p>  最小系統(tǒng)電路圖如圖2所示:</p><p><b>  圖2</b></p><p>&

20、lt;b>  3.2電路仿真圖</b></p><p><b>  圖3</b></p><p><b>  3.3電路焊接</b></p><p>  根據(jù)上面的電路模塊將各個(gè)模塊焊接起來(lái)。每焊接好一個(gè)模塊就要將模塊的功能測(cè)試一下,看一看這個(gè)模塊的功能是否正常,如果不正常要馬上檢查,直到確認(rèn)功能正常再焊

21、接下一個(gè)模塊,最后將所有的模塊連接起來(lái),形成整體的電路,再檢查整體的功能是否正常,為下一步軟件測(cè)試打下基礎(chǔ),相對(duì)來(lái)說(shuō)這樣的焊接方法可以節(jié)省很多的時(shí)間。</p><p>  4.軟件設(shè)計(jì)部分及功能</p><p><b>  4.1程序初步思路</b></p><p>  實(shí)驗(yàn)的要求是采用單片機(jī)作為控制核心,采用多塊8x8點(diǎn)陣LED模塊級(jí)聯(lián)構(gòu)成圖

22、文顯示屏,能滾動(dòng)顯示顯示圖形和文字。設(shè)計(jì)矩陣鍵盤或獨(dú)立按鍵進(jìn)行顯示功能控制,要求可以通過(guò)鍵盤輸入來(lái)選擇顯示內(nèi)容、圖形和文字的靜止\左移或右移的功能、左移或右移的頻率等。</p><p>  要顯示圖文就要不斷地對(duì)點(diǎn)陣進(jìn)行掃描,所以必須要有一個(gè)顯示的函數(shù),不斷對(duì)行列進(jìn)行掃描,但這樣還只能夠現(xiàn)實(shí)顯示固定的圖文,不能夠顯示動(dòng)態(tài)的圖文,要顯示動(dòng)態(tài)的圖文,還要設(shè)計(jì)一個(gè)數(shù)據(jù)的緩沖區(qū),通過(guò)按一定的規(guī)律不斷地改變緩沖區(qū)內(nèi)部的數(shù)據(jù)

23、,再通過(guò)數(shù)據(jù)的掃描就可以顯示出動(dòng)態(tài)的圖文,而如果要用鍵盤控制顯示內(nèi)容、圖形和文字的靜止\左移或右移的功能、左移或右移的頻率等,可以將鍵盤連接在單片機(jī)的P3口,通過(guò)不斷查詢的方式來(lái)接受控制顯示信號(hào)。</p><p><b>  4.2具體功能程序</b></p><p>  4.2.1獨(dú)立按鍵識(shí)別程序原理</p><p>  //獨(dú)立鍵盤的識(shí)別程

24、序</p><p>  #include<reg52.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  sbit P24=P2^4;</p><p>  sbit P30=P3^0;&

25、lt;/p><p>  sbit P31=P3^1;</p><p>  sbit P32=P3^2;//位重新定義</p><p>  void delay(uint i);</p><p>  uchar keydect(void);</p><p>  void main(void)</p><p

26、><b>  {</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  P0=0xf0|keydect();</p><p><b>  }</b></p><

27、p><b>  }</b></p><p>  void delay(uint i)</p><p><b>  {</b></p><p>  while(i--);</p><p><b>  }</b></p><p>  //獨(dú)立鍵盤檢測(cè)函

28、數(shù)</p><p>  uchar keydect(void)</p><p><b>  {</b></p><p>  uchar keytemp=0;</p><p>  P24=0;//電路中將P2^4電平拉低</p><p>  if((P2&0x0f)!=0x0f)</p

29、><p><b>  {</b></p><p>  keytemp=P2&0x0f;</p><p>  delay(2000);//延時(shí)消抖</p><p>  if((P2&0x0f)==keytemp)</p><p><b>  {</b></p&

30、gt;<p>  return(keytemp);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  return(0xff);</p><p>

31、;<b>  }</b></p><p><b>  }</b></p><p>  return(0xff);</p><p><b>  }</b></p><p>  4.2.2點(diǎn)陣的顯示程序</p><p>  void display(ucha

32、r * dat)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P2=*dat++;

33、</p><p>  P0=*dat++;</p><p><b>  delay(3);</b></p><p><b>  P1=i;</b></p><p>  delay(200);</p><p><b>  P1=0xff;</b></

34、p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2.3點(diǎn)陣的左移程序</p><p>  void moveleft(uint row)</p><p>  {//uchar diaplaybuff[32];</p>

35、;<p><b>  uchar i;</b></p><p>  row=row*2;</p><p>  for(i=0;i<32;i++)</p><p><b>  {</b></p><p>  if(row+1>maxrow)</p><p&

36、gt;  displaybuff[i]=displaydata[row+1-maxrow];</p><p><b>  else </b></p><p>  displaybuff[i]=displaydata[row+i];</p><p><b>  }</b></p><p><b&

37、gt;  }</b></p><p>  4.2.4點(diǎn)陣的上移程序</p><p>  void moveup(beginrow)</p><p><b>  {</b></p><p>  uchar i,step;</p><p><b>  uint tmp;</

38、b></p><p>  tmp=beginrow/16;</p><p>  step=beginrow%16;</p><p>  for(i=0;i<32;i=i+2)</p><p><b>  {</b></p><p>  if(step<8)</p>

39、<p><b>  {</b></p><p>  displaybuff[i]=(displaydata[tmp*32+i]<<step)||</p><p>  (displaydata[tmp*32+i]>>(8-step));</p><p>  displaybuff[i+1]=(displaydat

40、a[tmp*32+i+1]<<step)||</p><p>  (displaydata[tmp*32+i+32]>>(8-step));</p><p><b>  }</b></p><p><b>  else</b></p><p>  { displaybuff

41、[i]=(displaydata[tmp*32+i+1]<<(step-8))||</p><p>  (displaydata[tmp*32+i+32]>>(16-step));</p><p>  displaybuff[i+1]=(displaydata[(tmp+1)*32+i]<<(step-8))||</p><p>

42、  (displaydata[tmp*32+i+1]>>(16-step));</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2.5整體的程序</p><p>  #include<reg52.h></p>

43、<p>  #defineuchar unsigned char</p><p>  #define uint unsigned int</p><p>  #define SEL P1 //行選線,P3 低四位</p><p>  #define UP8 P0 //點(diǎn)陣文字上8行IO</p><p>  

44、#define DOWN8 P2 //點(diǎn)陣文字下8行IO</p><p><b>  uint k;</b></p><p>  uint count=1;</p><p>  uint keyvalue0;</p><p>  uint keyvalue1;</p><p>  sbit

45、 P31=P3^1;</p><p>  sbit P30=P3^0;</p><p>  uchar maxrow=160;</p><p>  uchar speed=8;</p><p>  uchar displaybuff[32];</p><p>  uchar code hanzi[32],hanzi1[

46、32],hanzi2[32],hanzi3[32];</p><p>  uchar code hanzi4[32],hanzi5[32],hanzi6[32];</p><p>  uchar code fuhao[32],fuhao1[32],fuhao2[32];</p><p>  uchar code displaydata[]=</p>

47、<p><b>  { </b></p><p>  0xFF,0xFF,0xFF,0xFF,0x07,0xE0,</p><p>  0x77,0xF7,0x77,0xF7,0x77,0xF7,</p><p>  0x77,0xF7,0x00,0x80,0x77,0x77,</p><p>  0x77

48、,0x77,0x77,0x77,0x77,0x77,</p><p>  0x07,0x60,0xFF,0x7F,0xFF,0x0F,</p><p>  0xFF,0xFF,/*"電",0*/</p><p>  0x7F,0xFF,0x7D,0xFF,0x7D,0xFF,</p><p>  0x7D,0xFF,0x7

49、D,0xFF,0x7D,0xBF,</p><p>  0x7D,0x7F,0x1D,0x80,0x5D,0xFF,</p><p>  0x6D,0xFF,0x75,0xFF,0x79,0xFF,</p><p>  0x7D,0xFF,0x7F,0xFF,0x7F,0xFF,</p><p>  0xFF,0xFF,/*"子&q

50、uot;,0*/</p><p>  0xDB,0xF7,0xDB,0xF9,0x5B,0xFE,</p><p>  0x01,0x00,0x5C,0xFF,0xDD,0xFE,</p><p>  0xFF,0xFB,0xDD,0xFB,0x33,0xFB,</p><p>  0xFF,0xFB,0xFF,0xFB,0x00,0x00,

51、</p><p>  0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,</p><p>  0xFF,0xFF,/*"科",0*/ </p><p>  0xBF,0xFB,0xCF,0xFB,0xEE,0xFB,</p><p>  0x69,0xFB,0x6F,0xFB,0x6F,0xBB,</p&g

52、t;<p>  0x6E,0x7B,0x69,0x81,0x6F,0xF9,</p><p>  0x6F,0xFA,0x67,0xFB,0xEB,0xFB,</p><p>  0xEC,0xFB,0xAF,0xFB,0xCF,0xFB,</p><p>  0xFF,0xFF,/*"學(xué)",1*/</p><p

53、>  0xFF,0xF7,0xFF,0xF7,0x1F,0xF7,</p><p>  0x60,0xF7,0x77,0xF7,0x77,0xF7,</p><p>  0x77,0xF7,0x77,0xF7,0x77,0xF7,</p><p>  0x77,0xB7,0x77,0x7F,0x77,0xBF,</p><p>  0x

54、77,0xC0,0xF7,0xFF,0xFF,0xFF,</p><p>  0xFF,0xFF,/*"與",2*/ </p><p>  0xEF,0xFB,0xEF,0xBB,0xEF,0x7D,</p><p>  0x00,0x80,0xEF,0xFE,0x6F,0x7F,</p><p>  0xF7,0x7F,

55、0x77,0xBF,0x77,0xBC,</p><p>  0x77,0xD3,0x00,0xEF,0x77,0xD7,</p><p>  0x77,0xB9,0x77,0x7E,0xF7,0x7F,</p><p>  0xFF,0xFF,/*"技",3*/ </p><p>  0xFF,0xEF,0xEF,0xF

56、7,0xEF,0xFB,</p><p>  0xEF,0xFD,0xEF,0xFE,0x2F,0xFF,</p><p>  0xCF,0xFF,0x00,0x00,0xCF,0xFF,</p><p>  0x2F,0xFF,0xED,0xFE,0xE3,0xFD,</p><p>  0xEF,0xFB,0xEF,0xF7,0xFF,0

57、xEF,</p><p>  0xFF,0xFF,/*"術(shù)",4*/</p><p>  0xFF,0xFF,0xF7,0xDF,0xF7,0xDF,</p><p>  0x07,0xC0,0x07,0xC0,0xF7,0xDF,</p><p>  0xF7,0xDF,0xFF,0xDF,0xFF,0xDF,</

58、p><p>  0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,</p><p>  0xFF,0xDF,0xFF,0xCF,0xFF,0xF7,</p><p>  0xFF,0xFF,/*"L",0*/</p><p>  0xFF,0xFF,0xF7,0xDF,0xF7,0xDF,</p>&l

59、t;p>  0x07,0xC0,0x07,0xC0,0x77,0xDF,</p><p>  0x77,0xDF,0x77,0xDF,0x77,0xDF,</p><p>  0x77,0xDF,0x77,0xDF,0x17,0xDC,</p><p>  0xF7,0xCF,0xE7,0xCF,0xEF,0xF7,</p><p> 

60、 0xFF,0xFF,/*"E",1*/</p><p>  0xFF,0xFF,0xF7,0xDF,0xF7,0xDF,</p><p>  0x07,0xC0,0x07,0xC0,0xF7,0xDF,</p><p>  0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,</p><p>  0xF7,0xD

61、F,0xE7,0xCF,0xEF,0xEF,</p><p>  0xCF,0xE7,0x1F,0xF0,0x3F,0xF8,</p><p><b>  0xFF,0xFF</b></p><p><b>  };</b></p><p>  void delay(uchar delaytime)

62、</p><p><b>  {</b></p><p>  while(delaytime--);</p><p><b>  }</b></p><p>  void option1(void)</p><p>  {uchar i;</p><p&

63、gt;<b>  uint j;</b></p><p>  uint value=1;</p><p>  uchar code hanzi[]=</p><p>  { 0xFF,0xFF,0xFF,0xFF,0x07,0xE0,</p><p>  0x77,0xF7,0x77,0xF7,0x77,0xF7,&l

64、t;/p><p>  0x77,0xF7,0x00,0x80,0x77,0x77,</p><p>  0x77,0x77,0x77,0x77,0x77,0x77,</p><p>  0x07,0x60,0xFF,0x7F,0xFF,0x0F,</p><p>  0xFF,0xFF};/*"電",0*/</p>

65、<p>  uchar code hanzi1[]=</p><p>  {0x7F,0xFF,0x7D,0xFF,0x7D,0xFF,</p><p>  0x7D,0xFF,0x7D,0xFF,0x7D,0xBF,</p><p>  0x7D,0x7F,0x1D,0x80,0x5D,0xFF,</p><p>  0x6

66、D,0xFF,0x75,0xFF,0x79,0xFF,</p><p>  0x7D,0xFF,0x7F,0xFF,0x7F,0xFF,</p><p>  0xFF,0xFF};/*"子",0*/</p><p>  uchar code hanzi2[]=</p><p>  {0xDB,0xF7,0xDB,0xF9,

67、0x5B,0xFE,</p><p>  0x01,0x00,0x5C,0xFF,0xDD,0xFE,</p><p>  0xFF,0xFB,0xDD,0xFB,0x33,0xFB,</p><p>  0xFF,0xFB,0xFF,0xFB,0x00,0x00,</p><p>  0xFF,0xFD,0xFF,0xFD,0xFF,0xF

68、D,</p><p>  0xFF,0xFF};/*"科",0*/</p><p>  uchar code hanzi3[]=</p><p>  {0xBF,0xFB,0xCF,0xFB,0xEE,0xFB,</p><p>  0x69,0xFB,0x6F,0xFB,0x6F,0xBB,</p><

69、;p>  0x6E,0x7B,0x69,0x81,0x6F,0xF9,</p><p>  0x6F,0xFA,0x67,0xFB,0xEB,0xFB,</p><p>  0xEC,0xFB,0xAF,0xFB,0xCF,0xFB,</p><p>  0xFF,0xFF};/*"學(xué)",1*/</p><p>  

70、uchar code hanzi4[]=</p><p>  {0xFF,0xF7,0xFF,0xF7,0x1F,0xF7,</p><p>  0x60,0xF7,0x77,0xF7,0x77,0xF7,</p><p>  0x77,0xF7,0x77,0xF7,0x77,0xF7,</p><p>  0x77,0xB7,0x77,0x

71、7F,0x77,0xBF,</p><p>  0x77,0xC0,0xF7,0xFF,0xFF,0xFF,</p><p>  0xFF,0xFF};/*"與",2*/</p><p>  uchar code hanzi5[]=</p><p>  {0xEF,0xFB,0xEF,0xBB,0xEF,0x7D,<

72、/p><p>  0x00,0x80,0xEF,0xFE,0x6F,0x7F,</p><p>  0xF7,0x7F,0x77,0xBF,0x77,0xBC,</p><p>  0x77,0xD3,0x00,0xEF,0x77,0xD7,</p><p>  0x77,0xB9,0x77,0x7E,0xF7,0x7F,</p>

73、<p>  0xFF,0xFF};/*"技",3*/</p><p>  uchar code hanzi6[]=</p><p>  {0xFF,0xEF,0xEF,0xF7,0xEF,0xFB,</p><p>  0xEF,0xFD,0xEF,0xFE,0x2F,0xFF,</p><p>  0xCF,0

74、xFF,0x00,0x00,0xCF,0xFF,</p><p>  0x2F,0xFF,0xED,0xFE,0xE3,0xFD,</p><p>  0xEF,0xFB,0xEF,0xF7,0xFF,0xEF,</p><p>  0xFF,0xFF};/*"術(shù)",4*/</p><p>  uchar code fuh

75、ao[]=</p><p>  {0xFF,0xFF,0xF7,0xDF,0xF7,0xDF,</p><p>  0x07,0xC0,0x07,0xC0,0xF7,0xDF,</p><p>  0xF7,0xDF,0xFF,0xDF,0xFF,0xDF,</p><p>  0xFF,0xDF,0xFF,0xDF,0xFF,0xDF,&l

76、t;/p><p>  0xFF,0xDF,0xFF,0xCF,0xFF,0xF7,</p><p>  0xFF,0xFF};/*"L",0*/</p><p>  uchar code fuhao1[]=</p><p>  {0xFF,0xFF,0xF7,0xDF,0xF7,0xDF,</p><p&g

77、t;  0x07,0xC0,0x07,0xC0,0x77,0xDF,</p><p>  0x77,0xDF,0x77,0xDF,0x77,0xDF,</p><p>  0x77,0xDF,0x77,0xDF,0x17,0xDC,</p><p>  0xF7,0xCF,0xE7,0xCF,0xEF,0xF7,</p><p>  0xFF

78、,0xFF};/*"E",1*/</p><p>  uchar code fuhao2[]=</p><p>  {0xFF,0xFF,0xF7,0xDF,0xF7,0xDF,</p><p>  0x07,0xC0,0x07,0xC0,0xF7,0xDF,</p><p>  0xF7,0xDF,0xF7,0xDF,0

79、xF7,0xDF,</p><p>  0xF7,0xDF,0xE7,0xCF,0xEF,0xEF,</p><p>  0xCF,0xE7,0x1F,0xF0,0x3F,0xF8,</p><p>  0xFF,0xFF};/*"D",2*/</p><p>  while(count)</p><p

80、>  {while(value)</p><p><b>  {</b></p><p>  for(j=0;j<k;j++)</p><p>  {for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P0=

81、hanzi[i*2];</p><p>  P2=hanzi[i*2+1];</p><p><b>  P1=i;</b></p><p>  delay(220);</p><p><b>  P1=0x9f;</b></p><p><b>  }</b

82、></p><p><b>  }</b></p><p><b>  value=0;</b></p><p><b>  }</b></p><p><b>  value=1;</b></p><p>  while(v

83、alue)</p><p><b>  {</b></p><p>  for(j=0;j<k;j++)</p><p>  {for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P0=hanzi1[i*2];<

84、;/p><p>  P2=hanzi1[i*2+1];</p><p><b>  P1=i;</b></p><p>  delay(220);</p><p><b>  P1=0x9f;</b></p><p><b>  }</b></p>

85、;<p><b>  }</b></p><p><b>  value=0;</b></p><p><b>  }</b></p><p><b>  value=1;</b></p><p>  while(value)</p&g

86、t;<p><b>  {</b></p><p>  for(j=0;j<k;j++)</p><p>  {for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P0=hanzi2[i*2];</p><

87、p>  P2=hanzi2[i*2+1];</p><p><b>  P1=i;</b></p><p>  delay(220);</p><p><b>  P1=0x9f;</b></p><p><b>  }</b></p><p>&

88、lt;b>  }</b></p><p><b>  value=0;</b></p><p><b>  }</b></p><p><b>  value=1;</b></p><p>  while(value)</p><p>

89、<b>  {</b></p><p>  for(j=0;j<k;j++)</p><p>  {for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P0=hanzi3[i*2];</p><p>  P2=han

90、zi3[i*2+1];</p><p><b>  P1=i;</b></p><p>  delay(220);</p><p><b>  P1=0x9f;</b></p><p><b>  }</b></p><p><b>  }&l

91、t;/b></p><p><b>  value=0;</b></p><p><b>  }</b></p><p><b>  value=1;</b></p><p>  while(value)</p><p><b>  {

92、</b></p><p>  for(j=0;j<k;j++)</p><p>  {for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P0=hanzi4[i*2];</p><p>  P2=hanzi4[i*2+1];&l

93、t;/p><p><b>  P1=i;</b></p><p>  delay(220);</p><p><b>  P1=0x9f;</b></p><p><b>  }</b></p><p><b>  }</b></

94、p><p><b>  value=0;</b></p><p><b>  }</b></p><p><b>  value=1;</b></p><p>  while(value)</p><p><b>  {</b><

95、;/p><p>  for(j=0;j<k;j++)</p><p>  {for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P0=hanzi5[i*2];</p><p>  P2=hanzi5[i*2+1];</p><

96、;p><b>  P1=i;</b></p><p>  delay(220);</p><p><b>  P1=0x9f;</b></p><p><b>  }</b></p><p><b>  }</b></p><p&

97、gt;<b>  value=0;</b></p><p><b>  }</b></p><p><b>  value=1;</b></p><p>  while(value)</p><p><b>  {</b></p><

98、p>  for(j=0;j<k;j++)</p><p>  {for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P0=hanzi6[i*2];</p><p>  P2=hanzi6[i*2+1];</p><p><b&g

99、t;  P1=i;</b></p><p>  delay(220);</p><p><b>  P1=0x9f;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b> 

100、 value=0;</b></p><p><b>  }</b></p><p><b>  value=1;</b></p><p><b>  count--;</b></p><p><b>  }</b></p><

101、;p>  while(value)</p><p><b>  {</b></p><p>  for(j=0;j<k;j++)</p><p>  {for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P0=

102、fuhao[i*2];</p><p>  P2=fuhao[i*2+1];</p><p><b>  P1=i;</b></p><p>  delay(220);</p><p><b>  P1=0x9f;</b></p><p><b>  }</b

103、></p><p><b>  }</b></p><p><b>  value=0;</b></p><p><b>  }</b></p><p><b>  value=1;</b></p><p>  while(v

104、alue)</p><p><b>  {</b></p><p>  for(j=0;j<k;j++)</p><p>  {for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P0=fuhao1[i*2];<

105、;/p><p>  P2=fuhao1[i*2+1];</p><p><b>  P1=i;</b></p><p>  delay(220);</p><p><b>  P1=0x9f;</b></p><p><b>  }</b></p>

106、;<p><b>  }</b></p><p><b>  value=0;</b></p><p><b>  }</b></p><p><b>  value=1;</b></p><p>  while(value)</p&g

107、t;<p><b>  {</b></p><p>  for(j=0;j<k;j++)</p><p>  {for(i=0;i<16;i++)</p><p><b>  {</b></p><p>  P0=fuhao2[i*2];</p><

108、p>  P2=fuhao2[i*2+1];</p><p><b>  P1=i;</b></p><p>  delay(220);</p><p><b>  P1=0x9f;</b></p><p><b>  }</b></p><p>&

109、lt;b>  }</b></p><p><b>  value=0;</b></p><p><b>  }</b></p><p><b>  value=1;</b></p><p><b>  }</b></p>&

110、lt;p>  //獨(dú)立鍵盤檢測(cè)函數(shù)</p><p>  /*uchar keydect0(void)</p><p>  { uchar keytemp=0;</p><p>  //P24=0;//電路中將P2^4電平拉低</p><p>  if((P31&&1)!=1)</p><p>&

111、lt;b>  {</b></p><p>  keytemp=P31&&1;</p><p>  delay(2000);//延時(shí)消抖</p><p>  if((P31&&1)==keytemp)</p><p><b>  {</b></p><p

112、>  return(keytemp);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  return(1);</p><p><b>  }

113、</b></p><p><b>  }</b></p><p>  return(1);</p><p><b>  }*/</b></p><p>  unsigned char code FontData [5][32] = {</p><p>  /*--

114、 文字: 生 --*/</p><p>  /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/</p><p>  0xff,0x7f,0xef,0x3f,0xef,0x7f,0xef,0x77,0xe0,0x03,0xdf,0x7f,0xdf,0x7f,0xbf,0x77,</p><p>  0x60,0x03,0xff,0x

115、7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7b,0x80,0x01,0xff,0xff,</p><p>  /*-- 文字: 日 --*/</p><p>  /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/</p><p>  0xff,0xff,0xe0,0x0f,0xef,0xef,

116、0xef,0xef,0xef,0xef,0xef,0xef,0xe0,0x0f,0xef,0xef,</p><p>  0xef,0xef,0xef,0xef,0xef,0xef,0xef,0xef,0xe0,0x0f,0xef,0xef,0xff,0xff,0xff,0xff,</p><p>  /*-- 文字: 快 --*/</p><p>  /*-

117、- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/</p><p>  0xdf,0x7f,0x2f,0x7f,0xdf,0x7f,0xc8,0x07,0x57,0x77,0x57,0x77,0x5f,0x77,0xd0,0x01,</p><p>  0xdf,0x7f,0xde,0xbf,0xde,0xbf,0xde,0xdf,0xdd,0xef,0xdd,0x

118、e7,0xdb,0xf1,0xd7,0xfb,</p><p>  /*-- 文字: 樂(lè) --*/</p><p>  /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/</p><p>  0xff,0xcf,0xef,0x07,0xe0,0xff,0xef,0x7f,0xef,0x7f,0xef,0x7f,0xc0,0x03,

119、0xef,0x7f,</p><p>  0xf7,0x7f,0xf3,0x6f,0xe7,0x77,0xcf,0x73,0xdb,0x79,0xbd,0x7b,0xef,0xff,0xff,0xff</p><p><b>  };</b></p><p>  //unsigned char code FontData;</p>

120、<p>  void Delay_50us(unsigned char t) //50us延時(shí)程序</p><p><b>  {</b></p><p>  unsigned char j; </p><p>  for(;t>0;t--) </p><p>  for(j=19;j&

121、gt;0;j--)</p><p><b>  }</b></p><p>  void DisNFont (unsigned char *FontBufferStart,unsigned char N,unsigned char Time) //流動(dòng)顯示N個(gè)漢字</p><p>  { //參數(shù)三個(gè):字符串字模首地址、字?jǐn)?shù)、顯示流動(dòng)速度&

122、lt;/p><p>  unsigned char FontNum,i,j,row; //循環(huán)變量,字?jǐn)?shù)計(jì)數(shù)、16次流動(dòng)、16列掃描</p><p>  for(FontNum=0;FontNum<N-1;FontNum++)</p><p><b>  {</b></p><p>  for(i=0;i<

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

124、t;16;row++) //顯示16*16屏幕一次</p><p><b>  {</b></p><p>  SEL = row; //選通顯示列</p><p>  UP8 = *(FontBufferStart+FontNum*32+(i+row)*2+1); //獲取顯示數(shù)據(jù) 循環(huán)顯示關(guān)鍵算法</p>&

125、lt;p>  DOWN8 = *(FontBufferStart+FontNum*32+(i+row)*2); //以移動(dòng)偏移為基礎(chǔ)獲取新數(shù)據(jù)</p><p>  Delay_50us (15); //適當(dāng)延時(shí)</p><p>  UP8 = 0x00; //關(guān)閉顯示</p><p>  DOWN8 = 0x00;

126、 //關(guān)閉顯示 防止花屏</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b> 

127、 }</b></p><p>  void main()</p><p><b>  { </b></p><p><b>  while(1)</b></p><p><b>  {k=30;</b></p><p>  option1()

128、 ;</p><p><b>  count=1;</b></p><p><b>  k=15 ;</b></p><p>  option1();</p><p><b>  count=1;</b></p><p>  DisNFont (Font

129、Data[0],5,20);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5.設(shè)計(jì)總結(jié)</b></p><p>  這次課程設(shè)計(jì)我的收獲很大,第一塊板子焊完以后發(fā)現(xiàn)出錯(cuò)了,經(jīng)過(guò)檢查發(fā)現(xiàn)時(shí)三極管的極性接反了,結(jié)果就又

130、重新再焊。這一次我們吸取了上次的教訓(xùn),把系統(tǒng)分成好幾個(gè)功能模塊進(jìn)行焊接和測(cè)試,最后再順利把各個(gè)模塊搭接起來(lái)進(jìn)行調(diào)試,通過(guò)一次次的調(diào)試,我們終于實(shí)現(xiàn)了功能要求。自己的內(nèi)心也感到非常滿足,畢竟自己親手做出了成品。另外,我們的設(shè)計(jì)思想也有了非常深刻的變化和體會(huì),積累了許多寶貴的經(jīng)驗(yàn),我相信在以后的實(shí)踐任務(wù)中我們會(huì)更加出色。</p><p><b>  課程設(shè)計(jì)成績(jī)?cè)u(píng)定表</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)論