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>  專(zhuān)業(yè)方向模塊綜合設(shè)計(jì)</p><p>  課題:電動(dòng)車(chē)速度測(cè)量顯示儀 </p><p>  班 級(jí) 測(cè)控1082 </p><p>  學(xué)生姓名 學(xué)號(hào) </p><p>  指導(dǎo)教師

2、 </p><p><b>  設(shè)計(jì)內(nèi)容及要求</b></p><p>  檢測(cè)并顯示電動(dòng)自行車(chē)實(shí)時(shí)速度</p><p>  檢測(cè)、顯示并累計(jì)電動(dòng)自行車(chē)行駛里程</p><p><b>  技術(shù)參數(shù)</b></p><p>  a電動(dòng)車(chē)最高速度:

3、 50km/h</p><p>  b電動(dòng)車(chē)輪胎直徑: 14英寸</p><p>  c電動(dòng)車(chē)電池電壓: 24V</p><p>  d檢測(cè)精度: ±1%</p><p>  e顯示: 8位LED </p><p&g

4、t;<b>  設(shè)計(jì)要求</b></p><p><b>  電路圖</b></p><p><b>  程序清單</b></p><p><b>  運(yùn)行結(jié)果</b></p><p><b>  方案設(shè)計(jì)與討論</b></p&

5、gt;<p><b>  速度測(cè)量原理</b></p><p>  測(cè)量一定時(shí)間間隔T內(nèi)自行車(chē)轉(zhuǎn)過(guò)的圈數(shù)Q。假設(shè)車(chē)輪的周長(zhǎng)為L(zhǎng),則速度V=Q*L/T</p><p><b>  開(kāi)關(guān)型霍爾傳感器</b></p><p>  霍爾傳感器是利用霍爾效應(yīng)把磁輸入信號(hào)轉(zhuǎn)換成電信號(hào)的器件。把開(kāi)關(guān)型霍爾傳感器安裝在自行車(chē)

6、貼近車(chē)輪的支架上,磁鋼安裝在輻條上,當(dāng)磁鋼靠近霍爾傳感器的時(shí)候,傳感器輸出一個(gè)無(wú)抖動(dòng)的低電平,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度等。霍爾傳感器的優(yōu)點(diǎn)是穩(wěn)定和安裝簡(jiǎn)易,缺點(diǎn)是成本較高。</p><p>  本設(shè)計(jì)采用開(kāi)關(guān)型霍爾傳感器,但由于實(shí)驗(yàn)室設(shè)計(jì)所限,實(shí)際測(cè)速時(shí)并未采用,而是直接從信號(hào)發(fā)生器中產(chǎn)生低頻脈沖代替霍爾傳感器向單片機(jī)輸入脈沖信號(hào),從而顯示相應(yīng)的速度。</p><p>  LED八

7、段數(shù)碼管顯示</p><p>  8位LED顯示。其中低3位顯示速度,要求保留1位小數(shù)。高5位顯示里程,同樣要求保留1位小數(shù)。速度即時(shí)顯示,最大顯示位35.0,里程每走100米計(jì)數(shù)一次,最高顯示9999.9。</p><p><b>  系統(tǒng)概述及工作原理</b></p><p>  本系統(tǒng)由信號(hào)預(yù)處理電路、單片機(jī)8051F410、系統(tǒng)化LED

8、顯示模塊、串口數(shù)據(jù)存儲(chǔ)電路和系統(tǒng)軟件組成。其中信號(hào)處理電路包含信號(hào)放大、波形變換和波形整形、對(duì)待測(cè)信號(hào)進(jìn)行放大的目的是降低對(duì)待側(cè)信號(hào)的幅度要求;波形變換和波形整形電路則用來(lái)將放大的信號(hào)轉(zhuǎn)換成可與單片機(jī)相連的TTL信號(hào);通過(guò)單片機(jī)的設(shè)置可使內(nèi)部定時(shí)器T0對(duì)脈沖輸入引腳進(jìn)行控制,這樣能精確地算出加到引腳的單位時(shí)間內(nèi)檢測(cè)到的脈沖數(shù);設(shè)計(jì)中速度顯示采用LED模塊,通過(guò)速度換算得來(lái)的里程數(shù)采用I2C總線(xiàn)并通過(guò)E2PROM來(lái)存儲(chǔ),既節(jié)省了所需單片機(jī)

9、的口線(xiàn)和外圍器件,同時(shí)也簡(jiǎn)化了顯示部分的軟件編程。</p><p><b>  流程圖</b></p><p>  系統(tǒng)軟件包括單片機(jī)和LED顯示模塊的初始化模塊、速度里程技術(shù)模塊、速度顯示數(shù)據(jù)轉(zhuǎn)BCD碼模塊、演示模塊、數(shù)據(jù)顯示模塊以及及時(shí)終端服務(wù)模塊等。</p><p>  該設(shè)計(jì)能實(shí)時(shí)地將所測(cè)的速度顯示出來(lái),該速度里程表能將傳感器輸入到單片

10、機(jī)的脈沖信號(hào)的頻率實(shí)時(shí)地測(cè)量出來(lái),并由串口晶體管顯示模塊實(shí)時(shí)顯示。單片機(jī)利用系統(tǒng)時(shí)鐘的計(jì)時(shí)中斷功能,并利用定時(shí)器T0的計(jì)數(shù)脈沖,然后通過(guò)計(jì)算在晶體管上即時(shí)顯示。為了方便計(jì)算要顯示數(shù)據(jù)段碼,可再將其轉(zhuǎn)換成壓縮BCD碼,然后通過(guò)查表將要顯示的數(shù)據(jù)值中每一位的壓縮BCD碼轉(zhuǎn)換成8段碼送到顯示緩沖區(qū),最后經(jīng)串口送至晶體管顯示模塊顯示所測(cè)的速度或里程。</p><p>  設(shè)計(jì)時(shí),應(yīng)綜合考慮測(cè)速精度和系統(tǒng)反應(yīng)時(shí)間。本設(shè)計(jì)用

11、測(cè)量脈沖頻率來(lái)計(jì)算速度,因而具有較高的測(cè)速精度。為了保證系統(tǒng)的實(shí)時(shí)性,系統(tǒng)的速度轉(zhuǎn)換模塊和顯示數(shù)據(jù)轉(zhuǎn)BCD碼模塊都采用快速算法。另外,還應(yīng)盡量保證其他子模塊在編程時(shí)的通用性和高效性。本設(shè)計(jì)的速度和里程分別采用3位和5位數(shù)碼顯示。</p><p><b>  系統(tǒng)硬件設(shè)計(jì)</b></p><p><b> ?。矗保皢纹瑱C(jī)實(shí)驗(yàn)板</b></p&

12、gt;<p>  C8051F410原理框圖</p><p>  C8051F410單片機(jī)實(shí)驗(yàn)板 原理圖</p><p>  霍爾傳感器速度檢測(cè)電路</p><p><b>  霍爾檢測(cè)電路</b></p><p><b>  5v降壓電路</b></p><p&g

13、t;  由于自行車(chē)提供的電壓是24V直流電壓,單片機(jī)供電電壓為5v。故需要給電路提供5v的降壓電路。本設(shè)計(jì)采用LM2576S-ADJ集成塊降壓電路:</p><p>  LM2576降壓集成塊</p><p><b>  系統(tǒng)的軟件設(shè)計(jì)</b></p><p><b>  系統(tǒng)軟件框圖</b></p><

14、;p>  如圖所示,本系統(tǒng)軟件采用模塊化設(shè)計(jì)方法。整個(gè)系統(tǒng)由初始化模塊、頻率測(cè)量模塊、速度,里程計(jì)算模塊、數(shù)據(jù)轉(zhuǎn)BCD碼模塊、速度顯示模塊、里程顯示模塊、數(shù)據(jù)存儲(chǔ),讀取模塊、定時(shí)器中斷服務(wù)模塊以及其他功能模塊組成。</p><p><b>  系統(tǒng)軟件框圖</b></p><p><b>  心得體會(huì)</b></p><

15、p>  本設(shè)計(jì)以8051F410單片機(jī)為核心,通過(guò)霍爾傳感器來(lái)檢測(cè)電動(dòng)車(chē)的運(yùn)轉(zhuǎn)情況進(jìn)而實(shí)現(xiàn)電動(dòng)自行車(chē)的速度,里程的計(jì)算及里程的累計(jì),存儲(chǔ),最后用8位的LED能直觀的將速度與里程顯示給用戶(hù),并且在速度高于一定的值時(shí)LED可自動(dòng)關(guān)掉,從而達(dá)到智能速度里程表。</p><p>  在此課程設(shè)計(jì)之前,我們都懷著一種好奇而又焦急的心情,急切的想知道做單片機(jī)課程設(shè)計(jì)是多么有意義且有用的。所以我們每個(gè)人都積極主動(dòng)地投入的

16、設(shè)計(jì)之中,在兩個(gè)周的時(shí)間內(nèi)我們要完成的工作看起來(lái)很少,但是老師說(shuō)不容樂(lè)觀。在組長(zhǎng)的帶領(lǐng)下我們認(rèn)真的走好每一步。</p><p>  其間的歡欣與苦楚這里我就不在此敘述了,我們真的都學(xué)到了很多東西,知道了知識(shí)的重要性,為什么高科技才具有價(jià)值,因?yàn)楦冻龅暮芏嗪芏?。我在此首先要感謝張亞華老師,是他在我們一籌莫展的時(shí)候給了我們提醒,致使我們順利地完成了本課程設(shè)計(jì)。同時(shí)感謝設(shè)計(jì)過(guò)程中組員們的相互配合及鼓勵(lì),使我們堅(jiān)決的走下

17、去......</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]《單片機(jī)原理及應(yīng)用》 夏路易 主編 電子工業(yè)出版社</p><p>  [2 ]C8051F410/1/2/3 混合信號(hào)ISP FLASH微控制器</p><p>  網(wǎng)站:http://www.avrw.com/article

18、/art_101_3869.htm</p><p><b>  附錄</b></p><p>  速度里程表顯示C程序</p><p>  #include "C8051F410.h"</p><p>  void Init_Device(void); </p><p&g

19、t;  void delayms(unsigned char i);</p><p>  void delayus(void);</p><p>  void toch452(unsigned int cmda);</p><p>  void display(void);//顯示函數(shù) </p><p>  void Flash_PageEr

20、ase (unsigned int addr);//Flash字節(jié)擦除函數(shù)</p><p>  void Flash_ByteWrite (unsigned int addr,char byte);//Flash 字節(jié)寫(xiě)函數(shù)</p><p>  unsigned char Flash_ByteRead (unsigned int addr);//Flash 字節(jié)讀函數(shù)</p>

21、<p>  unsigned char i,dispbuff[8]={0,0,0,0,0,0,0,0}; //顯示緩沖 全零</p><p>  sbit CH452_SCL = P1^3;</p><p>  sbit CH452_SDA = P1^4; </p><p>  sbit CH452_KEY = P1^5;</p>

22、<p>  unsigned int CMD,DAT,DAT1;</p><p>  bit flag,mark;</p><p>  unsigned int n,ss;//定時(shí)器0溢出中斷次數(shù)</p><p>  unsigned long v,mile,count;</p><p>  unsigned char code h

23、ex[21]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6, //0123456789</p><p>  0xFD,0x61,0xDB,0xF3,0x67,0xB7,0xBF,0xE1,0xFF,0xF7,0x00}; //0.1.2.3.4.5.6.7.8.9. </p><p><b>  main

24、()</b></p><p>  { float SP;</p><p>  Init_Device(); //初始化</p><p>  delayms(100);</p><p>  P1=P1&0x7f;</p><p>  CMD = 0x9103;//設(shè)置CH452系統(tǒng)參數(shù)<

25、;/p><p>  toch452(CMD);</p><p>  CMD = 0x9500; //設(shè)置CH452顯示參數(shù) </p><p>  toch452(CMD);</p><p>  display();</p><p>  for (i=0;i<8;i++)</p><p> 

26、 {dispbuff[i]=20;</p><p><b>  }</b></p><p>  display();</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  if (flag==1

27、)</p><p><b>  {</b></p><p><b>  flag=0;</b></p><p><b>  if(n>38)</b></p><p><b>  {</b></p><p>  SP=340.2

28、8/n;</p><p>  v=SP*4032;</p><p>  dispbuff[2]=v/10000;</p><p>  dispbuff[1]=v%10000/1000+10;</p><p>  dispbuff[0]=v%1000/100;</p><p>  display();</p>

29、<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  for (i=0;i<3;i++)</p><p><b>  { </b></p>

30、<p>  dispbuff[i]=20; }</p><p>  display(); </p><p><b>  }</b></p><p><b>  }</b></p><p>  if(mark==1)</p><p><b>

31、  { mark=0;</b></p><p>  Flash_PageErase (0x1b00);//Flash字節(jié)擦除函數(shù)</p><p>  Flash_ByteWrite (0x1b00,count);//Flash 字節(jié)寫(xiě)函數(shù)</p><p>  mile=Flash_ByteRead (0x1b00);//Flash 字節(jié)讀函數(shù)</p

32、><p>  dispbuff[7]=mile/10000;</p><p>  dispbuff[6]=mile%10000/1000;</p><p>  dispbuff[5]=mile%1000/100;</p><p>  dispbuff[4]=mile%100/10+10;</p><p>  dispbuf

33、f[3]=mile%10;</p><p>  display();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /* 命令、數(shù)據(jù)送CH452 */</

34、p><p>  void toch452(unsigned int cmda) </p><p><b>  {</b></p><p>  unsigned char j;</p><p>  CH452_SDA = 0;</p><p>  delayus();</p><p

35、>  CH452_SCL = 0;</p><p>  delayus();</p><p>  CH452_SCL = 1;</p><p>  delayus();</p><p>  CH452_SCL = 0;</p><p>  for (j=0;j<16;j++)</p><

36、p><b>  {</b></p><p>  if(cmda>=0x8000 ) </p><p>  CH452_SDA = 1;</p><p><b>  else</b></p><p>  CH452_SDA = 0;</p><p>  CH45

37、2_SCL = 1;</p><p>  delayus();</p><p>  CH452_SCL = 0;</p><p>  cmda = cmda << 1 ;</p><p><b>  };</b></p><p>  CH452_SDA = 1;</p>

38、<p>  delayus();</p><p>  CH452_SCL = 1;</p><p><b>  }</b></p><p>  /* mS延時(shí) */</p><p>  void delayms(unsigned char i)</p><p>  {unsigned

39、intj;</p><p>  do{for(j=0;j!=1000;j++)</p><p><b>  {;}</b></p><p>  }while(--i);</p><p><b>  }</b></p><p>  /* uS延時(shí) */</p>

40、<p>  void delayus(void)</p><p>  { unsigned k;</p><p>  for (k=0;k<10;k++)</p><p><b>  {;}</b></p><p><b>  } </b></p>&l

41、t;p>  // Initialization function for device,</p><p>  // Call Init_Device() from your main program</p><p>  void Init_Device(void)</p><p><b>  {</b></p><p&

42、gt;  PCA0MD &= ~0x40;//禁止看門(mén)狗</p><p>  PCA0MD = 0x00;</p><p>  OSCICN = 0x84;//系統(tǒng)時(shí)鐘內(nèi)部振蕩器8分頻(24.5M)</p><p>  TMOD = 0x02;//工作方式2</p><p>  TL0 = 0x

43、06;//定時(shí)器初始化</p><p>  TH0 = 0x06;</p><p>  TR0 = 1;//置1允許定時(shí)器工作</p><p>  IT0 = 1;//外部中斷0邊沿觸發(fā)</p><p>  CKCON =0x00;//定時(shí)器時(shí)鐘選擇系統(tǒng)時(shí)鐘12分頻</p><p

44、>  P0SKIP = 0x02;</p><p>  P1MDIN = 0xFE;</p><p>  P1SKIP = 0x01;//對(duì)應(yīng)的P1.n被交叉開(kāi)關(guān)跳過(guò)</p><p>  XBR1 = 0x40;//使能交叉開(kāi)關(guān) </p><p>  IE = 0x83;//允許定時(shí)器INT0中

45、斷</p><p><b>  }</b></p><p>  void int0() interrupt 0 //外部中斷0處理函數(shù)</p><p><b>  {</b></p><p>  static unsigned m;</p><p><b>  m+

46、+;</b></p><p>  if(m==270)</p><p><b>  { m=0;</b></p><p><b>  count++;</b></p><p><b>  mark=1;</b></p><p>  if(

47、count>99999) count=0;</p><p><b>  }</b></p><p>  n=ss;//ss送給全局變量n</p><p><b>  flag=1;</b></p><p><b>  ss=0;</b></p><p&

48、gt;<b>  }</b></p><p>  void timer0() interrupt 1 //定時(shí)中斷(T0)服務(wù)</p><p><b>  {</b></p><p>  if(ss<65535)</p><p><b>  ss++; </b><

49、;/p><p><b>  }</b></p><p>  void display(void)//顯示程序</p><p><b>  {</b></p><p>  unsigned char i;</p><p>  DAT1 = 0xA100;</p>

50、;<p>  for (i=0;i<8;i++)</p><p><b>  { </b></p><p>  bit EA_SAVE=EA;//保存EA</p><p>  char xdata*data pwrite;//Flash寫(xiě)指針</p><p>  EA=0;//禁止中斷</

51、p><p>  VDM0CN=0x80;//使能VDD控制</p><p>  RSTSRC=0x02;//VDD監(jiān)控器作為復(fù)位源</p><p>  pwrite=(char xdata*)addr;//指向地址</p><p>  FLKEY=0xA5;//輸入關(guān)鍵字</p><p>  FLKEY=0xF1;//輸入

52、關(guān)鍵字</p><p>  PSCTL|=0x03;//使能擦除與寫(xiě)入PSWE=1;PSEE=1</p><p>  VDM0CN=0x80;//使能VDD監(jiān)控器</p><p>  RSTSRC=0x02;//VDD監(jiān)控器作為復(fù)位源</p><p>  *pwrite=0;//頁(yè)擦除</p><p>  PSCTL&

53、amp;=~0x03;//禁止擦除</p><p>  EA=EA_SAVE;//恢復(fù)中斷</p><p><b>  }</b></p><p>  void Flash_ByteWrite (unsigned int addr,char byte)//Flash 字節(jié)寫(xiě)函數(shù)</p><p><b>  {&

54、lt;/b></p><p>  bit EA_SAVE=EA;//保存EA</p><p>  char xdata*data pwrite;//Flash寫(xiě)指針</p><p>  EA=0;//禁止中斷</p><p>  VDM0CN=0x80;//使能VDD監(jiān)控器</p><p>  RSTSRC=0x

55、02;//使能VDD監(jiān)控器作為復(fù)位源</p><p>  pwrite=(char xdata*)addr;</p><p>  FLKEY=0xA5;//寫(xiě)關(guān)鍵字</p><p>  FLKEY=0xF1;//寫(xiě)關(guān)鍵字</p><p>  PSCTL|=0x01;//使能寫(xiě)PSWE=1</p><p>  VDM0C

56、N=0x80;//使能VDD監(jiān)控器</p><p>  RSTSRC=0x02;//使能VDD作為復(fù)位源</p><p>  *pwrite=byte;//寫(xiě)一個(gè)字節(jié)</p><p>  PSCTL &=~0x01;//禁止寫(xiě)PSWE=0</p><p>  EA=EA_SAVE;//恢復(fù)中斷</p><p>

57、<b>  }</b></p><p>  unsigned char Flash_ByteRead (unsigned int addr)//Flash 字節(jié)讀函數(shù)</p><p><b>  {</b></p><p>  bit EA_SAVE=EA;//保存EA</p><p>  char

58、 code*data pread;//指向Flash讀指針</p><p>  unsigned char byte;</p><p>  EA=0;//禁止中斷</p><p>  pread=(char code*)addr;</p><p>  byte=*pread;//讀一個(gè)字節(jié)</p><p>  EA=E

溫馨提示

  • 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)論