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

下載本文檔

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

文檔簡介

1、<p>  課程名稱: 智能儀器設(shè)計課程設(shè)計 </p><p>  實驗項目: _設(shè)計智能儀表______ </p><p>  專業(yè)班級: 學(xué)號: </p><p>  學(xué)生姓名:

2、 </p><p>  指導(dǎo)教師: </p><p>  2012年 1 月 12 日</p><p><b>  目 錄</b></p><p>  一、設(shè)計目的及要求..................................

3、..3</p><p>  二、設(shè)計思路..........................................3</p><p>  三、硬件電路原理圖與設(shè)計..............................3</p><p>  3.1智能儀表基本模塊硬件電路.........................................

4、.3</p><p>  3.2智能儀表基本模塊的功能............................................8</p><p>  四、測溫模塊設(shè)計......................................9</p><p>  4.1熱電偶.....................................

5、.......................9</p><p>  4.2 熱電偶信號調(diào)理電路...............................................10</p><p>  五、驅(qū)動雙向晶閘管設(shè)計................................10</p><p>  六、軟件設(shè)計..............

6、............................11</p><p>  6.1主程序...........................................................11</p><p>  6.2子程序...........................................................12</p>

7、<p>  七、總結(jié).............................................16</p><p><b>  一、設(shè)計目的及要求</b></p><p>  實現(xiàn)智能數(shù)字顯示儀表。要求8位數(shù)碼管顯示(4位顯示測量值,4位顯示設(shè)定值),4輸入按鈕(功能選擇、數(shù)碼管選擇、數(shù)字增加、數(shù)字減少),可設(shè)定上下限報警(蜂鳴器報警)。

8、適配B型(鉑銠30)熱電偶,測溫范圍為400℃~1200℃。采用位式(兩位、三位,具有滯環(huán))控制、并用晶閘管過零驅(qū)動1000W電加熱器(電源電壓為AC220V)。</p><p><b>  二、設(shè)計思路</b></p><p>  通過B型(鉑銠30)熱電偶測量的答題思路為</p><p>  三、硬件電路原理圖與設(shè)計</p>

9、<p>  3.1智能儀表基本模塊硬件電路</p><p>  智能儀表基本模塊由單片機(jī)、輸入按鈕、硬件顯示和通信接口組成</p><p><b>  原理圖:</b></p><p>  (1)最小系統(tǒng)板電路</p><p><b>  (2)電源電路</b></p>&l

10、t;p><b>  (3)按鍵電路</b></p><p><b>  (4)揚聲器電路</b></p><p><b> ?。?)數(shù)碼管電路</b></p><p><b>  (6)信號調(diào)理電路</b></p><p><b>  (7

11、)功率驅(qū)動電路</b></p><p><b>  (8)LED電路</b></p><p>  3.2智能儀表基本模塊的功能:</p><p> ?。?)具有兩排8個是數(shù)碼管顯示,分別顯示測量值與設(shè)定值, 數(shù)碼管由74HC595驅(qū)動,因此只需要3個單片機(jī)引腳,可以用SPI接口引腳:PB4、PB5(MOSI)和PB7(SCK),或是

12、采用I/O引腳搭配時序的方法驅(qū)動。</p><p> ?。?)具有4個按鈕:功能選擇按鈕、數(shù)碼管選擇按鈕、數(shù)字加按鈕、數(shù)字減按鈕。按鈕直接連在單片機(jī)引腳,低電平有效。</p><p> ?。?)具有4個LED燈,用于顯示狀態(tài),直接連到單片機(jī)引腳,低電平有效。</p><p><b>  智能儀表的外形:</b></p><p

13、>  其中上排數(shù)碼管顯示測量值,下排數(shù)碼管顯示設(shè)定值,4個按鈕用三個,右上側(cè)有4個發(fā)光二極管。</p><p><b>  四、測溫模塊設(shè)計</b></p><p><b>  4.1熱電偶</b></p><p>  B型熱電偶在熱電偶系列中具有準(zhǔn)確度最高,穩(wěn)定性最好,測溫溫區(qū)寬,使用壽命長,測溫上限高等優(yōu)點。適用

14、于氧化性和惰性氣氛中,也可短期用于真空中,但不適用于還原性氣氛或含有金屬或非金屬蒸氣氣氛中。B型熱電偶一個明顯的優(yōu)點是不需用補償導(dǎo)線進(jìn)行補償,因為在0~50℃范圍內(nèi)熱電勢小于3μV。</p><p>  B型熱電偶不足之處是熱電勢,熱電勢率較小,靈敏度低,高溫下機(jī)械強度下降,對污染非常敏感,貴金屬材料昂貴,因而一次性投資較大。 兩種不同成分的導(dǎo)體兩端接合成回路,當(dāng)接合點的溫度不同時,在回路中就會產(chǎn)生電動勢

15、,這種現(xiàn)象稱為熱電效應(yīng),而這種電動勢成為熱電勢,也稱為熱電動勢,熱電偶就是利用這種原理進(jìn)行溫度測量的。其中,直接用做測量介質(zhì)溫度的一端叫作工作端(稱為測量端),另一端叫做冷端(稱為補償端)。冷端與顯示儀表或配套儀表連接,顯示儀表會顯示出熱電偶所產(chǎn)生的熱電勢。</p><p>  熱電偶將熱能轉(zhuǎn)換為電能,用所產(chǎn)生的熱電勢測量溫度,對于熱電偶的熱電勢,應(yīng)注意以下問題:</p><p>  熱電

16、偶所產(chǎn)生的熱電勢大小,與熱電偶的長度和直徑無關(guān),只與熱電偶材料的成分和兩端的溫差有關(guān)</p><p>  當(dāng)熱電偶的兩個熱電偶絲材料成分確定后,熱電偶電勢的大小,只與熱電偶的溫度差有關(guān);若熱電偶冷端的溫度保持一定,則熱電勢僅是工作端溫度的單值函數(shù)</p><p>  本設(shè)計要求的B型(鉑銠30)熱電偶測溫范圍如下表</p><p>  4.2 熱電偶信號調(diào)理電路&l

17、t;/p><p>  采用LM35的B00000000----------------------------型熱電偶冷端補償電路</p><p>  B型熱電偶在0度時的熱電勢為0mV,在1600度時的熱電勢為18.84mV。若輸出電壓為0.2-3.3v。因此放大器輸出電壓方程為:</p><p>  1)0.2=m*0+b 和 2)3.3=m*18.84+b算出m、

18、b的值然后根據(jù)</p><p>  3)m=[R2/(R1+R2)][(Rf+Rg)/Rg] 和 4)b=Vref[R1/(R1+R2)][(Rf+Rg)/Rg]算出實驗所需的數(shù)據(jù)</p><p>  五、驅(qū)動雙向晶閘管設(shè)計</p><p>  本系統(tǒng)采用晶閘管脈沖調(diào)制驅(qū)動電路,其負(fù)載為1000W的電加熱器(電源電壓為220VAC)。單片機(jī)驅(qū)動晶閘管脈沖調(diào)制驅(qū)動器的

19、電路如下圖所示。</p><p>  單片機(jī)驅(qū)動晶閘管脈沖調(diào)制驅(qū)動器的電路</p><p><b>  六、軟件設(shè)計</b></p><p><b>  6.1主程序</b></p><p>  #include<iom 16v.h></p><p>  #inc

20、lude< macros.h ></p><p>  unsigned char vadc; //vadc 測得的放大電勢值</p><p>  unsigned int var; //測得的溫度值</p><p>  Unsign int

21、data[8]; //全局變量</p><p>  unsigned char xs[8]; //數(shù)據(jù)緩存</p><p>  unsigned char disp[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,//共陽數(shù)碼</p><p

22、>  0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf, </p><p>  0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0xFE,0xFF}; </p><p>  unsigned int weizhi[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; 高電平有效*/</

23、p><p>  unsigned char LED0,LED1,LED2,LED3;</p><p>  Void main(void) //主函數(shù)</p><p><b>  {</b></p><p>  unsign char adc_time;</p>&

24、lt;p>  unsign char saomiao_time;</p><p>  unsign char xianshi_time;</p><p>  init_devices();adc_time=0;}</p><p><b>  while(1)</b></p><p>  While(adc_time

25、=1) //測溫</p><p>  { adc(); </p><p>  Char lp(); //濾波 </p><p><b>  PID();</b></p><p><b>  Shuchu();</b

26、></p><p>  adc_time=0;}</p><p>  While(saomiao_time==1)</p><p>  { saomiao1(); //掃描按鍵并存放數(shù)據(jù)</p><p>  Saomiao_time=0;}</p><p>  while(xianshi

27、_time==1)</p><p>  { spihc(); //數(shù)碼管顯示</p><p>  LED(); // LED燈顯示</p><p>  xianshi_time=0;}</p><p><b>  }</b></p>&

28、lt;p>  #pragma interrupt_handler int_TCCR1A:7 //定時器1的TCCR1A組比較匹配中斷服務(wù)程序</p><p>  { static unsigned char n;</p><p><b>  n ++;</b></p><p>  If(n==20)

29、 //200ms</p><p>  adc_time=1; //adc轉(zhuǎn)換</p><p>  Saomiao_time=1; //掃描PD口按鍵 </p><p>  xianshi_time=1;

30、 //顯示數(shù)碼管</p><p><b>  } </b></p><p><b>  6.2子程序</b></p><p> ?。?)ADC初始化函數(shù)</p><p>  Void adc_init(void)</p><p>  { ADCSRA=0x00;

31、 // ADCSRA –ADC控制和狀態(tài)寄存器</p><p>  ADMAX=0x20; //選擇外部參考電壓,通道0,左對齊</p><p>  ADCSRA=0xE2;</p><p>  SFIOR=0Xa0; // SFIOR

32、-特殊功能IO寄存器,定時器1比較匹配B</p><p><b>  }</b></p><p>  (2)ADC轉(zhuǎn)換程序</p><p>  Void adc(void)</p><p>  { static unsigned char n;</p><p>  while(!(ADCSRA&a

33、mp;(1<<ADIF))); //等待轉(zhuǎn)換完成</p><p>  ADH=ADCH; //8位轉(zhuǎn)換</p><p><b>  If(n<5)</b></p><p>  Value_adc[n++]=ADH;</p><p

34、><b>  Else </b></p><p><b>  n =0;} </b></p><p>  (3)算術(shù)平均值濾波子函數(shù)</p><p>  Void Char lp(void)</p><p>  { Int sum=0;</p><p>  Char

35、count;</p><p>  For (count=0;count<5;count++)</p><p>  { sum+=Value_adc[count]; //獲取ADC轉(zhuǎn)換結(jié)果,計算相加</p><p><b>  Delay();}</b></p><p>  vadc=sum/5

36、;</p><p><b>  }</b></p><p>  (4)定時器初始化函數(shù)</p><p>  Void T1_init(void) //初始化定時器,產(chǎn)生10ms周期中斷</p><p>  {OCR1A=1249;</p><p>  TIMSK|

37、=(1<<OCIEA);</p><p>  TCCR1A=0x00;</p><p>  TCCR1B=0x08; //定時器工作在CTC計數(shù)器模式</p><p>  TCCR1B|=0x02; // 設(shè)定定時器1的分頻值為8分頻</p

38、><p><b>  }</b></p><p> ?。?)顯示LED燈子程序</p><p>  Void LED(void)</p><p>  { if(LED0==1)</p><p>  PORTB^=0x01;</p><p>  If(LED1==1)</p

39、><p>  PORTB|=1<<1;</p><p>  If(LED2==1)</p><p>  PORTB|=1<<2;</p><p>  If(LED3==1)</p><p>  PORTB|=1<<3;</p><p><b>  }&l

40、t;/b></p><p>  (6)定時器1的TCCR1A組比較匹配中斷服務(wù)程序 </p><p>  #pragma interrupt_handler int_TCCR1A:7 //定時器1的TCCR1A組比較匹配中斷服務(wù)程序</p><p>  { static unsigned char n;</p><p><

41、;b>  n ++;</b></p><p>  If(n==20) //200ms</p><p>  adc_time=1; //adc轉(zhuǎn)換</p><p>  Saomiao_time=1;

42、 //掃描PD口按鍵 </p><p>  xianshi_time=1; //顯示數(shù)碼管</p><p><b>  } </b></p><p>  (7) SPI初始化</p><p>  Void SPI_init(void)</p>&l

43、t;p>  SPDR=(1<<6)|(1<<4)|(1<<5)|(1<<1)|(1<<0); //使能SPI主機(jī)模式,設(shè)置時鐘速率為fck/128</p><p><b>  }</b></p><p> ?。?)引腳初始化函數(shù)</p><p>  Void port_init

44、(void) //引腳初始化函數(shù)</p><p>  {PORTA=0x80; //AD通道PA0口輸入模擬信號</p><p>  DDRA=0x80;</p><p>  PORTB=0xff; /

45、/PB輸出 LED燈</p><p>  DDRB=0xff;</p><p>  PORTC=0xff; //PC輸出 數(shù)碼管</p><p>  DDRC=0xff;</p><p>  PORTD=0x00; //PD口

46、輸入按鈕信號</p><p>  DDRD=0x00;</p><p><b>  }</b></p><p>  (9)系統(tǒng)初始化函數(shù)</p><p>  Void init_devices(void) //系統(tǒng)初始化</p><p><b>

47、  {CLI();</b></p><p>  port_init();</p><p><b>  adc_init;</b></p><p><b>  T1_init;</b></p><p><b>  SPI_init;</b></p>&l

48、t;p><b>  SEI();</b></p><p><b>  }</b></p><p><b>  (10)掃描子程序</b></p><p>  Void saomiao1(void)</p><p>  { unsigned int i;</p>

49、<p>  Static unsigned int j,m,k;</p><p><b>  If(j==0)</b></p><p>  {if (PIND|=0xFE) //判斷PD0引腳 功能鍵</p><p>  for (i=0;i<<2000;i++);</p><p

50、>  if (PIND|=0xFE) </p><p>  while(PIND|=0xFE);</p><p><b>  {j+=1;</b></p><p><b>  if(j>3)</b></p><p><b>  j=0;}</b></p>

51、;<p><b>  else </b></p><p>  saomiao2();</p><p><b>  shuju();</b></p><p>  if(j==1) // LED燈亮</p><p><b>  {LED1

52、=1;</b></p><p>  data[3]=data[2];} //設(shè)定并存放報警上限值</p><p>  Else if(j==2)</p><p>  {LED2=1; data[4]=data[2];} //設(shè)定并存放報警下限值 </p><p>  Else if(j==3

53、)</p><p>  {ED3=1; data[5]=data[2];} //設(shè)定并存放給定值</p><p><b>  }</b></p><p> ?。?1)數(shù)碼管、按鈕子程序</p><p>  Void saomiao2(void) //選擇數(shù)碼管 按鈕 </p&

54、gt;<p>  { unsigned int p;</p><p><b>  if(m==0)</b></p><p>  if (PIND|=0xFD) //判斷PD1引腳</p><p>  for (p=0;p<<2000;p++);</p><p>  if (PI

55、ND|=0xFD) </p><p>  while(PIND|=0xFD);</p><p><b>  {m+=1;</b></p><p><b>  if(m>4)</b></p><p><b>  m=0;}</b></p><p>

56、<b>  else</b></p><p>  saomiao3();</p><p><b>  }</b></p><p>  (12)判斷數(shù)據(jù)增減子程序</p><p>  Void saomiao3(void) //判斷數(shù)據(jù)增減</p><p

57、>  { unsigned int q; </p><p><b>  If(0<k<9)</b></p><p>  if (PIND|=0xFB) //判斷PD2引腳</p><p>  for (q=0;q<<2000;q++);</p>&l

58、t;p>  if (PIND|=0xFB) </p><p>  while(PIND|=0xFB);</p><p><b>  {k+=1;}</b></p><p>  if (PIND|=0xF7) //判斷PD3引腳</p><p>  for (q=0;q<<2000;q

59、++);</p><p>  if (PIND|=0Xf7) </p><p>  while(PIND|=0xF7);</p><p><b>  {k-=1;}</b></p><p>  Else k=0; </p><p><b>  }</b></p>

60、<p> ?。?3)數(shù)據(jù)設(shè)定存放子程序</p><p>  Void shuju(void)</p><p><b>  {If(m==1)</b></p><p>  data[2]+=k;</p><p><b>  if(m==2)</b></p><p>

61、;  data[2]+=1<<4;</p><p><b>  if(m==3)</b></p><p>  data[2]+=1<<8;</p><p><b>  if(m==4)</b></p><p>  data[2]+=1<<12;}</p>

62、;<p> ?。?4)向HC595輸出數(shù)據(jù)的函數(shù)</p><p>  void xianshi(unsigned char X) //向HC595輸出數(shù)據(jù)的函數(shù)</p><p>  {unsigned char i; </p><p>  for(i=8;i>=1;i--)</p><p>  {if (X&am

63、p;0x80) PORTC.5=1; else PORTC.5=0; //先輸出低位</p><p><b>  X<<=1;</b></p><p>  PORTC.7 = 0;</p><p>  PORTC.7 = 1;</p><p><b>  }</b></p&g

64、t;<p><b>  }</b></p><p>  (15)顯示數(shù)碼管子程序</p><p>  void spihc595 (void) //顯示子程序</p><p>  {unsigned char i; </p><p><b

65、>  {</b></p><p>  {data[0]=var; //顯示測量值</p><p>  data[1]=data[4]; //顯示給定值定值</p><p>  if(LED1==1)<

66、;/p><p>  data[1]=data[2]; //顯示報警上限值</p><p>  if(LED2==1)</p><p>  data[1]=data[3]; //顯示報警下限值</p><p>  xs[0]= data

67、[1]/1000%10;</p><p>  xs[1]= data[1]/100%10;</p><p>  xs[2]= data[1]/10%10;</p><p>  xs[3]=data[1]%10;</p><p>  xs[4]= data[0]/1000%10;</p><p>  xs[5]= dat

68、a[0]/100%10;</p><p>  xs[6]= data[0]/10%10;</p><p>  xs[7]=data[0]%10;</p><p><b>  }</b></p><p>  xianshi(weizhi[i]); //位輸出</p

69、><p>  xianshi(disp[xs[i]]); //段輸出 </p><p>  PORTC.6 = 0; //鎖存信號低電平</p><p>  PORTC.6= 1; //鎖存信號高電平</p><

70、;p>  i++;if(i==8)i=0;</p><p><b>  } </b></p><p><b>  } </b></p><p><b>  七、總結(jié)</b></p><p>  在這次的課程設(shè)計中不僅檢驗了我所學(xué)習(xí)的知識,也培養(yǎng)了我如何去把握一件事情,如何

71、去做一件事情,又如何完成一件事情。在設(shè)計過程中,與同學(xué)分工設(shè)計,和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會了合作,學(xué)會了運籌帷幄,學(xué)會了寬容,學(xué)會了理解,也學(xué)會了做人與處世。</p><p>  智能儀表的課程設(shè)計使我加深了對于所學(xué)知識的理解,鞏固了所學(xué)的知識,學(xué)會了用Protel99SE軟件設(shè)計制作簡單的單片機(jī)電路及其設(shè)計封裝PCB圖。從生疏到較熟練地應(yīng)用軟件設(shè)計單片機(jī)的過程中 ,并不是一帆風(fēng)順,我在設(shè)計過程中

溫馨提示

  • 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

提交評論