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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  問(wèn)題描述</b></p><p><b>  系統(tǒng)基本背景</b></p><p>  這學(xué)期我們專(zhuān)業(yè)開(kāi)設(shè)了《嵌入式系統(tǒng)課程設(shè)計(jì)》這門(mén)課程,是《嵌入式系統(tǒng)》課程的輔助教學(xué)課程。通過(guò)課程設(shè)計(jì),使我們掌握嵌入式ARM的基本概念,結(jié)合實(shí)際的操作和設(shè)計(jì),鞏固課堂教學(xué)內(nèi)容,使我們掌握嵌入式系統(tǒng)的基本概念、原理和技術(shù),將理論與實(shí)

2、際相結(jié)合,應(yīng)用現(xiàn)有的仿真工具和嵌入式軟件開(kāi)發(fā)平臺(tái),規(guī)范、科學(xué)地完成一個(gè)小型LCD顯示電路的設(shè)計(jì)與實(shí)現(xiàn),把理論課與實(shí)驗(yàn)課所學(xué)內(nèi)容做一綜合,并在此基礎(chǔ)上強(qiáng)化我們的實(shí)踐意識(shí)、提高其實(shí)際動(dòng)手能力和創(chuàng)新能力。</p><p>  芯片及開(kāi)發(fā)軟件的選擇</p><p>  本課程設(shè)計(jì)采用了LPC2106 ARM嵌入式處理器和LM016L液晶顯示模塊,在實(shí)現(xiàn)軟件商使用了Proteus Version 7

3、.5進(jìn)行電路仿真和設(shè)計(jì),程序設(shè)計(jì)上采用RealView MDK來(lái)設(shè)計(jì)實(shí)現(xiàn)。</p><p><b>  電路設(shè)計(jì)</b></p><p>  Proteus創(chuàng)建工程過(guò)程</p><p><b>  圖1.1 創(chuàng)建工程</b></p><p>  打開(kāi)Proteus Version 7.5點(diǎn)擊工具欄下

4、面一行第一個(gè)圖標(biāo)創(chuàng)建一張電路板,保存在選定好的路徑上。</p><p><b>  元件的選擇</b></p><p>  點(diǎn)擊側(cè)欄項(xiàng)目元件列表上的P鍵,彈出元件庫(kù),在搜索框中搜索LPC2106和LM016L并雙擊添加元件到左側(cè)元件列表。</p><p>  圖1.2 添加LPC2106ARM處理器</p><p>  

5、圖1.3 添加LM016L液晶顯示模塊</p><p>  圖1.4 添加元件到項(xiàng)目元件列表</p><p>  在左側(cè)元件列表中元件添加到右側(cè)電路圖上,同樣操作添加另一個(gè)元件,調(diào)整好對(duì)應(yīng)位置,效果如下圖。</p><p>  圖1.5 添加元件到電路圖上</p><p>  電路連線及對(duì)應(yīng)參數(shù)配置</p><p> 

6、 選擇左側(cè)工具欄中的終端模式,將地線和電源添加進(jìn)電路圖,本設(shè)計(jì)采用了兩種電源設(shè)計(jì),所以要添加兩個(gè)電源在后續(xù)的配置中配置電源屬性。</p><p>  圖1.6 添加電源和地線到電路圖上</p><p>  圖1.7配置電源電壓參數(shù)</p><p>  選中電源,右鍵菜單,會(huì)出現(xiàn)圖1.6效果,選中Edit properties會(huì)彈出圖1.7菜單在String欄中輸入+

7、3.3V,同理配置另外一個(gè)電源為+1.8v。</p><p>  圖1.8連接芯片電源線和地線</p><p>  圖1.9添加總線到電路圖</p><p>  按圖1.8連接好電源線和地線,調(diào)整好元件位置,點(diǎn)擊左側(cè)工具欄選中終端模式,點(diǎn)擊BUS,在兩個(gè)元器件之間添加總線,調(diào)整好位置。將芯片的13到35引腳連接到總線上,將液晶顯示器模塊的4到14引腳連接到總線上,連

8、接好后的效果圖如圖1.10所示。</p><p>  圖1.10通過(guò)總線連接處理器和液晶顯示器模塊</p><p>  圖1.11右鍵調(diào)處總線配置菜單</p><p>  圖1.12總線配置菜單</p><p>  圖1.13右鍵調(diào)處總線配置菜單</p><p>  按照?qǐng)D1.11右鍵總線調(diào)出如圖1.12配置菜單后,在

9、String欄中輸入P0.[0..10]點(diǎn)擊確認(rèn),總線參數(shù)配置完畢接下來(lái)配置各個(gè)連線,選中13腳右鍵菜單,點(diǎn)擊place wire label得到圖1.14,按照引腳功能選擇P0.0,如圖配置好13到35引腳。</p><p><b>  圖1.14連線配置</b></p><p>  圖1.15總線連接配置完成后截圖</p><p>  配置

10、完LPC2106引腳后配置液晶模塊引腳,引腳7到14依次配置P0.0到P0.7,4引腳配置P0.8,5引腳配置P0.9,6引腳配置P0.10。到此總線及總線連接配置完畢。</p><p>  圖1.16右鍵調(diào)處晶振頻率配置菜單</p><p>  圖1.17仿真器晶振頻率配置菜單</p><p>  最后配置好仿真器晶振頻率,選中LPC2106的11引腳,右鍵選中E

11、dit properties得到圖1.17菜單,在Clock Frequency欄中輸入12MHZ。到此電路圖的連接及配置完成。</p><p><b>  電路效果圖</b></p><p>  圖1.18電路最終效果圖</p><p><b>  程序設(shè)計(jì)</b></p><p>  RealV

12、iew MDK創(chuàng)建工程過(guò)程</p><p>  打開(kāi)軟件,在工具欄上選擇project菜單項(xiàng),選擇第一個(gè)新建一個(gè)工程,填好工程名字lcd_dw,然后點(diǎn)擊確認(rèn)創(chuàng)建,選擇目標(biāo)設(shè)備,以便添加啟動(dòng)代碼,根據(jù)之前的設(shè)計(jì),我們選擇NXP,在里面選擇LPC2106,然后在隨后彈出的對(duì)話框中選確認(rèn)創(chuàng)建啟動(dòng)代碼。創(chuàng)建成功后,在左側(cè)項(xiàng)目管理樹(shù)形圖中選擇一個(gè)文件夾右鍵,點(diǎn)manage components,在這個(gè)菜單中創(chuàng)建src 和i

13、nc文件夾,然后點(diǎn)擊target options按鈕,在output選項(xiàng)條中點(diǎn)擊select Folder for objects選擇之前在項(xiàng)目文件夾中創(chuàng)建好的目錄。同樣的設(shè)置listing選項(xiàng)卡中的select Folder for objects選項(xiàng)。這樣RealView MDK的工程就創(chuàng)建完成了。之后就可以導(dǎo)入開(kāi)發(fā)好的頭文件和住函數(shù)文件進(jìn)行開(kāi)發(fā)了。</p><p><b>  圖1.19新建工程&

14、lt;/b></p><p>  打開(kāi)RealView MDK軟件,在第四個(gè)菜單項(xiàng)project下創(chuàng)建新的工程。</p><p>  圖1.20保存工程位置</p><p>  圖1.21選擇仿真硬件</p><p>  在選擇完保存路徑后,在彈出的對(duì)話框點(diǎn)擊“確定”,之后進(jìn)入硬件仿真選擇對(duì)話框,在對(duì)話框中選擇NXP下的LPC2106,

15、點(diǎn)擊“OK”,隨后兩個(gè)對(duì)話框默認(rèn)選擇是。</p><p>  圖1.22添加源程序文件</p><p>  將寫(xiě)好的源文件放在新建的工程文件夾下,在工程項(xiàng)目欄剛剛新建的工程下添加源文件。</p><p>  圖1.23選擇源文件</p><p>  首先添加main函數(shù)文件,之后再選擇功能函數(shù)config、LPC2106、LCD_PRO添加到

16、文件。</p><p>  圖1.24修改options屬性</p><p><b>  功能函數(shù)</b></p><p>  // File: main.c</p><p>  // 功能:向LCD輸出HelloWorld</p><p>  #include "config.h&q

17、uot;</p><p>  #define rs (1<<8)//10000000</p><p>  #define rw (1<<9)//100000000</p><p>  #define en (1<<10)//1000000000</p><p>  #define busy (1<&l

18、t;7)//1000000</p><p>  //uint8 txt[]={"HelloWorld"};</p><p>  //名稱(chēng):ChkBusy()</p><p>  // 功能:檢查總線是否忙</p><p>  void ChkBusy()</p><p><b>  {&l

19、t;/b></p><p>  IODIR=0x700;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  IOCLR=rs;</b></p><p><b>  I

20、OSET=rw;</b></p><p><b>  IOSET=en;</b></p><p>  if(!(IOPIN & busy))break;</p><p><b>  IOCLR=en;</b></p><p><b>  }</b></

21、p><p>  IODIR=0x7ff;</p><p><b>  }</b></p><p>  //名稱(chēng):WrOp()</p><p>  //功能:寫(xiě)指令函數(shù)</p><p>  void WrOp(uint8 dat)</p><p><b>  {<

22、/b></p><p>  ChkBusy();</p><p>  IOCLR=rs;//全部清零</p><p><b>  IOCLR=rw;</b></p><p>  IOCLR=0xff;//先清零</p><p>  IOSET=dat;//再送數(shù)</p>

23、;<p><b>  IOSET=en;</b></p><p><b>  IOCLR=en;</b></p><p><b>  }</b></p><p>  // 名稱(chēng):WrDat()</p><p>  //功能:寫(xiě)數(shù)據(jù)函數(shù)</p><

24、;p>  void WrDat(uint8 dat)</p><p><b>  {</b></p><p>  ChkBusy();</p><p><b>  IOSET=rs;</b></p><p><b>  IOCLR=rw;</b></p>

25、<p>  IOCLR=0xff;//先清零</p><p>  IOSET=dat;//再送數(shù)</p><p><b>  IOSET=en;</b></p><p><b>  IOCLR=en;</b></p><p><b>  }</b></p

26、><p>  // 名稱(chēng):lcd_init()</p><p>  // 功能:lcd初始化函數(shù)</p><p>  void lcd_init(void)</p><p><b>  {</b></p><p>  WrOp(0x38);</p><p>  WrOp(

27、0x06);//光標(biāo)加1</p><p>  WrOp(0x0c);//開(kāi)顯示</p><p><b>  }</b></p><p>  // 名稱(chēng):DisText()</p><p>  //功能:顯示文本函數(shù)</p><p>  void DisText(uint8 addr,u

28、int8 *p)</p><p><b>  {</b></p><p>  WrOp(addr);</p><p>  while(*p !='\0')WrDat(*(p++));</p><p><b>  }</b></p><p><b> 

29、 //功能:延時(shí)程序</b></p><p>  void delay(uint16 n)</p><p><b>  {</b></p><p><b>  uint8 i;</b></p><p>  for(;n>0;n--)</p><p>  fo

30、r(i=5;i>0;i--);</p><p><b>  }</b></p><p><b>  主函數(shù)</b></p><p>  int main(void)</p><p><b>  { </b></p><p>  uint8 t

31、xt[]={"HelloWord"};</p><p>  uint8 txt1[]={" "};</p><p>  lcd_init();</p><p>  IODIR=0x7ff;//設(shè)置為輸出</p><p>  IOCLR=0x7ff;</p><p&

32、gt;<b>  while(1){</b></p><p>  DisText(0x80,txt);</p><p>  delay(111);</p><p>  DisText(0x80,txt1);</p><p>  DisText(0x82,txt);</p><p>  delay(

33、111);</p><p>  DisText(0x82,txt1);</p><p>  DisText(0x84,txt);</p><p>  delay(111);</p><p>  DisText(0x84,txt1);</p><p>  DisText(0x86,txt);</p><

34、;p>  delay(111);</p><p>  DisText(0x86,txt1);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  編譯結(jié)果</b></p><p>  圖1.2

35、7編譯成功,無(wú)報(bào)錯(cuò)無(wú)警告</p><p><b>  設(shè)計(jì)效果</b></p><p><b>  圖1.26</b></p><p>  設(shè)計(jì)效果實(shí)現(xiàn)了文字從右向左的循環(huán)移動(dòng),達(dá)到了預(yù)期的設(shè)計(jì)目的。</p><p><b>  參考文獻(xiàn)</b></p><

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論