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

下載本文檔

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

文檔簡介

1、<p>  一、單片機(jī)的初步認(rèn)識</p><p><b>  1.單片機(jī)的概念</b></p><p>  單片微型計算機(jī)簡稱單片機(jī),是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機(jī),單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。單片機(jī)由運(yùn)算器,控制器,存儲

2、器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個微型的計算機(jī)(最小系統(tǒng)),和計算機(jī)相比,單片機(jī)缺少了外圍設(shè)備等。概括的講:一塊芯片就成了一臺計算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。</p><p><b>  2.單片機(jī)的特點</b></p><p> ?。?)高集成度,

3、體積小,高可靠性 </p><p>  單片機(jī)將各功能部件集成在一塊晶體芯片上,集成度很高,體積自然也是最小的。芯片本身是按工業(yè)測控環(huán)境要求設(shè)計的,內(nèi)部布線很短,其抗工業(yè)噪音性能優(yōu)于一般通用的CPU。單片機(jī)程序指令,常數(shù)及表格等固化在ROM中不易破壞,許多信號通道均在一個芯片內(nèi),故可靠性高。 </p><p><b>  (2)控制功能強(qiáng) </

4、b></p><p>  為了滿足對對象的控制要求,單片機(jī)的指令系統(tǒng)均有極豐富的條件:分支轉(zhuǎn)移能力,I/O口的邏輯操作及位處理能力,非常適用于專門的控制功能。 (3)低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品  為了滿足廣泛使用于便攜式系統(tǒng),許多單片機(jī)內(nèi)的工作電壓僅為1.8V~3.6V,而工作電流僅為數(shù)百微安。 (4)易擴(kuò)展  片內(nèi)具有計算機(jī)正常運(yùn)行所必需

5、的部件。芯片外部有許多供擴(kuò)展用的三總線及并行、串行輸入/輸出管腳,很容易構(gòu)成各種規(guī)模的計算機(jī)應(yīng)用系統(tǒng)。 (5)優(yōu)異的性能價格比  單片機(jī)的性能極高。為了提高速度和運(yùn)行效率,單片機(jī)已開始使用RISC流水線和DSP等技術(shù)。單片機(jī)的尋址能力也已突破64KB的限制,有的已可達(dá)到1MB和16MB,片內(nèi)的ROM容量可達(dá)62MB,RAM容量則可達(dá)2MB。由于單片機(jī)的廣泛使用,因而銷量極大,各大公司的商業(yè)競爭更使其價格十分

6、低廉,其性能價格比極高。</p><p><b>  二、單片機(jī)最小系統(tǒng)</b></p><p>  MCU最小系統(tǒng)是指可以使內(nèi)部程序運(yùn)行起來的所必須的基本外圍電路。</p><p>  HC-EZ-XS128擴(kuò)展實驗系統(tǒng)底板電路劃分成15個區(qū)域,以下簡要說明每個區(qū)域的功能。</p><p>  MCU區(qū):核心板模塊擴(kuò)展

7、區(qū)域。MCU區(qū)中提供了3組插槽,可以擴(kuò)展配套MC9s12xs128與MC9s12dg128核心板,并且每組插槽的所有引腳均可以引出用做基礎(chǔ)或者擴(kuò)展實驗。</p><p>  POWER區(qū):電源模塊。這里通過引入的9V或12V直流電源,為實驗平臺提供3.3V、5V、9V或12V電源,并配有電源引出端子,方便為外接模塊供電。</p><p>  SEGLED數(shù)碼管顯示區(qū):6位8段數(shù)碼管模塊。該

8、區(qū)域提供動態(tài)掃描方式擴(kuò)展的8位8段LED數(shù)碼管,用于完成GPIO相關(guān)實驗。</p><p>  DA區(qū):D/A實驗擴(kuò)展模塊。該區(qū)域提供1個LED燈,用于完成PWM模塊的D/A實驗。</p><p>  CAN區(qū):CAN總線通訊模塊。該區(qū)域提供了1路CAN總線通訊接口,可以用于完成CAN總線通訊實驗。</p><p>  SD區(qū):Micro SD卡擴(kuò)展模塊。該區(qū)域提供

9、了1個Micro SD卡座,用于完成基于SPI通訊協(xié)議的SD卡讀寫實驗。</p><p>  RS485區(qū):RS485通訊模塊。使用MAX485擴(kuò)展RS485通訊總線,完成RS485通訊相關(guān)實驗。</p><p>  RS232區(qū):RS232通訊模塊。使用MAX232擴(kuò)展RS232通訊總線,完成RS232通訊相關(guān)實驗。</p><p>  12x864LCD區(qū):12

10、864液晶模塊擴(kuò)展。提供12864液晶模塊的擴(kuò)展,接口完全自主開放,可以擴(kuò)展多種12864液晶模塊,兼容帶字庫和不帶字庫的液晶。</p><p>  KEY區(qū):4x4矩陣鍵盤模塊。該區(qū)域提供了4x4的矩陣鍵盤與四個功能按鍵,可以利用GPIO擴(kuò)展后完成程序編寫,實現(xiàn)矩陣鍵盤擴(kuò)展。四個功能按鍵,包括IC,PLUSE,KBI,IRQ該模塊可以用于輸入捕捉實驗、脈沖累加模塊、中斷喚醒、IRQ中斷實驗實驗等。</p&

11、gt;<p>  BELL區(qū):蜂鳴器模塊。該區(qū)域提供了一個蜂鳴器,用以完成GPIO控制外設(shè)實驗。</p><p>  AD區(qū):A/D實驗擴(kuò)展模塊。該區(qū)域通過兩個電位器,提供可變模擬電壓輸出,用于完成A/D模塊實驗。</p><p>  TEMPER區(qū):18B20溫度檢測模塊,用于完成測溫實驗。</p><p>  LED區(qū):8位LED燈模塊。該區(qū)域提供

12、8位LED燈,實現(xiàn)LED燈的控制。</p><p>  IIC區(qū):串行總線擴(kuò)展模塊區(qū)域。該區(qū)域提供了IIC器件,外部EEPROM-24C02和PCF8563實時時鐘。</p><p>  三、多通道連續(xù)采樣實驗?zāi)康摹㈦娐穲D及程序</p><p><b>  1.實驗?zāi)康?lt;/b></p><p> ?。?)了解S12單片機(jī)

13、ADC模塊的使用方法。</p><p>  (2)掌握多模塊使用的程序設(shè)計方法。</p><p><b>  2.實驗內(nèi)容</b></p><p>  用S12的ADC模塊的0通道、1通道(PAD0和PAD1)將兩路模擬電平轉(zhuǎn)換成數(shù)字量,使用8位分辨率,用數(shù)碼管的前三位顯示ATD0的采樣值,后三位顯示ATD1采樣值。</p>&l

14、t;p><b>  3.實驗原理圖</b></p><p><b>  4.實驗說明</b></p><p>  (1)AD模塊相關(guān)寄存器初始化</p><p> ?。?)啟動ATD的AN0和AN1通道</p><p> ?。?)利用數(shù)碼管顯示轉(zhuǎn)換結(jié)果</p><p>

15、  (4)重復(fù)2,重新啟動AD0</p><p><b>  5.實驗方法與步驟</b></p><p>  1、使用跳線帽短接底板上SEG LED區(qū)標(biāo)號為JP_DIG、JP_SEG與JP_BP處跳線:使用跳線帽短接底板上AD0與AD1區(qū)標(biāo)號為JP_AD0與JP_AD1的跳線。</p><p>  2、運(yùn)行程序,觀察數(shù)碼管顯示數(shù)值的變化。<

16、;/p><p><b>  6.原程序</b></p><p>  #include <hidef.h> /* common defines and macros */</p><p>  #include "derivative.h" /* derivative-specific definit

17、ions */</p><p>  #define SEG_DD DDRB //段碼口方向</p><p>  #defineDIG_DD DDRK //位碼口方向</p><p>  #define SEG_NUM PORTB //段碼數(shù)據(jù)</p><p>  #define DIG_NUM PORTK //位碼數(shù)據(jù)

18、</p><p>  /******************函數(shù)聲明******************************************/</p><p>  void Delay(unsigned int loop_times); //延時子程序</p><p>  void ATD0_ATD1

19、_Init(void); //ATD0,ATD1初始化子程序</p><p>  /***************全局變量聲明****************************************/</p><p>  const unsigned char g_LED_Seg_Table[17] = {0x3F, 0x06, 0x5B,

20、 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x00}; </p><p>  //共陰數(shù)碼管字形表定義</p><p>  //************主程序************//</p><p>  函數(shù)名稱: void main(

21、void)</p><p>  函數(shù)功能: 實現(xiàn)AD單通道連續(xù)采樣,并用數(shù)碼管顯示采樣結(jié)果</p><p>  調(diào)用函數(shù): void Delay(unsigned int loop_times) -------- main.c文件中</p><p>  void ATD0_ATD1_Init(void); -------- main.c文件中 <

22、/p><p>  *************************************************************************/</p><p>  void main(void)</p><p><b>  {</b></p><p>  /* put your own code he

23、re */</p><p>  unsigned char convert_value0 , convert_value1; //AD轉(zhuǎn)換結(jié)果</p><p>  unsigned char led_dig; //數(shù)碼管位選值</p><p>  unsigned char i

24、,j; 循環(huán)變量</p><p>  unsigned char SM_SBUFF[6]; //用戶緩沖顯示內(nèi)容</p><p>  SEG_DD = 0xFF; //D端口設(shè)置為輸出口</p><p&g

25、t;  DIG_DD = 0xFF; //E端口設(shè)置為輸出口</p><p>  SEG_NUM = 0x00; //D端口輸出全0</p><p>  DIG_NUM = 0x00; //E端口輸出全0</p>

26、<p>  // DisableInterrupts; //關(guān)中斷</p><p>  led_dig = 0x01; </p><p>  for(i=0;i<6;i++) //單‘8’左移</p>

27、;<p><b>  { </b></p><p>  SEG_NUM = g_LED_Seg_Table[8]; //送段碼</p><p>  DIG_NUM = led_dig; //送位碼</p><p>  led

28、_dig = led_dig<<1; //位選信號左移1位</p><p>  Delay(50); </p><p><b>  } </b></p><p>  DIG_NUM = 0x00; //熄滅數(shù)碼管<

29、;/p><p>  Delay(20); </p><p>  ATD0_ATD1_Init(); //ATD0,ATD1初始化</p><p><b>  for(;;) </b></p><p><b>  { </b></p>

30、<p>  while(!ATD0STAT2L_CCF0) //等待ATD0轉(zhuǎn)換完成</p><p><b>  {</b></p><p><b>  ;</b></p><p>  }

31、 </p><p>  convert_value0 = ATD0DR0L; //讀取ATD0轉(zhuǎn)換結(jié)果 </p><p>  SM_SBUFF[2] = convert_value0/100; //拆分ATD0轉(zhuǎn)換結(jié)果以便送顯示</p><p>  SM_SBUFF[1] =

32、convert_value0/10%10;</p><p>  SM_SBUFF[0] = convert_value0%10;</p><p>  while(!ATD0STAT2L_CCF0) //等待ATD1轉(zhuǎn)換完成</p><p><b>  {;</b></p><p><b

33、>  }</b></p><p>  convert_value1 = ATD0DR1L; //讀取ATD1轉(zhuǎn)換結(jié)果</p><p>  SM_SBUFF[5] = convert_value1/100; //拆分ATD1轉(zhuǎn)換結(jié)果以便送顯示</p><p>  SM_SBUFF[4] = convert_value1/10%

34、10;</p><p>  SM_SBUFF[3] = convert_value1%10; </p><p>  led_dig = 0x01; //顯示轉(zhuǎn)換結(jié)果</p><p>  for(j=0;j<6;j++) </p><p><b>  { <

35、;/b></p><p><b>  if(j==3) </b></p><p><b>  {</b></p><p>  SEG_NUM = g_LED_Seg_Table[SM_SBUFF[j]]|0x80;//在第三位后面顯示小數(shù)點</p><p>  DIG_NUM = led_di

36、g;</p><p>  led_dig = led_dig<<1;</p><p>  Delay(1); </p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b&g

37、t;</p><p>  SEG_NUM = g_LED_Seg_Table[SM_SBUFF[j]];</p><p>  DIG_NUM = led_dig;</p><p>  led_dig = led_dig<<1;</p><p>  Delay(1); </p><p><b>  

38、}</b></p><p><b>  }</b></p><p>  }/* wait forever */</p><p>  /* please make sure that you never leave this function */</p><p><b>  }</b>&

39、lt;/p><p>  /******************函數(shù)實現(xiàn)***********************/</p><p>  函數(shù):void delay(void)</p><p><b>  功能:延時</b></p><p>  說明:延時5000*loop_times個機(jī)器周期</p>&l

40、t;p>  ****************************************/</p><p>  void Delay(unsigned int loop_times)</p><p><b>  {</b></p><p>  unsigned int loop_i,loop_j;</p><p&g

41、t;  for (loop_i=0; loop_i< loop_times; loop_i++) </p><p><b>  {</b></p><p>  for (loop_j=0; loop_j<5000;loop_j++) </p><p><b>  {</b></p><p&g

42、t;<b>  ;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*************************************</p

43、><p>  函數(shù):ATD0_ATD1_Init(void)</p><p>  功能:ATD0,ATD1初始化</p><p><b>  說明:</b></p><p>  ****************************************/</p><p>  void ATD0_

44、ATD1_Init(void) //初始化</p><p><b>  {</b></p><p>  ATD0DIEN = 0; //禁止數(shù)字輸入</p><p>  /* APCTL1 = (ETRIGSEL | SRES1 | SRES0 | SMP_DIS | //</p><p&

45、gt;  ETRIGCH3 | ETRIGCH2 | ETRIGCH1 | ETRIGCH0 | //</p><p><b>  ) */</b></p><p>  ATD0CTL1 = 0x00; //AD分辨率選擇8位,且采樣前不放電</p><p><b>  /* </b></p>

46、<p>  * 0b00000000</p><p>  * |__</p><p>  * |___ </p><p>  * |____[ETRIGCH3~ETRIGCH0]外部觸發(fā)通道選擇位 </p><p>  * |_____ </p>&

47、lt;p>  * |______采樣前是否放電控制位 </p><p>  * |_______ </p><p>  * |________ATD轉(zhuǎn)換精度選擇位SRES1:SRES0]=[0:0]為8位</p><p>  * |_________外部觸發(fā)源選擇位,S12XS系列此位無效 </p><p><

48、;b>  */ </b></p><p>  /* APCTL2 = (0 | AFFC | ICLKSTP | ETRIGLE | //</p><p>  ETRIGP | ETRIGE | ASCIE | ACMPIE | //</p><p><b>  ) */</b></p><p>

49、  ATD0CTL2 = 0x40; //AD模塊快速清零, 無等待模式, 禁止外部觸發(fā), 中斷禁止</p><p><b>  /* </b></p><p>  * 0b01000000</p><p>  * |__ATD比較中斷使能位</p><p>  *

50、|___ATD轉(zhuǎn)換序列結(jié)束中斷使能位 </p><p>  * |____外部觸發(fā)信號使能位</p><p>  * |_____ </p><p>  * |______[ETRIGLE:ETRIGP]外部觸發(fā)信號觸發(fā)條件選擇位</p><p>  * |_______停止模式內(nèi)部時鐘使能位&

51、lt;/p><p>  * |________AD模塊快速清零位</p><p>  * |_________只讀位 </p><p><b>  */</b></p><p>  /* APCTL3 = (DJM | S8C | S4C| S2C | //</p><p>  S1C| F

52、IFO | FRZ1 | FRZ0 | //</p><p><b>  ) */</b></p><p>  ATD0CTL3 = 0x90; //AD轉(zhuǎn)換結(jié)果右對齊,每個序列2次轉(zhuǎn)換, No FIFO, Freeze模式下繼續(xù)轉(zhuǎn)換</p><p><b>  /* </b></p>&l

53、t;p>  * 0b10010000</p><p>  * |__[FRZ1:FRZ0]后臺調(diào)試凍結(jié)使能位</p><p>  * |___</p><p>  * |____結(jié)果寄存器先進(jìn)先出模式位</p><p>  * |_____ </p>&

54、lt;p>  * |______</p><p>  * |_______</p><p>  * |________[S8C~S1C]一個轉(zhuǎn)換序列的長度</p><p>  * |_________結(jié)果寄存器數(shù)據(jù)對齊位 </p><p><b>  */</b></p&g

55、t;<p>  /* APCTL4 = (SMP2 | SMP1 | SMP0 | PRS4 | //</p><p>  PRS3 | PRS2 | PRS1 | PRS0 | //</p><p><b>  ) */</b></p><p>  ATD0CTL4 = 0x03; //采樣時間4個周期,PRS=

56、3</p><p><b>  /* </b></p><p>  * 0b00000011</p><p>  * |__[PRS4~PRS0]ATD時鐘預(yù)分頻因子</p><p>  * |___</p><p>  * |____<

57、;/p><p>  * |_____ </p><p>  * |______</p><p>  * |_______[SMP2~SMP0]采樣時間選擇位</p><p>  * |________</p><p>  * _________ </p>&l

58、t;p><b>  */</b></p><p>  /* APCTL5 = (0 | SC | SCAN | MULT | //</p><p>  CD | CC | CB | CA | //</p><p><b>  ) */</b></p><p>  ATD0CTL5 = 0x

59、30; //多通道連續(xù)采樣,通道0,1 </p><p><b>  /* </b></p><p>  * 0b00110000</p><p>  * |__</p><p>  * |___[CD~CA]模擬輸入通道選擇碼</p><p&g

60、t;  * |____</p><p>  * |_____ </p><p>  * |______多通道采樣模式位</p><p>  * |_______連續(xù)轉(zhuǎn)換序列模式位,1是連續(xù)轉(zhuǎn)換;0是只進(jìn)行一次轉(zhuǎn)換</p><p>  * |________特殊通道轉(zhuǎn)換使能位</

61、p><p>  * |_________只讀位 </p><p><b>  */</b></p><p><b>  }</b></p><p>  7.考試要求及程序的修改</p><p> ?、偈褂肞AD02引腳;使用PAD03引腳;</p><p

62、> ?、谝螅簲?shù)碼管顯示使用E口(段碼),B口(位碼)</p><p>  程序修改:DDRB 改為DDRE DDRK改為DDRB</p><p>  PORTB 改為PORTE PORTK 改為PORTB</p><p><b>  四、小結(jié)</b></p><p>  作為一名汽車服務(wù)專業(yè)的大三學(xué)生,

63、我覺得做單片機(jī)課程設(shè)計是十分有意義的,而且是十分必要的。在已度過的大學(xué)時間里,我們大多數(shù)接觸的是專業(yè)課。我們在課堂上掌握的僅僅是專業(yè)課的理論知識,如何去鍛煉我們的實踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識運(yùn)用到實踐中去呢?我想做類似的課程設(shè)計就為我們提供了良好的實踐平臺。</p><p>  這次單片機(jī)課程設(shè)計我們歷時兩個星期,兩個星期的實踐和體驗下來,對我來說學(xué)到的不僅是那些知識,更多的是團(tuán)隊和合作?,F(xiàn)在想來

64、,也許學(xué)校安排的課程設(shè)計有著它更深層的意義吧,它不僅僅讓我們綜合那些理論知識來運(yùn)用到設(shè)計和創(chuàng)新,還讓我們知道了一個團(tuán)隊凝聚在一起時所能發(fā)揮出的巨大潛能。</p><p>  通過這次課程設(shè)計我也發(fā)現(xiàn)了自身存在的不足之處,雖然感覺理論上已經(jīng)掌握,但在運(yùn)用到實踐的過程中仍有意想不到的困惑,經(jīng)過一番努力才得以解決。這也激發(fā)了我今后努力學(xué)習(xí)的興趣,我想這將對我以后的學(xué)習(xí)產(chǎn)生積極的影響。</p><p&

65、gt;  通過這次設(shè)計,我懂得了學(xué)習(xí)的重要性,了解到理論知識與實踐相結(jié)合的重要意義,學(xué)會了堅持、耐心和努力,這將為自己今后的學(xué)習(xí)和工作做出了最好的榜樣。我覺得作為一名自動化專業(yè)的學(xué)生,單片機(jī)的課程設(shè)計是很有意義的。更重要的是如何把自己平時所學(xué)的東西應(yīng)用到實際中。</p><p>  雖然自己對于這門課懂的并不多,很多基礎(chǔ)的東西都還沒有很好的掌握,覺得很難,也沒有很有效的辦法通過自身去理解,但是靠著這一個多禮拜的“

溫馨提示

  • 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

提交評論