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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p>  1 設(shè)計(jì)目的 ……………………………………………………………………………………1</p><p>  2 硬件設(shè)計(jì) …………………………………………………………………………………………1</p><p>  2.1硬件方案設(shè)計(jì)…………………………………………………………………

2、………………1</p><p>  2.2單元電路設(shè)計(jì)…………………………………………………………………………………1</p><p>  2.2.1控制部件 ………………………………………………………………………………2</p><p>  2.2.2顯示模塊 ………………………………………………………………………………2</p><p>

3、  2.2.3讀寫時(shí)序 ………………………………………………………………………………4</p><p>  2.2.4讀寫函數(shù) ………………………………………………………………………………4</p><p>  2.2.5地址顯示 ………………………………………………………………………………5</p><p>  2.2.6數(shù)據(jù)處理 …………………………………………

4、……………………………………5</p><p>  2.3硬件調(diào)試………………………………………………………………………………………6</p><p>  3 軟件設(shè)計(jì) …………………………………………………………………………………………8</p><p>  3.1系統(tǒng)分析 ……………………………………………………………………………………8</p>

5、<p>  3.2軟件調(diào)試………………………………………………………………………………………8</p><p>  4 課程設(shè)計(jì)體會(huì)總結(jié) ………………………………………………………………………………9</p><p>  5 參考文獻(xiàn) …………………………………………………………………………………………9</p><p>  附錄 ……………………

6、……………………………………………………………………10</p><p><b>  1 設(shè)計(jì)目的</b></p><p>  用TMS320F2812芯片為核心控制部件,設(shè)計(jì)一個(gè)能用LCD液晶顯示屏顯示當(dāng)前年,月,日,時(shí),分,秒的具有電子時(shí)鐘功能的萬年歷,使用程序來控制時(shí)間的實(shí)時(shí)更新。</p><p>  熟悉CCS3.3軟件的使用;<

7、/p><p>  學(xué)習(xí)并了解DSP板及教學(xué)實(shí)驗(yàn)箱的使用;</p><p>  學(xué)習(xí)DSP芯片的I/O端口的控制方法;</p><p>  熟悉Emulator方式下的程序調(diào)試規(guī)程,并最終能夠熟練掌握在DSP軟硬件環(huán)境下的程序開發(fā)流程;</p><p>  能夠?qū)ΜF(xiàn)有器件進(jìn)行簡(jiǎn)單地編程,實(shí)現(xiàn)各種簡(jiǎn)單地顯示控制。</p><p&g

8、t;<b>  效果圖展示如下:</b></p><p><b>  2 硬件設(shè)計(jì)</b></p><p>  2.1 硬件方案設(shè)計(jì)</p><p>  本系統(tǒng)以TMS320F2812為核心控制部件,利用軟件編程,通過CPU中斷,使用12864 LCD液晶顯示器進(jìn)行時(shí)鐘顯示,實(shí)現(xiàn)基本要求,盡量做到硬件電路簡(jiǎn)單穩(wěn)定,減小電

9、磁干擾和其他環(huán)境干擾,充分發(fā)揮軟件編程的優(yōu)點(diǎn),減小因元器件精度不夠引起的誤差。由于時(shí)間有限和本身知識(shí)水平的發(fā)揮,我們認(rèn)為本系統(tǒng)還有需要改進(jìn)和提高的地方,例如選用更高精度的元器件,硬件電路更加精確穩(wěn)定,軟件測(cè)量算法進(jìn)一步的改進(jìn)與完善等。</p><p>  2.2 單元電路設(shè)計(jì)</p><p>  2.2.1 控制部件 TMS320F2812 CUPTime結(jié)構(gòu)及性能</p>

10、<p>  本次課設(shè)所使用的TMS320F2812是DSP開發(fā)板,主要用到的是其中的CPU定時(shí)器功能,其整體思路如下:</p><p>  初始化系統(tǒng),為系統(tǒng)分配時(shí)鐘,處理看門狗電路等等,</p><p>  初始化CPU定時(shí)器0.</p><p>  定時(shí)器0開始計(jì)數(shù),等待周期中斷,然后進(jìn)入中斷控制,對(duì)時(shí)分秒進(jìn)行自加計(jì)數(shù),并控制一個(gè)LED燈進(jìn)行工作顯

11、示 </p><p><b>  程序部分如下:</b></p><p>  int myhour = 12,mymin = 32,mysec = 20;</p><p>  int myyear = 2017,mymon = 06,myday = 8; //預(yù)置時(shí)鐘</p><p>  interrupt voi

12、d TINT0_ISR(void) // CPU-Timer0中斷函數(shù)</p><p><b>  {</b></p><p><b>  mysec++;</b></p><p>  if((mysec%2) == 0)</p><p><b>  {</b>&l

13、t;/p><p>  GpioDataRegs.GPADAT.bit.GPIOA0 = 1; //進(jìn)入中斷測(cè)試</p><p><b>  }else</b></p><p><b>  {</b></p><p>  GpioDataRegs.GPADAT.bit.GPIOA0 = 0;</

14、p><p><b>  }</b></p><p>  if(mysec == 60) //時(shí)分秒自計(jì)數(shù)</p><p><b>  {</b></p><p><b>  mymin++;</b></p><p>  mysec = 0;&

15、lt;/p><p><b>  }</b></p><p>  if(mymin == 60)</p><p><b>  {</b></p><p><b>  myhour++;</b></p><p>  mymin = 0;</p>&

16、lt;p><b>  }</b></p><p>  if(myhour == 24) //年月日自計(jì)數(shù)</p><p><b>  {</b></p><p><b>  myday++;</b></p><p>  myhour = 0;</p&g

17、t;<p><b>  }</b></p><p>  if(myday == 30)</p><p><b>  {</b></p><p><b>  mymon++;</b></p><p>  myday = 1;</p><p>

18、<b>  }</b></p><p>  if(mymon == 12)</p><p><b>  {</b></p><p><b>  myyear++;</b></p><p>  mymon = 1;</p><p><b>  }

19、</b></p><p>  CpuTimer0Regs.TCR.bit.TIF=1; //清除定時(shí)器中斷標(biāo)志位</p><p>  PieCtrl.PIEACK.bit.ACK1=1; //響應(yīng)同組其他中斷</p><p>  EINT; //開全局中斷</p><p><b>  }</b>&l

20、t;/p><p>  2.2.2 顯示模塊 LCD12864液晶顯示</p><p>  采用LCD12864液晶顯示。液晶顯示器(LCD)具有功耗低、體積小、重量輕、超薄等許多其它顯示器無法比擬的優(yōu)點(diǎn)。12864分左屏和右屏是由兩塊64*64的液晶組成,有CS1和CS2左右屏使能引腳。64*64的共分8頁, 8行l(wèi)ed液晶是一頁,每行分別是由DB0_DB7控制,也就是從單片機(jī)中發(fā)64次8位

21、的二進(jìn)制數(shù)可以掃一頁,發(fā)64(8頁)次的二進(jìn)制數(shù)可以掃一個(gè)半屏,再乘以二就可以掃全屏,當(dāng)把二進(jìn)制數(shù)全發(fā)完了,才可以控制液晶開始顯示。單片機(jī)可以通過數(shù)據(jù)總線與控制信號(hào)直接采用存儲(chǔ)器訪問形式、I/O設(shè)備訪問形式控制該液晶顯示模塊。</p><p>  液晶顯示模塊的訪問、控制是由2812DSP 對(duì)擴(kuò)展擴(kuò)展接口的操作完成。</p><p>  2.2.3 顯示模塊 LCD12864液晶讀寫時(shí)序

22、</p><p>  數(shù)據(jù)傳輸過程(8位):</p><p><b>  MCU寫資料</b></p><p><b>  MCU讀資料</b></p><p>  2.2.4 顯示模塊 LCD12864液晶讀寫函數(shù)</p><p>  void wr_lcd (uchar

23、 dat_comm,uint content)</p><p><b>  {</b></p><p><b>  uint i,j;</b></p><p><b>  sclk=0;</b></p><p><b>  std=0;</b><

24、/p><p><b>  delay(1);</b></p><p>  for(i=0;i<5;i++)</p><p>  wr_byte1(); </p><p>  wr_byte0();</p><p>  if(dat_comm)</p><p&

25、gt;  wr_byte1(); //data</p><p><b>  else</b></p><p>  wr_byte0(); //command</p><p>  wr_byte0();</p><p>  for(j=0;j<2;j++)</p><p><b&

26、gt;  {</b></p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p>  if(content&0x80)</p><p>  wr_byte1();</p><p><b>  else</b

27、></p><p>  wr_byte0();</p><p>  content=content<<1;</p><p><b>  }</b></p><p>  for(i=0;i<4;i++)</p><p>  wr_byte0();</p><

28、;p><b>  }</b></p><p><b>  delay(3);</b></p><p>  } </p><p>  2.2.5 顯示模塊 LCD12864液晶按地址分行顯示函數(shù)</p><p>  為了使得程序可讀性更加良好,我組編寫了按地址分

29、行顯示函數(shù),這個(gè)函數(shù)主要有兩個(gè)參數(shù),第一個(gè)參數(shù)為所需要在液晶屏上顯示的字符,第二個(gè)參數(shù)為所需要顯示的行數(shù),因?yàn)?2864液晶顯示是按照地址顯示的,其起始地址為0x80,第二行的地址為0x90,第三行為0x88,第四行為0x98,一行是8個(gè)地址,每個(gè)地址位可以顯示一個(gè)漢字或者是兩個(gè)字符,所以使用此函數(shù)可以簡(jiǎn)單明了的表示想要顯示字符的位置。</p><p><b>  顯示函數(shù)如下:</b>&l

30、t;/p><p>  void chn_disp (uchar *chn,int m)</p><p><b>  {</b></p><p><b>  uchar k;</b></p><p>  wr_lcd (comm,0x30);</p><p>  wr_lcd (

31、comm,0x80);</p><p>  if(m == 1)</p><p><b>  {</b></p><p>  wr_lcd (comm,0x30);</p><p>  wr_lcd (comm,0x80);</p><p>  for (k=0;k<16;k++)</

32、p><p><b>  {</b></p><p>  wr_lcd (datt,chn[k]);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(m == 2)</p><p&g

33、t;<b>  {</b></p><p>  wr_lcd (comm,0x30);</p><p>  wr_lcd (comm,0x90 + 1);</p><p>  for (k=0;k<10;k++)</p><p><b>  {</b></p><p>

34、  wr_lcd (datt,chn[k]);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(m == 3)</p><p><b>  {</b></p><p>  wr_lcd (comm

35、,0x30);</p><p>  wr_lcd (comm,0x88 + 1);</p><p>  for (k=0;k<8;k++)</p><p><b>  {</b></p><p>  wr_lcd (datt,chn[k]);</p><p><b>  }<

36、/b></p><p><b>  }</b></p><p>  if(m == 4)</p><p><b>  {</b></p><p>  wr_lcd (comm,0x30);</p><p>  wr_lcd (comm,0x98);</p>

37、<p>  for (k=0;k<16;k++)</p><p><b>  {</b></p><p>  wr_lcd (datt,chn[k]);</p><p><b>  }</b></p><p><b>  }</b></p>&l

38、t;p><b>  }</b></p><p>  2.2.6 顯示模塊 LCD12864液晶對(duì)各數(shù)據(jù)進(jìn)行處理</p><p>  使用extern函數(shù)對(duì)外部變量進(jìn)行處理</p><p>  void dis_year()//年月日按位裝入buff1</p><p><b>  {</b

39、></p><p>  buff1[0]= myyear/1000 + '0';</p><p>  buff1[1]= (myyear/100%10) + '0';</p><p>  buff1[2]= (myyear/10%10) + '0';</p><p>  buff1[3]=

40、 myyear%10 + '0';</p><p>  buff1[4]= '-';</p><p>  buff1[5]= mymon/10 + '0';</p><p>  buff1[6]= mymon%10 + '0';</p><p>  buff1[7]= '

41、-';</p><p>  buff1[8]= myday/10 + '0';</p><p>  buff1[9]= myday%10 + '0';</p><p><b>  }</b></p><p>  void dis_sec() //時(shí)分秒按位裝入buff2

42、</p><p><b>  {</b></p><p>  buff2[0]= myhour/10 + '0';</p><p>  buff2[1]= myhour%10 + '0';</p><p>  buff2[2]= ':';</p><p&

43、gt;  buff2[3]= mymin/10 + '0';</p><p>  buff2[4]= mymin%10 + '0';</p><p>  buff2[5]= ':';</p><p>  buff2[6]= mysec/10 + '0';</p><p>  bu

44、ff2[7]= mysec%10 + '0';</p><p><b>  }</b></p><p><b>  2.3 硬件調(diào)試</b></p><p>  硬件調(diào)試可分為靜態(tài)調(diào)試與動(dòng)態(tài)調(diào)試兩步進(jìn)行。</p><p>  靜態(tài)調(diào)試是在用戶系統(tǒng)未工作時(shí)的一種硬件檢測(cè)。</p

45、><p>  第一步:目測(cè)。檢查外部的各種元件或者是電路是否有斷點(diǎn)。</p><p>  第二步:用萬用表測(cè)試。先用萬用表復(fù)核目測(cè)中有疑問的連接點(diǎn),再檢測(cè)各種電源線與地線之間是否有短路現(xiàn)象。</p><p>  第三步:加電檢測(cè)。給板加電,檢測(cè)所有插座或是器件的電源端是否符合要求的值。 </p><p>  第四步:聯(lián)機(jī)檢查。因?yàn)橹挥杏脝纹瑱C(jī)開發(fā)

46、系統(tǒng)才能完成對(duì)用戶系統(tǒng)的調(diào)試。 </p><p>  動(dòng)態(tài)調(diào)試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內(nèi)部故障、器件連接邏輯錯(cuò)誤等的一種硬件檢查。動(dòng)態(tài)調(diào)試的一般方法是由近及遠(yuǎn)、由分到合。由分到合是指首先按邏輯功能將用戶系統(tǒng)硬件電路分為若干塊,當(dāng)調(diào)試電路時(shí),與該元件無關(guān)的器件全部從用戶系統(tǒng)中去掉,這樣可以將故障范圍限定在某個(gè)局部的電路上。當(dāng)各塊電路無故障后,將各電路逐塊加入系統(tǒng)中,在對(duì)各塊電路功能

47、及各電路間可能存在的相互聯(lián)系進(jìn)行調(diào)試。由分到合的調(diào)試既告完成。由近及遠(yuǎn)是將信號(hào)流經(jīng)的各器件按照距離單片機(jī)的邏輯距離進(jìn)行由近及遠(yuǎn)的分層,然后分層調(diào)試。調(diào)試時(shí),仍采用去掉無關(guān)元件的方法,逐層調(diào)試下去,就會(huì)定位故障元件了。</p><p><b>  3 軟件設(shè)計(jì)</b></p><p><b>  3.1 系統(tǒng)分析</b></p>&l

48、t;p>  根據(jù)本系統(tǒng)設(shè)計(jì)要求和硬件連接電路,軟件實(shí)現(xiàn)主要包括兩個(gè)主要部分:液晶顯示程序和主函數(shù)部分。</p><p>  液晶顯示部分,主要是利用通過字模提取軟件計(jì)算出來的數(shù)組矩陣,選擇要顯示的漢字、數(shù)字或者字符。顯示每一個(gè)漢字、數(shù)字或字符時(shí),應(yīng)先設(shè)置起始頁,起始列,然后將所對(duì)應(yīng)的數(shù)組中的數(shù)據(jù)按序?qū)懭氲絃CD數(shù)據(jù)控制擴(kuò)展接口中,其中寫入左屏的數(shù)據(jù)地址為0x108003 ,寫入右屏的數(shù)據(jù)地址為0x10800

49、4,依次分別寫入年、月、日、星期、時(shí)、分、秒。主程序的編寫,首先要對(duì)2812DSP芯片的寄存器進(jìn)行設(shè)置,選擇輸入輸出方式。設(shè)置完成,打開顯示器,清除顯示器顯示內(nèi)存,設(shè)置起始行,然后循環(huán)讀取1302中指示的當(dāng)前時(shí)間。便可以在12864液晶顯示屏上準(zhǔn)確讀出當(dāng)前時(shí)刻。</p><p><b>  3.2 軟件調(diào)試</b></p><p>  軟件調(diào)試是通過對(duì)程序的編譯、連接

50、、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯(cuò)誤與邏輯錯(cuò)誤并加以排除糾正的過程。最終實(shí)現(xiàn)了利用DSP芯片控制并用LCD液晶顯示器進(jìn)行實(shí)時(shí)顯示當(dāng)前秒、分、時(shí)、日、月和年。</p><p>  4 課程設(shè)計(jì)總結(jié)體會(huì)</p><p>  通過這次課程的設(shè)計(jì),萬年歷設(shè)計(jì)基本完成了所要求實(shí)現(xiàn)的功能。這次的設(shè)計(jì)過程中主要是在LCD顯示屏上顯示出年、月、日、時(shí)、分、秒,主要是針對(duì)2812進(jìn)行實(shí)現(xiàn)功能的代碼編寫。2812

51、集成了大部分的硬件,所以在硬件的操作上較為簡(jiǎn)單。此次的課程設(shè)計(jì),組內(nèi)成員分工明確,各個(gè)環(huán)節(jié)緊密結(jié)合,才使得設(shè)計(jì)成功完成,讓我們受益匪淺。</p><p><b>  5 參考文獻(xiàn) </b></p><p>  顧衛(wèi)鋼,《手把手教你學(xué)DSP》,北京航空航天大學(xué)出版社,2011.4;</p><p><b>  附錄 </b>

52、;</p><p><b>  主函數(shù)部分:</b></p><p>  /*----------------主函數(shù)-----------------*/</p><p>  void main(void)</p><p><b>  { </b></p><p>&l

53、t;b>  /*初始化系統(tǒng)*/</b></p><p>  InitSysCtrl();</p><p><b>  DINT;</b></p><p>  IER = 0x0000; //禁止CPU中斷</p><p>  IFR = 0x0000; //清除CPU中斷標(biāo)志</p>

54、<p>  /*初始化PIE*/</p><p>  InitPieCtrl();</p><p>  /*初始化PIE中斷矢量表*/</p><p>  InitPieVectTable();</p><p>  InitGpio();</p><p>  InitPeripherals(); //初

55、始化Cpu定時(shí)器模塊</p><p>  init_lcd(); //初始化LCD</p><p>  PieCtrl.PIEIER1.bit.INTx7 =1; //使能PIE模塊中的Cpu定時(shí)器0的中斷</p><p>  IER|=M_INT1; //開CPU中斷</p><p>  EINT; //使能全局中斷</p>

56、<p>  ERTM; //使能實(shí)時(shí)中斷</p><p>  ConfigCpuTimer(&CpuTimer0, 150, 150000);//Cpu定時(shí)器0的周期為1s</p><p>  StartCpuTimer0(); //啟動(dòng)Cpu定時(shí)器0</p><p><b>  for(;;)</b></p&g

57、t;<p><b>  {</b></p><p>  dis_year(); //顯示年月日</p><p>  dis_sec(); //顯示時(shí)分秒</p><p>  lat_disp (0x00,0x00); //清屏,作用等同于clrram();</p><p>  

58、clrram(); //清屏</p><p>  chn_disp (tab2,1); //分別按行顯示萬年歷、年月日、時(shí)分秒、模式</p><p>  chn_disp (buff1,2);</p><p>  chn_disp (buff2,3); </p><p>  chn_disp (mo

59、de,4); </p><p>  delay(0xffff); //延時(shí) </p><p>  lat_disp (0x00,0x00); //清屏,作用等同于clrram(); </p><p><b>  } </b></p><p><b>  }&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論