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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  第一章 緒論</b></p><p><b>  1.1系統(tǒng)背景</b></p><p>  科技信息時代,數(shù)據(jù)的重要行不言而喻,如何高效、穩(wěn)定的對數(shù)據(jù)(包括溫度、壓力、濕度、光線、輻射等項目)進行實時采集對現(xiàn)代的企業(yè)、工廠、研究所等對數(shù)據(jù)的精度要求較高的單位有非常重要的作用。</p><p&

2、gt;  自動化生產和大型設備(如激光器)中,經常需要對生產過程或運行狀態(tài)的各種參數(shù)實時進行巡回檢測、監(jiān)視以及報警,以確保系統(tǒng)的穩(wěn)定可靠性。然而在具體的生產實踐中,需要檢測的數(shù)據(jù)不至一路,大多需要對多路信號進行同時的檢測,而且這些信號大多數(shù)都是由傳感器測量得來,在進行信號處理前必須對其進行前置放大的處理,才能夠為后級的電路使用,因此研制一種可以多路放大的并且可以對每一路信號進行巡回檢測的系統(tǒng)成為必要。</p><p&

3、gt;  目前國內有相關的自動檢測系統(tǒng),但是大多數(shù)都是專門針對某一項具體的參數(shù)(如環(huán)境溫度)的檢測居多,能夠對多路不同的信號同時進行放大與檢測的產品很少,而且價格偏高,抗干擾性不強</p><p><b>  1.2系統(tǒng)概述</b></p><p>  本文研究一種多路放大與巡回檢測系統(tǒng),可以8路不同的被測信號進行放大,放大后的信號連接到數(shù)據(jù)選擇器,然后通過一路A/D

4、轉換器轉換為相應的數(shù)字量,送單片機進行處理,最后用數(shù)字顯示器按照一定順序輪流顯示這若干個被測量,這樣既可以減小測試儀器的功耗和體積,又能降低成本。</p><p>  第二章 系統(tǒng)單元硬件電路設計</p><p>  2.1單片機最小系統(tǒng)電路設計</p><p>  單片機最小系統(tǒng)是指單片機利用自身資源,用最少的輔助元件組成一個可以工作的系統(tǒng)。包括電源(地),起振電

5、路(晶振Y2=11.0592MHZ),復位電路組成。如圖2.1所示。其中,晶振的兩端分別接30pF的電容到地;復位電路先接10uF電容后在與地并聯(lián),起到濾波的作用,復位采用上電復位電路。晶振是為單片機提供起振時間,晶振頻率越高,單片機處理速度越快。本次系統(tǒng)設計選擇11.0592MHZ的晶振,一個機器周期大約是1uS,能夠滿足系統(tǒng)設計需求</p><p>  圖2.1: 單片機最小系統(tǒng)</p><

6、;p>  2.2 放大電路設計</p><p>  工業(yè)檢測絕大多數(shù)信號都是有傳感器獲得,屬于小信號,無法直接進行處理,因此需要相應的放大電路都有傳感器獲得的信號放大。工業(yè)現(xiàn)場屬于強干擾的現(xiàn)場,對傳感器和放大電路的性能要求很高,否則檢測到的信號無法分辨是有用的信號還是噪聲干擾,因此選擇一個抗干擾、高精度、高阻抗的集成運算放大器顯得尤為重要。</p><p>  由于LM324集成運算

7、放大器價格便宜,具有差動輸入,帶有四個運放單元,與單電源應用的標準運算放棄相比,具有更多的優(yōu)點,可以工作在低至4V高至32V的電源下,共模輸入范圍包括負電源,功耗低,具有輸入端靜電保護,具有內部補償,輸出短路保護,且具有偏置電流也較低等優(yōu)點,為此選擇此集成運算放大器。其引腳圖排列如圖2.2所示 </p><p>  圖2.2: LM324引腳圖</p><p>  為了獲得良好的信號放大性

8、能,放大電路采用同相比例運算放大電路如2.3所示。</p><p>  圖2.3: 運算放大電路</p><p>  2.3 信號選擇電路設計</p><p>  本設計對八路信號進行放大然后顯示,鑒于成本和使用的方便,不可能對八路信號進行同時處理和顯示,需要用數(shù)據(jù)選擇對每一路巡回測量處理,然后一次顯示,因此可選用CD4051數(shù)據(jù)選擇器,其引腳圖如圖2.4所示。&l

9、t;/p><p>  圖2.4: CD4051引腳圖</p><p>  八路放大電路對信號放大后,連接到CD4051的八個輸入端,使能端接地,讓其始終處于工作的狀態(tài),三個二進制控制輸入端A、B、C和單片機相應的IO口相連接,依次選通八路信號送至AD轉換器處理,如圖2.5所示。</p><p>  圖2.5: 數(shù)據(jù)選擇電路</p><p>  2

10、.4 AD轉換電路設計</p><p>  本設計采用A/D芯片為ADC0804,它是CMOS 8位單通道逐次漸近型的模/數(shù)轉換器,其規(guī)格及引腳圖如圖2.6所示</p><p>  圖2.6:ADC0804引腳圖</p><p>  當CS/=0時,允許進行轉換。WR/由低跳高時轉換開始,8位逐次比較需用8×8=64個時鐘周期,再加上控制邏輯操作,一次轉

11、換需要66~73個時鐘周期。 </p><p>  當CS/與WR/同時有效時便啟動轉換,轉換結束時產生信號INTR/,可供出查詢或中斷信號。在CS/和RD/共同控制下可以讀取轉換結果數(shù)據(jù)。 在轉換過程中,如果再次啟動轉換器,則終止正在進行的轉換,進入新的轉換,在新的轉換過程中,數(shù)據(jù)寄存器中仍保持上一次的轉換結果。0804轉換器的零點無需調整,而輸入電壓的范圍可以通過調整Vref/2端處的電壓加以改變。Vref端

12、電壓應為輸入電壓的1/2。例如輸入電壓范圍是0V至2V,則在Vref端加1V電壓,但當輸入電壓為0~+5V時,Vref端無需外加任何電壓,而由內部電源分壓得到 。</p><p>  本設計的內部時鐘由4引腳和19引腳外接RC實現(xiàn)。輸入信號來自數(shù)據(jù)選擇器的輸出,轉換完后的結果由數(shù)據(jù)線DB0-DB7送到單片機的P1口處理,INTR引腳外部中斷1相連,提供轉換完成信號,為了保證數(shù)據(jù)的實時性,因此片選端接地,WR和RD

13、分別與單片機的讀寫控制端相連。具體電路如圖7所示。</p><p>  圖2.7: ADC轉換電路</p><p><b>  2.4顯示模塊電路</b></p><p>  可以顯示單片機系統(tǒng)數(shù)據(jù)的方法很多,常用的有數(shù)碼管和LCD液晶顯示,考了到價格的原因,本設計選用四位LED數(shù)碼管顯示。</p><p>  所謂LE

14、D就是發(fā)光二級管的縮寫,LED顯示模塊是由發(fā)光二極管顯示字段組成的顯示器,有8字段和“米”字段之分,顯示塊都有DP顯示段,用于顯示小數(shù)點。7段LED的字型碼,由于只有7個段發(fā)光二極管,所以字型碼為一個字節(jié)如圖2.8所示。這種顯示塊有共陽極和共陰極兩種,共陰極LED顯示塊的發(fā)光二極管的陰極連接在一起,通常此公共陰極接地,當某個發(fā)光二極管的陽極為高電平時,發(fā)光二極管點亮,相應的段被顯示,如圖2.8(a)。同樣,共陽極LED顯示塊的發(fā)光二極管

15、的陽極連接在一起,當某一個陰極為低電平時,對應的二極管唄點亮發(fā)光,如圖2.8(b)。</p><p>  共陰極接法(a) 共陽極接法(b) LED數(shù)碼管內部結構(c)</p><p>  圖2.8 :數(shù)碼管內部結構</p><p>  由N片LED顯示塊可拼接成N位LED顯示器。 N位LED顯示器由N根位選線和8X

16、N(或16XN)根段選線構成。根據(jù)顯示方式的不同,位選線和段選線的連接方法也各不相同。段選線控制顯示字符的字型,而位選線則控制顯示位的亮、暗。</p><p>  數(shù)碼管的顯示方法有動態(tài)顯示和靜態(tài)顯示,所謂靜態(tài)顯示,就是再同一時刻只顯示一種字符,或者說被顯示的字符再同一時刻是穩(wěn)定不變的。其顯示方法比較簡單,只要將顯示段碼送至段碼口即可。此種顯示比較簡單、亮度高、接口編程容易,但是用處不大。動態(tài)顯示是把所有位的斷碼

17、線的相應段并聯(lián)在一起,有一個8位的IO口控制,各位的共陰極或共陽極分別由相應的IO口線控制,形成各位的分時選通,雖然每位顯示的字符不是在同一時刻出現(xiàn)的,每一時刻只能夠顯示一位,而其他的各位熄滅,但是由于LED的余輝和人眼的視覺暫留作用,只要每位的顯示時間間隔足夠短,就可以達到同時顯示的效果。</p><p>  由于本系統(tǒng)需要顯示的位數(shù)較多,為了節(jié)省IO口資源,達到顯示效果,采用動態(tài)顯示,斷碼線與單片機的P0.0

18、-PO.7相連,位選線分別與單片機的P2.0P2.3相連,電路圖如圖2.9所示。</p><p><b>  圖2.9 顯示模塊</b></p><p>  第三章 系統(tǒng)設計與分析 </p><p>  3.1 體統(tǒng)原理綜述</p><p>  圖3.1:系統(tǒng)原理框圖</p><p>  系統(tǒng)的

19、原理框圖如圖3.1所示,本系統(tǒng)分為五大部分,第一部分主控芯片,本設計的主控芯片采用AT89C52單片機,第二部分放大電路,由傳感器獲得的各種電壓信號,分別接到八個放大器的輸入端進行放大,放大后的信號連接到第三部分的數(shù)據(jù)選擇器的數(shù)據(jù)輸入端,數(shù)據(jù)選擇的的三個控制端連至單片機的三個IO口,由單片依次選擇控制進入數(shù)據(jù)選擇器的八路信號的任一路,選擇輸出的數(shù)據(jù)送至ADC0804的輸入端,AD轉換器把輸入的模擬量轉化為相應的數(shù)字量送至單片,然后由顯示

20、模塊的數(shù)碼管顯示相應的數(shù)值。</p><p>  3.2 系統(tǒng)原理圖</p><p>  系統(tǒng)原理圖如圖3.2所示。</p><p>  圖3.2:系統(tǒng)總原理圖</p><p><b>  第四章 軟件設計</b></p><p>  4.1 軟件實現(xiàn)的功能及流程圖</p>&l

21、t;p>  本設計采用8052單片為控制芯片,改程序要實現(xiàn)的功能是:用單片的P3.0-P3.2IO口控制數(shù)據(jù)選擇器,依次把每一路信號選通,這通道選擇函數(shù)實現(xiàn),選擇的信號送至ADC轉換器,再由單片機P1口通過讀取函數(shù)讀取AD轉換器,單片機處理完數(shù)據(jù)后,有顯示函數(shù)顯示具體的數(shù)值。其流程圖如圖4.1所示。</p><p>  圖4.1:程序流程圖</p><p><b>  4.

22、2 程序清單</b></p><p>  #include <intrins.h></p><p>  #include"at89x52.h"</p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int&l

23、t;/p><p>  #define ulong unsigned long</p><p>  #define k0 P2_0</p><p>  #define k1 P2_1</p><p>  #define k2 P2_2</p><p>  #define k3 P2_3</p><

24、;p>  #define ADwr P3_1</p><p>  #define nop() _nop_()</p><p>  #define Intr P3_2</p><p>  uchar code acLEDCS[]={0xef,0xdf,0xbf,0x7f};/* 位選地址碼,“0”有效,位選接的是P2口高4位 */</p>

25、<p>  uchar code acLedSegCode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c};/* 段碼 */</p><p>  uchar acLED[4]; /* 測電壓顯示緩沖區(qū) */</p><p>  char cScanIndex=0;

26、 /* 位選指針0~3 */</p><p>  sbit DQ =P3^3;/*TSOR為數(shù)據(jù)口,接于P3.3*/</p><p>  uchar nChannel;</p><p>  uchar nVoltage; </p><p>  uint Voltage;

27、 /*轉化后的電壓值*/</p><p>  void delay2(void);</p><p>  void display2(int k) ;</p><p>  void zhuanhuan();</p><p>  void Delay1(unsigned char );</p><p>

28、  void delay(unsigned int time); </p><p>  WriteOneChar(unsigned char dat);</p><p>  void AdChannel(uchar channel);</p><p>  void display1(void);</p><p>  void di

29、splay()</p><p>  { if(nChannel == 0)</p><p>  acLED[0]=acLedSegCode[1]|0x80;</p><p>  if(nChannel == 1)</p><p>  acLED[0]=acLedSegCode[2]|0x80;</p>&l

30、t;p>  if(nChannel == 2)</p><p>  acLED[0]=acLedSegCode[3]|0x80;</p><p>  if(nChannel == 3)</p><p>  acLED[0]=acLedSegCode[4]|0x80;</p><p>  if(nChannel == 4)

31、</p><p>  acLED[0]=acLedSegCode[5]|0x80;</p><p>  if(nChannel == 5)</p><p>  acLED[0]=acLedSegCode[6]|0x80;</p><p>  if(nChannel == 6)</p><p>  acLE

32、D[0]=acLedSegCode[7]|0x80;</p><p>  if(nChannel == 7)</p><p>  acLED[0]=acLedSegCode[8]|0x80;</p><p>  if(nChannel == 7) acLED[1]=acLedSegCode[Voltage/100%10];</p><p&g

33、t;  else acLED[1]=acLedSegCode[Voltage/100%10]|0x80;/* 顯示第2位 */</p><p>  acLED[2]=acLedSegCode[Voltage/10%10];/* LED顯示第3位 */</p><p>  acLED[3]=acLedSegCode[Voltage%10];/* LED顯示第4位 */</p>

34、;<p><b>  }</b></p><p>  /************************** 主函數(shù) *****************************/</p><p>  void main(void)</p><p>  { nChannel = 0;</p><p>

35、<b>  mode =0;</b></p><p><b>  while(1)</b></p><p>  { Delay1(6000); </p><p>  if(k1==0&&mode==0)</p><p><b>  {</b></

36、p><p>  while(k1==0);</p><p>  if(nChannel == 7) </p><p>  nChannel = 0;</p><p>  else nChannel ++;</p><p>  if(k2==0&&mode==0)</p><p>&l

37、t;b>  {</b></p><p>  while(k2==0);</p><p>  if(nChannel == 0) </p><p>  nChannel = 7;</p><p>  else nChannel --;</p><p><b>  } </b>&

38、lt;/p><p><b>  if(k0==0)</b></p><p><b>  {</b></p><p>  while(k0==0);</p><p>  mode=~mode;</p><p><b>  }</b></p>&l

39、t;p>  while(mode==1)</p><p>  { while(k0!=0)</p><p>  { zhuanhuan();</p><p>  display2(temp);</p><p><b>  }</b></p><p>  Delay1(6000);</p

40、><p>  if (k0==0)</p><p><b>  {</b></p><p>  while(k0==0);</p><p>  mode=~mode;</p><p><b>  }</b></p><p><b>  }

41、 </b></p><p>  AdChannel(nChannel);</p><p>  Delay1(100);</p><p>  zhuanhuan();</p><p><b>  }</b></p><p><b>  }</b></p

42、><p>  /*******ADC0804進行模數(shù)轉換,然后顯示出來********/</p><p>  void zhuanhuan()</p><p>  { ADwr=0;</p><p><b>  ADwr=1;</b></p><p>  Delay1(5000);</p&g

43、t;<p>  //while(Intr==1);</p><p>  nVoltage=P1;</p><p>  Voltage = (uint)(nVoltage*250)/128; </p><p>  if(nChannel==7)</p><p>  {Voltage=Voltage*10/54;}<

44、;/p><p>  TMOD=0x12;</p><p><b>  TH0=-200;</b></p><p><b>  TL0=-200;</b></p><p><b>  TR0=1;</b></p><p><b>  ET0=1;&l

45、t;/b></p><p>  while(k1!=0&&k2!=0&&k0!=0)</p><p><b>  { EA=1;</b></p><p>  display();</p><p><b>  }</b></p><p>&

46、lt;b>  EA=0;</b></p><p><b>  P0=0;</b></p><p><b>  }</b></p><p>  void IntT0() interrupt 1</p><p>  { uchar BakP2;</p><p&

47、gt;  P0 = 0; /* 先清顯示再換位選 */</p><p>  Delay1(1);</p><p>  BakP2 = P2 & 0x0F;</p><p>  P2 = BakP2 | acLEDCS[cScanIndex];/* 送位選數(shù)據(jù) */</p><p>  P0 = acLE

48、D[cScanIndex++]; /* 送顯示數(shù)據(jù),位選指針移位 */ </p><p>  cScanIndex &= 0x03; /* 位選指針回位 */</p><p><b>  }</b></p><p>  /******跳到選擇 *********/</p><p>  void

49、 AdChannel(uchar channel)</p><p>  { P3&=0x8f;</p><p>  switch(channel)</p><p>  {case 0:break;</p><p>  case 1:P3|=0x10;break;</p><p>  case 2:P3|=

50、0x20;break;</p><p>  case 3:P3|=0x30;break;</p><p>  case 4:P3|=0x40;break;</p><p>  case 5:P3|=0x50;break;</p><p>  case 6:P3|=0x60;break;</p><p>  case 7

51、:P3|=0x70;break;</p><p><b>  }</b></p><p><b>  }</b></p><p>  //數(shù)碼管顯示子程序 入口參數(shù)k</p><p>  void display2(int k) { </p><p>  P0=tab

52、[k/1000];</p><p><b>  P2_4=0;</b></p><p><b>  delay2();</b></p><p><b>  P0=0x00;</b></p><p><b>  P2=0xff;</b></p>

53、<p>  P0=tab[k%1000/100]|0x80;</p><p><b>  P2_5=0;</b></p><p><b>  delay2();</b></p><p><b>  P0=0x00;</b></p><p><b>  P2

54、=0xff;</b></p><p>  P0=tab[k%100/10];</p><p><b>  P2_6=0;</b></p><p><b>  delay2();</b></p><p><b>  P0=0x00;</b></p>&l

55、t;p><b>  P2=0xff;</b></p><p>  P0=tab[k%10];</p><p><b>  P2_7=0;</b></p><p><b>  delay2();</b></p><p><b>  P0=0x00;</b&g

56、t;</p><p><b>  P2=0xff;</b></p><p><b>  }</b></p><p>  void display1(void)</p><p><b>  {uchar i;</b></p><p>  tab3[1]=0

57、;</p><p>  tab3[2]=temp%10000/1000;</p><p>  tab3[3]=temp%1000/100;</p><p>  tab3[0]=0;</p><p>  for(i=2;i<4;i++)</p><p><b>  { P0=0;</b><

58、;/p><p>  P0=acLedSegCode[tab3[i]];</p><p>  P2=acLEDCS[i];</p><p>  delay(600);</p><p><b>  }</b></p><p><b>  }</b></p><p&

59、gt;  void delay2(void) //數(shù)碼管掃瞄延時程序</p><p><b>  {</b></p><p><b>  int k;</b></p><p>  for(k=0;k<600;k++);</p><p><b>  }</b></

60、p><p>  void Delay1(unsigned char t)</p><p><b>  {</b></p><p>  for(;t>0;t--) </p><p>  { nop();</p><p><b>  nop();</b></p>

61、<p><b>  nop();</b></p><p><b>  nop();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void delay(unsigned int t

62、ime) //延時子程序 入口參數(shù) time</p><p><b>  {</b></p><p>  unsigned int n;</p><p><b>  n=0;</b></p><p>  while(n<time)</p><p><b>

63、  {n++;}</b></p><p><b>  return;}</b></p><p><b>  第五章 設計總結</b></p><p>  以上為課設期間所設計的多路放大與巡回測量控制系統(tǒng),經過多次修改和整理,可以滿足設計的基本要求,且性能穩(wěn)定,可靠性較好,具有一定的使用價值,</p>

64、;<p>  本系統(tǒng)在設計時采用8052單片機為核心,把整個系統(tǒng)劃分為了五大部分,先由整體原理框圖構思系統(tǒng)整體電路結構,然后分單元構思每個模塊電路設計,最后把所有的單元模塊綜合起來,繪制總體的硬件電路圖,在設計中放大電路部分采用了性能優(yōu)良的LM324集成運算放大器,由于題目要求8路數(shù)據(jù)巡回檢測,在數(shù)據(jù)性選擇部分選擇了CD4051數(shù)據(jù)選擇器,為了節(jié)省成本,ADC選擇了價格便宜的ADC0804,同時滿足題目要求的一路AD轉換要

65、求偶,顯示部分則選用四位數(shù)碼管,才用動態(tài)顯示的方式,方便而且可行性高。</p><p>  通過這十天的課程設計學習,我感覺有很大的收獲:首先,通過學習使自己對課本上的知識可以應用于實際,使的理論與實際相結合,加深自己對課本知識的更好理解,同時實習也段練了我個人的動手能力:能夠充分利用圖書館去查閱資料,拓展許多課本以外的知識。能對PROTEL 99SE、PROTEUS、KEIL等軟件熟練操作,達到學以致用。對我們

66、學生來說,理論與實際同樣重要,這是我們以后在工作中說明自己能力的一個重要標準。同時掌握了電子系統(tǒng)綜合設計的不少方法和技巧,為以后的工作和學習奠定一定的基礎。</p><p>  雖然整個系統(tǒng)設計完成后能夠基本滿足設計的要求,但是在實際的設計過程中出現(xiàn)了不少的問題,對相關的硬件電路原理不夠熟悉,軟件使用不夠精通,在設計時走不少的彎路,尤其在軟件編程的設計上,缺乏經驗,還需要進一步的加強,最后在老師的幫助下完成了相關

67、的設計。</p><p><b>  參考文獻</b></p><p>  [1] 趙 晶 主編《Prote199高級應用》.人民郵電出版社,2000.12</p><p>  [2 ] 于海生 編著 《微型計算機控制技術》 清華大學出版社2003.4</p><p>  [3]段九洲. 放大電路實用設計手冊.[M]&

68、#160;遼寧科學技術出版社,2002.8</p><p>  [4]李朝青. 單片機原理及接口技術[M] 空航天大學出版社,2000.5</p><p>  [5]閻石 主編《數(shù)字電子技術基礎》 高等教育出版社,2006.5</p><p>  [6].忠梅. 單片機的C語言應用程序設計[M]. 北京:北京航空航天大學出版社,2003</p>

溫馨提示

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

評論

0/150

提交評論