嵌入式課程設(shè)計(jì)-- pwm-高速gpio口延時(shí)方式驅(qū)動(dòng)直流電機(jī)的轉(zhuǎn)動(dòng)與停轉(zhuǎn)_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  嵌入式原理與應(yīng)用課程設(shè)計(jì)報(bào)告 </p><p>  PWM-高速GPIO口延時(shí)方式驅(qū)動(dòng)直流電機(jī)的轉(zhuǎn)動(dòng)與停轉(zhuǎn)</p><p>  學(xué) 院: 電氣信息學(xué)院 </p><p>  專 業(yè): 電氣工程及其自動(dòng)化 </p><p>  日 期: 2012年12月26日

2、 </p><p><b>  目錄 </b></p><p>  一、設(shè)計(jì)任務(wù)與要求2</p><p>  二、設(shè)計(jì)依據(jù)原則2</p><p>  2.1 GPIO概況2</p><p>  2.2 本設(shè)計(jì)使用的高速GPIO控制寄存器3</p>

3、<p>  2.3 GPIO端口寄存器簡介3</p><p>  2.4 數(shù)碼管簡介4</p><p>  三、硬件系統(tǒng)設(shè)計(jì)6</p><p>  3.1 設(shè)計(jì)電路圖 :6</p><p>  3.2電板焊接圖(焊接過程)7</p><p>  3.3、使用器件明細(xì)表:8</p>

4、<p><b>  四、軟件設(shè)計(jì)8</b></p><p>  4.1、實(shí)現(xiàn)程序:8</p><p>  4.2、調(diào)試燒寫過程:8</p><p>  4.3、課程設(shè)計(jì)檢驗(yàn)測試與實(shí)現(xiàn):9</p><p><b>  五、心得體會(huì)9</b></p><p>

5、<b>  六、參考文獻(xiàn)9</b></p><p><b>  七、附錄10</b></p><p><b>  附錄110</b></p><p><b>  一、設(shè)計(jì)任務(wù)與要求</b></p><p>  設(shè)計(jì)一個(gè)按鍵、一個(gè)蜂鳴器和一個(gè)一位7段數(shù)

6、碼管燈指示控制直流電機(jī)控制裝置;包括PWM-高速GPIO口延時(shí)方式驅(qū)動(dòng)直流電機(jī)的轉(zhuǎn)動(dòng)與停轉(zhuǎn)。</p><p><b>  二、設(shè)計(jì)依據(jù)原則</b></p><p>  2.1 GPIO概況</p><p>  LPC2103的GPIO有兩種模式:高速GPIO和低速GPIO(本設(shè)計(jì)使用高速GPIO)。高速GPIO的控制寄存器位于CPU的局部總線上

7、,可進(jìn)行高速的讀寫操作,而低速GPIO的控制寄存器是掛在VPB總線上。P0口作為高速GPIO使用時(shí),將不能在調(diào)試環(huán)境下觀察GPIO在VPB總線上的寄存器。</p><p>  2.2 本設(shè)計(jì)使用的高速GPIO控制寄存器</p><p>  表1 :GPIO控制寄存器</p><p>  2.3 GPIO端口寄存器簡介</p><p>  、

8、GPIO端口0輸出置位寄存器IOSET </p><p>  當(dāng)引腳配置為GPIO輸出時(shí),該寄存器可以使引腳輸出高電平。向該寄存器寫1,對應(yīng)的引腳將會(huì)輸出高電平;向該寄存器寫0,無效。當(dāng)引腳功能選擇為GPIO輸入或其它功能時(shí),寫IOSET無效。讀該寄存器將返回相應(yīng)的值,此值由以前對寄存器IOSET和IOCLR(或IOPIN)的寫操作決定,此值不會(huì)反映外部環(huán)境對引腳的影響。 </p><p>

9、;  、高速GPIO端口0輸出置位字節(jié)和半字寄存器(FIO0SET)</p><p>  高速GPIO除了一個(gè)32位的輸出置位寄存器之外,還有4個(gè)8位字節(jié)輸出置位寄存器和2個(gè)16位半字輸出置位寄存器。它們的功能同32位輸出置位寄存器一樣</p><p>  、GPIO端口0方向寄存器IODIR </p><p>  當(dāng)引腳選擇GPIO功能時(shí),使用該寄存器可以控制引腳

10、的方向。只有當(dāng)引腳選擇GPIO功能時(shí),IODIR的設(shè)置才有意義。低速GPIO的方向控制寄存器為IO0DIR,高速GPIO的方向控制寄存器為FIO0DIR </p><p> ?、堋PIO輸出清零寄存器IOCLR </p><p>  當(dāng)引腳配置為GPIO輸出模式時(shí),該寄存器可使引腳輸出低電平。向寄存器相應(yīng)位寫1,則對應(yīng)的引腳將輸出低電平并清零IOSET寄存器中相應(yīng)的位;寫0,無效。當(dāng)引腳

11、配置為GPIO輸入或其它功能時(shí),寫IOCLR無效。 高速GPIO的輸出清零寄存器為FIO0CLR</p><p><b>  2.4 數(shù)碼管簡介</b></p><p>  7段數(shù)碼管其實(shí)是八段,有時(shí)小數(shù)點(diǎn)沒有使用,所以常說7段,顯示原理是這樣的:數(shù)碼管首先從上到右,到下到左,到中間,最后到小數(shù)點(diǎn)分別標(biāo)記為a b c d e f g DP八段,其中小數(shù)點(diǎn)位DP為最高位

12、,a段為最低位,要想顯示什么字符只需要使對應(yīng)的段發(fā)光即可。</p><p>  一般的習(xí)慣是單片機(jī)的端口的最低位接a段,次低位接b段...最高位(如p0.7)接DP,顯示碼從高往低表示為為 DP g f e d c b a 如要顯示“1”,只需要將b、c段點(diǎn)亮即可,若是共陰極,片選是低電平選中,某一段輸出高電平點(diǎn)亮,即顯示碼為00000110 即0x06,其他的依照該方法類推。數(shù)碼管的示意圖如圖1所示</p

13、><p><b>  圖1數(shù)碼管的示意圖</b></p><p>  2.使用PWM控制直流電動(dòng)機(jī)調(diào)速是通過調(diào)節(jié)輸出方波的占空比來實(shí)現(xiàn)的,這里采用定頻調(diào)寬法,即方波的周期不變,只改變方波寬度。當(dāng)PWM輸出占窄比為50%時(shí),電機(jī)處于靜止?fàn)顟B(tài);當(dāng)占空比小于50%時(shí),電機(jī)反轉(zhuǎn);當(dāng)占空比大于50%時(shí),電機(jī)正轉(zhuǎn)。調(diào)節(jié)占空比就可以改變轉(zhuǎn)速。按鍵KEY1和KEY2用來控制占空比進(jìn)行調(diào)速

14、實(shí)驗(yàn),按下KEY1時(shí)占空比提高10%,按下KEY2時(shí)占空比降低10%。</p><p>  直流電動(dòng)機(jī)PWM調(diào)速控制原理圖如圖2所示。其中,LPC2103是直流電動(dòng)機(jī)驅(qū)動(dòng)芯片,工作電壓為4~20V,最大輸出電流為0.4 A。 </p><p><b>  硬件系統(tǒng)設(shè)計(jì)  </b></p><p>  3.1 設(shè)計(jì)電路圖 :

15、</p><p>  3.2電板焊接圖(焊接過程)</p><p>  3.3、使用器件明細(xì)表:</p><p>  表1 使用器件明細(xì)表</p><p><b>  四、軟件設(shè)計(jì)</b></p><p><b>  4.1、實(shí)現(xiàn)程序:</b></p><

16、p><b>  見附錄1</b></p><p>  4.2、調(diào)試燒寫過程:</p><p>  將計(jì)算機(jī)USB接口與EasyJTAG-H仿真器相連,然后再將EasyJTAG-H仿真器的JTAG接口連接到所焊的板子,選擇匹配的CPU型號(hào)和flash,按運(yùn)行啟動(dòng)燒寫,添加完EasyJTAG-H驅(qū)動(dòng)后,選擇該驅(qū)動(dòng)程序,關(guān)閉AXD界面,回到ADS中,在正常情況下,點(diǎn)擊

17、Debug仿真后,PC指針會(huì)指向中斷向量表的起始處.</p><p>  調(diào)試時(shí)若選擇使用DebugInFLASH生成目標(biāo),并進(jìn)行調(diào)試后(使用EasyJTAG-H仿真器),程序即燒寫到片內(nèi)Flash中。將EasyJTAG-H和電源斷開,等待五秒,重新上電,程序?qū)⒚摍C(jī)運(yùn)行,看到LED顯示和直流電機(jī)啟停。 </p><p>  使用RelInFlash生成目標(biāo)時(shí),編譯連接生成的目標(biāo)代碼會(huì)將芯片

18、加密。此時(shí)不能再進(jìn)行調(diào)試,除非使用ISP進(jìn)行全片擦除,否則是不能再進(jìn)行調(diào)試的。 </p><p>  4.3、課程設(shè)計(jì)檢驗(yàn)測試與實(shí)現(xiàn):</p><p>  功能實(shí)現(xiàn),使用PWM-高速GPIO口延時(shí)方式驅(qū)動(dòng)直流電機(jī)的轉(zhuǎn)動(dòng)與停轉(zhuǎn)。并結(jié)合數(shù)碼管顯示,電機(jī)循環(huán)啟停,數(shù)碼管循環(huán)顯示從“0”到“9”,“0”時(shí)電機(jī)啟動(dòng),“6”時(shí)停止。</p><p><b>  五、心

19、得體會(huì)</b></p><p>  《嵌入式系統(tǒng)原理》是一門實(shí)踐性較強(qiáng)的課程,為了做好此課程設(shè)計(jì),必須在掌握理論知識(shí)的同時(shí),強(qiáng)化實(shí)踐,一個(gè)人的力量是有限的,要學(xué)會(huì)吸取別人的經(jīng)驗(yàn),提升自己的能力,在程序編寫上需要更強(qiáng)的耐心,分析錯(cuò)誤,解決問題。在這個(gè)過程中,我們能感受到缺乏知識(shí)的失落,成功的興奮,體會(huì)到此設(shè)計(jì)的重要意義!</p><p>  同時(shí),在設(shè)計(jì)過程中遇到了許多的困難和障

20、礙,特別感謝劉敦放老師的諄諄教導(dǎo),細(xì)心引領(lǐng),對我們無私的指導(dǎo)和幫助,給我們從毫無頭緒中的雜亂中理出設(shè)計(jì)的主干,再次表示衷心的感謝。</p><p><b>  六、參考文獻(xiàn) </b></p><p>  1)《嵌入式系統(tǒng)原理與應(yīng)用技術(shù)》北京航空航天大學(xué)出版社教材 袁智勇著</p><p>  2)《EasyARM2103教材》廣州周立功單片機(jī)

21、發(fā)展有限公司編</p><p>  3)直流電機(jī)dynamo-0 程序 指導(dǎo)教師劉敦放</p><p><b>  七、附錄</b></p><p><b>  附錄1</b></p><p>  #include "config.h"</p><p>

22、;  #define LED0 1 << 0</p><p>  #define LED1 1 << 1</p><p>  #define LED2 1 << 2</p><p>  #define LED3 1 << 3</p><p>  #define LED4 1 << 4

23、</p><p>  #define LED5 1 << 5</p><p>  #define LED6 1 << 6</p><p>  #define LED7 1 << 7</p><p>  void DelayNS (uint32 uiDly) </p><p><

24、b>  { </b></p><p>  uint32 i; </p><p>  for (; uiDly > 0; uiDly--)</p><p><b>  { </b></p><p>  for(i = 0; i < 50000; i++); </p><p&

25、gt;<b>  } </b></p><p><b>  } </b></p><p>  void Timer1 (void)</p><p><b>  {</b></p><p>  T1TCR = 0x02; /* 定時(shí)器0復(fù)位 */</p><p

26、>  T1PR = 0; /* 不設(shè)時(shí)鐘分頻 */</p><p>  PWM1CON= 0x0C; /* 使能PWM輸出 */</p><p>  T1MCR = 0x02; /* 設(shè)置T0MR0匹配后復(fù)位T0TC */</p><p>  T1MR0 = Fpclk / 2000; /* 設(shè)置PWM輸出的周期 */</p><p>

27、  T1MR2 = ((Fpclk / 2000) / 25)*13; /* 設(shè)置PWM1.2輸出占空比為50% */</p><p>  //T1MR3 = ((Fpclk / 2000) / 4) * 3; /* 設(shè)置PWM1.3輸出占空比為25% */</p><p>  T1TCR = 0x01; /* 啟動(dòng)定時(shí)器0 */</p><p><b>

28、  }</b></p><p>  int main (void)</p><p><b>  {</b></p><p>  PINSEL0 = PINSEL0 & 0x0000/* 選擇P0.0~P0.6的GPIO功能 */</p><p>  SCS = 0x01; /* 設(shè)定為高速GPIO模式

29、 */ </p><p>  PINSEL1 = (PINSEL1 & (~(0x03 << 6))) | (0x02 << 6); /* 選擇MAT1.2輸出 */</p><p>  FIO0DIR = LED0|LED1|LED2|LED3|LED4|LED5|LED6|LED7; /* 設(shè)置輸出 */</p><p>  FI

30、O0SET = LED0|LED1|LED2|LED3|LED4|LED5|LED6|LED7; /* 設(shè)置輸出高電平 */</p><p>  while(1);{</p><p><b>  /*顯示0*/</b></p><p>  Timer1 (void);/*啟動(dòng)電機(jī)*/</p><p>  FIO0CLR

31、= LED0|LED1|LED2|LED3|LED4|LED5|LED7;</p><p>  FIO0SET = LED6;</p><p>  DelayNS (200);</p><p><b>  /*顯示1*/</b></p><p>  FIO0CLR = LED1|LED2;</p><

32、p>  FIO0SET = LED0||LED3|LED4|LED5|LED6|LED7;</p><p>  DelayNS (200);</p><p><b>  /*顯示2*/</b></p><p>  FIO0CLR =LED0| LED1|LED3|LED4|LED6;</p><p>  FIO0

33、SET =LED2 |LED5; </p><p>  DelayNS (200);</p><p><b>  /*顯示3*/</b></p><p>  FIO0CLR = LED0|LED1|LED2|LED3|LED6; </p><p>  FIO0SET = LED4|LED5;</p><

34、;p>  DelayNS (200);</p><p><b>  /*顯示4*/</b></p><p>  FIO0CLR = LED1|LED2|LED5|LED6; </p><p>  FIO0SET = LED0|LED3|LED4;</p><p>  DelayNS (200);</p>

35、<p><b>  /*顯示5*/</b></p><p>  FIO0CLR = LED0|LED2|LED3|LED5|LED6;; </p><p>  FIO0SET = LED1|LED4;</p><p>  DelayNS (200);</p><p><b>  /*顯示6*/&l

36、t;/b></p><p>  PINSEL1 = (PINSEL1 & (~(0x00 << 6))) | (0x00 << 6); /*停止電機(jī)*/</p><p>  FIO0CLR = LED0|LED2|LED3|LED4|LED5|LED6; </p><p>  FIO0SET =LED1 ;</p>

37、<p>  DelayNS (200);</p><p><b>  /*顯示7*/</b></p><p>  FIO0CLR = LED0|LED1|LED2; </p><p>  FIO0SET = LED3|LED4|LED5|LED6;</p><p>  DelayNS (200);</p

38、><p><b>  /*顯示8*/</b></p><p>  FIO0CLR = LED0|LED1|LED2|LED3|LED4|LED5; </p><p>  DelayNS (200);</p><p><b>  /*顯示9*/</b></p><p>  FIO0

39、CLR = LED0|LED1|LED2|LED3|LED5|LED6; </p><p>  FIO0SET = LED4;</p><p>  DelayNS (200);</p><p>  }/* 當(dāng)顯示0時(shí),同時(shí)電機(jī)轉(zhuǎn)動(dòng),顯示6時(shí),電機(jī)停止,循環(huán)啟停*/</p><p><b>  return 0;</b>&

溫馨提示

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

評論

0/150

提交評論