單片機課程設(shè)計---數(shù)字溫度計的設(shè)計_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單片機原理及應(yīng)用</b></p><p><b>  課程設(shè)計</b></p><p>  題 目 數(shù)字溫度計的設(shè)計 </p><p>  二級學(xué)院 電子信息與電氣工程學(xué)院</p><p>  班 級 </p>&

2、lt;p>  姓 名 </p><p>  學(xué) 號 </p><p>  指導(dǎo)教師 </p><p>  設(shè)計時間 2011.09.05~2011.9.15 </p><p><b>  目錄</b><

3、;/p><p>  一、概述………………………………………………………………………………………1</p><p>  二、系統(tǒng)設(shè)計……………………………………………………………………………… 1</p><p> ?。ㄒ唬囟扔嬙O(shè)計方案論證 ……………………………………………………………… 1 </p><p>  (二)框圖設(shè)計…………………

4、………………………………………………………………1</p><p>  (三)硬件設(shè)計……………………………………………………………………… 2 </p><p> ?。ㄋ模┸浖O(shè)計…………………………………………………………………………………7</p><p>  三、調(diào)試 …………………………………………………………………………………… 9 </p>

5、;<p>  四、課程設(shè)計小結(jié)……………………………………………………………………… 9</p><p>  五、參考文獻……………………………………………………………………………… 9</p><p>  六、附件………………………………………………………………………………………10</p><p>  附錄1、電路原理………………………………………

6、………………………10</p><p>  附錄2、實拍照片………………………………………………………………10</p><p>  附錄3、元件清單………………………………………………………………11</p><p>  附錄4、程序清單………………………………………………………………12</p><p><b>  一、概述&l

7、t;/b></p><p>  生活和生產(chǎn)中,經(jīng)常用到一些測溫設(shè)備,但是傳統(tǒng)的測溫設(shè)備但是傳統(tǒng)的測溫設(shè)備具有制作成本高、硬件電路和軟件設(shè)計復(fù)雜等缺點,基于AT89C52單片機的數(shù)字溫度計具有制作簡單,成本低,度數(shù)方便,測溫范圍廣和測溫準(zhǔn)確等優(yōu)點,應(yīng)用前景廣闊。</p><p><b>  設(shè)計參數(shù)規(guī)格設(shè)計:</b></p><p>  1

8、、溫度值用LED顯示 2、測量范圍為-30 ~100 3、溫差為±0.5 </p><p><b>  二、系統(tǒng)設(shè)計</b&g

9、t;</p><p> ?。ㄒ唬囟扔嬙O(shè)計方案論證 </p><p><b>  方案一</b></p><p>  由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。 </p>

10、<p><b>  方案二 </b></p><p>  進而考慮到用溫度傳感器,在單片機電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設(shè)計要求。方法簡單制作簡便,故采用方案一來實現(xiàn)數(shù)字溫度計的控制。</p><p><b> ?。ǘ?/p>

11、框圖設(shè)計</b></p><p>  根據(jù)設(shè)計要求分析,數(shù)字溫度計由STC89C52單片機、電源、顯示電路、溫度傳感器、復(fù)位電路和時鐘電路組成、系統(tǒng)框圖如圖1所示。電源給整個電路供電。顯示電路顯示溫度值,時鐘電路為STC89C52提供時鐘頻率。</p><p>  圖1 基于STC89C52單片機的數(shù)字溫度計系統(tǒng)框圖</p><p><b> 

12、?。ㄈ┯布O(shè)計</b></p><p><b>  1、最小系統(tǒng)</b></p><p><b>  (1)電源</b></p><p>  本次采用的是普通USB 5V直流電源。</p><p>  (2)單片機:本次設(shè)計使用單片機芯片STC89C52</p><

13、p>  STC89C52的工作特性:</p><p><b>  主要特性: </b></p><p>  ·與MCS-51 兼容 </p><p>  ·8K字節(jié)可編程閃爍存儲器 </p><p>  ·壽命:1000寫/擦循環(huán) </p><p>  

14、3;數(shù)據(jù)保留時間:10年 </p><p>  ·全靜態(tài)工作:0Hz-24Hz </p><p>  ·三級程序存儲器鎖定 </p><p>  ·512內(nèi)部RAM </p><p>  ·32可編程I/O線 </p><p>  ·兩個16位定時器/計數(shù)器 </

15、p><p><b>  ·5個中斷源 </b></p><p><b>  ·可編程串行通道 </b></p><p>  ·低功耗的閑置和掉電模式 </p><p>  ·片內(nèi)振蕩器和時鐘電路</p><p><b> ?。?)

16、時鐘電路</b></p><p>  本次設(shè)計采用的是12M的晶振,電路圖如下圖3,兩只電容在20pF~100pF之間取值,其取值在60pF~70pF時振蕩器頻率穩(wěn)定性較高,按照一般經(jīng)驗,外接晶體時兩個電容的取值為30pF。</p><p><b>  (4)復(fù)位電路</b></p><p>  在時鐘電路工作后,只要在單片機的RS

17、T引腳上出現(xiàn)24個時鐘振蕩脈沖(2個機器周期)以上的高電平,單片機便可實現(xiàn)初始化狀態(tài)服務(wù)。為保證應(yīng)用系統(tǒng)可靠的復(fù)位在設(shè)計復(fù)位電路時,通常使RST引腳保持4ms以上的高電平,只要RST保持高電平,MCS-51單片機就會循環(huán)復(fù)位;當(dāng)RST從高電平變?yōu)榈碗娖綍r,MCS-51單片機就從0000H地址開始執(zhí)行程序,在單片機復(fù)位的有效期間,ALE、PSEN 引腳輸出高電平。</p><p>  本次設(shè)計采用的是手動復(fù)位,其電

18、路圖如下:</p><p><b>  2.接口</b></p><p>  (1)數(shù)字溫度傳感器DS18B20</p><p>  由DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測量及控制儀器、測控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距

19、離遠等特點。 </p><p>  A. DS18B20性能特點 :</p><p>  ①獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。</p><p> ?、跍y溫范圍為-55℃-+125℃,測量分辨率為0.0625℃。</p><p> ?、跠S18B20在使用中不需要任何外

20、圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。</p><p> ?、苓m應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5,在寄生電源方式下可由數(shù)據(jù)線供電。</p><p> ?、轀y量結(jié)果直接輸出數(shù)字溫度信號,以"一 線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。</p><p> ?、挢?fù)壓特性:電源極性接反

21、時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。</p><p>  B. DS18B20內(nèi)部結(jié)構(gòu) </p><p>  DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH和TL,高速暫存器。64位光刻ROM是出廠前被光刻好的,它可以看作是該DS18B20的地址序列號。</p><p>  (2) 雙向總線發(fā)送器/接收器74

22、LS245</p><p>  74LS245為三態(tài)輸出的八組總線收發(fā)器引出端符號: </p><p>  A A總線端 </p><p>  B B總線端 </p><p>  /G 三態(tài)允許端(低電平有效) </p><p>  DIR 方向控制端 </p><p&g

23、t;<b>  功能表:</b></p><p>  (3)74LS07 六高壓輸出緩沖器/驅(qū)動器</p><p>  簡要說明 54/7407 為集電極開路輸出的六組驅(qū)動器,其主要電特性的典型值如下:</p><p>  6ns 20ns 125m W</p><p><b>  引

24、出端符號</b></p><p><b>  1A-6A 輸入端</b></p><p><b>  1Y-6Y 輸出端</b></p><p><b>  極限值</b></p><p>  電源電壓……………………7V</p><p> 

25、 輸入電壓……………………5V</p><p>  輸出截至態(tài)電壓 ………30V</p><p><b> ?。?)顯示電路</b></p><p>  內(nèi)部的四個數(shù)碼管共用a~dp這8根數(shù)據(jù)線,為人們的使用提供了方便,因為里面有四個數(shù)碼管,所以它有四個公共端,加上a~dp,共有12個引腳,下面便是一個共陽結(jié)構(gòu)圖。</p>&

26、lt;p>  管腳順序:從數(shù)碼管正面看,以第一腳為起點,管腳的順序是逆時針方向排列的。12-9-8-6為公共腳,A-11,B-7,C-4,D-2,E-1,F(xiàn)-10,G-5,DP-3。</p><p><b>  (四)軟件設(shè)計</b></p><p>  主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理DS18B20測量的當(dāng)前溫度值,溫度測量每1s進行一次,這樣

27、就可以在1s之內(nèi)測量一次被測溫度,其程序流程圖如圖11所示。</p><p><b>  N</b></p><p><b>  Y</b></p><p><b>  Y</b></p><p><b>  N</b></p><p&

28、gt;  讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需要進行CRC校驗,校驗有錯時不能進行溫度數(shù)據(jù)的改寫,其程序流程圖如圖8所示。</p><p><b>  Y</b></p><p><b>  N</b></p><p><b>  N</b></p><p&g

29、t;<b>  Y</b></p><p>  溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,采用12位分辨率轉(zhuǎn)換時間為750ms.程序設(shè)計中采用1s顯示程序延時等待轉(zhuǎn)換的完成。計算溫度子程序?qū)AM 中讀取值進行BCD碼轉(zhuǎn)換運算,并進行溫度值正負(fù)的判定,顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進行刷新操作,當(dāng)最高顯示位為0時將符號顯示位移入下一位。</p><p&

30、gt;<b>  三、調(diào)試</b></p><p>  此設(shè)計軟件部分用uvision4編寫與編譯源程序,并生成HEX文件,編譯完成后用Proteus仿真,仿真完成后將HEX文件燒制到單片機中,然后就是對硬件電路的檢查,排除硬件電路故障包括設(shè)計錯誤和工藝連接錯誤,檢查各芯片是否有短路或斷路故障。先將單片機取下,對電路板進行通電檢查,通過觀察是否有異常然后用萬用表測試個電源電壓,若這些都沒有問

31、題,則接上仿真機進行聯(lián)機調(diào)試觀察各接口線路是否正常。</p><p><b>  四、課程設(shè)計小結(jié)</b></p><p>  近兩周的單片機課程設(shè)計,終于完成了我的數(shù)字溫度計畢業(yè)設(shè)計,雖然途中還遇到不少困難,但最終還是把實物做出來,從這次的課程設(shè)計中,我真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所學(xué)的理論運用到實際當(dāng)中,學(xué)習(xí)單機片機更是如此,程序只有在

32、經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設(shè)計中的最大收獲。通過這次對數(shù)字溫度計的設(shè)計與制作,讓我了解了設(shè)計電路的程序,也讓我了解了關(guān)于數(shù)字溫度計的原理與設(shè)計理念,要設(shè)計一個電路總要先用仿真成功之后才實際接線的。但是最后的成品卻不一定與仿真時完全一樣,因為,在實際接線中有著各種各樣的條件制約著。而且,在仿真中無法成功的電路接法,在實際中因為芯片本身的特性而能夠成功。所以,在設(shè)計時應(yīng)考慮兩者的差異,從中找出最適合的設(shè)計方法。<

33、/p><p><b>  五、參考文獻</b></p><p>  [1].范力旻,單片機原理及應(yīng)用技術(shù),電子工業(yè)出版社,2010.</p><p>  [2].楊居義,單片機課程設(shè)計指導(dǎo),清華大學(xué)出版社,2009.</p><p>  [3].沙占友,孟志永,王彥朋,單片機外圍電路設(shè)計,電子工業(yè)出版社,2006.</

34、p><p>  [6].丁元杰,單片機微機原理及應(yīng)用技[M],機械工業(yè)出版社,2001.</p><p><b>  六.附錄</b></p><p><b>  1.硬件原理圖</b></p><p><b>  2.實拍照片</b></p><p>&l

35、t;b>  3.元件清單</b></p><p><b>  4.程序清單</b></p><p>  #include"reg51.h"</p><p>  #include"intrins.h"</p><p>  #defineDisdataP1<

36、/p><p>  #definediscanP3</p><p>  #defineuchar unsigned char</p><p>  #define uint unsigned int</p><p>  sbitDQ = P3^7;</p><p>  sbitDIN = P1^7;</p>

37、;<p><b>  uinth;</b></p><p>  ucharcode ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};</p><p>  uchar code dis_7[12] = {0xC0

38、,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf};</p><p>  uchar code scan_con[4] = {0xfe,0xfd,0xfb,0xf7};</p><p>  uchar data temp_data[2] = {0x00,0x00};</p><p>  uchar

39、data display[5] = {0x00,0x00,0x00,0x00,0x00};</p><p>  void delay(uint t)</p><p><b>  {</b></p><p>  for(;t>0;t--);</p><p><b>  }</b></p&g

40、t;<p><b>  scan()</b></p><p><b>  {</b></p><p><b>  char k;</b></p><p>  for(k=0;k<4;k++)</p><p><b>  {</b><

41、;/p><p>  Disdata = dis_7[display[k]];</p><p>  if(k == 1) DIN = 0;</p><p>  discan = ~scan_con[k];</p><p>  delay(90);</p><p>  discan = 0x00;</p><

42、;p><b>  }</b></p><p><b>  }</b></p><p>  ow_reset(void)</p><p><b>  {</b></p><p>  char presence = 1;</p><p>  while

43、(presence)</p><p><b>  {</b></p><p>  while(presence)</p><p><b>  {</b></p><p>  DQ = 1;_nop_();_nop_();</p><p><b>  DQ = 0;&

44、lt;/b></p><p>  delay(50);</p><p><b>  DQ = 1;</b></p><p><b>  delay(6);</b></p><p>  presence = DQ;</p><p><b>  }</b&g

45、t;</p><p>  delay(45);</p><p>  presence = ~DQ;</p><p><b>  }</b></p><p><b>  DQ = 1;</b></p><p><b>  }</b></p>

46、<p>  void write_byte(uchar val)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for(i=8;i>0;i--)</p><p><b>  {</b><

47、/p><p>  DQ = 1;_nop_();_nop_();</p><p>  DQ = 0;_nop_();_nop_();_nop_();_nop_();_nop_();</p><p>  DQ = val & 0x01;</p><p><b>  delay(6);</b></p>&l

48、t;p>  val = val>>1;</p><p><b>  }</b></p><p><b>  DQ = 1;</b></p><p><b>  delay(1);</b></p><p><b>  }</b></p

49、><p>  uchar read_byte(void)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  uchar value = 0;</p><p>  for(i=8;i>0;i--)</p&g

50、t;<p><b>  {</b></p><p>  DQ=1;_nop_();_nop_();</p><p>  value >>= 1;</p><p>  DQ = 0;_nop_();_nop_();_nop_();_nop_();</p><p>  DQ = 1;_nop_();

51、_nop_();_nop_();_nop_();</p><p>  if(DQ)value|=0x80;</p><p><b>  delay(6);</b></p><p><b>  }</b></p><p><b>  DQ = 1;</b></p>

52、<p>  return(value);</p><p><b>  }</b></p><p>  read_temp()</p><p><b>  {</b></p><p>  ow_reset();</p><p>  write_byte(0xCC);

53、</p><p>  write_byte(0xBE);</p><p>  temp_data[0] = read_byte();</p><p>  temp_data[1] = read_byte();</p><p>  ow_reset();</p><p>  write_byte(0xCC);</p

54、><p>  write_byte(0x44);</p><p><b>  }</b></p><p>  work_temp()</p><p><b>  {</b></p><p>  uchar n = 0;</p><p>  if (temp

55、_data[1]>127)</p><p><b>  {</b></p><p>  temp_data[1] = (255 - temp_data[1]);</p><p>  temp_data[0] = (256 - temp_data[0]);</p><p><b>  n=1;</b&

56、gt;</p><p><b>  }</b></p><p>  display[4] = temp_data[0] & 0x0f;</p><p>  display[0] = ditab[display[4]];</p><p>  display[4] = ((temp_data[0] & 0xf

57、0)>>4) | ((temp_data[1] & 0x0f)<<4);</p><p>  display[3] = display[4]/100;</p><p>  display[1] = display[4]%100;</p><p>  display[2] = display[1]/10;</p><

58、p>  display[1] = display[1]%10;</p><p>  if(!display[3])</p><p><b>  {</b></p><p>  display[3] = 0x0A;</p><p>  if(!display[2]) display[2] = 0x0A;</

59、p><p><b>  }</b></p><p>  if(n)display[3] = 0x0B;</p><p><b>  }</b></p><p><b>  main()</b></p><p><b>  {</b>&

60、lt;/p><p>  Disdata = 0xff;</p><p>  discan = 0xff;</p><p>  for(h=0;h<4;h++)</p><p>  display[h] = 8;</p><p>  ow_reset();</p><p>  write_byt

61、e(0xCC);</p><p>  write_byte(0x44);</p><p>  for(h=0;h<250;h++)</p><p><b>  scan();</b></p><p><b>  while(1)</b></p><p><b>

62、;  {</b></p><p>  read_temp();</p><p>  work_temp();</p><p>  for(h=0;h<200;h++)</p><p><b>  scan();</b></p><p><b>  }</b>

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論