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

下載本文檔

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

文檔簡介

1、<p>  課程設計說明書(論文)</p><p>  題 目 </p><p>  課 程 名 稱 </p><p>  專 業(yè) </p><p>  班 級

2、 </p><p>  學 生 姓 名 </p><p>  學 號 </p><p>  設 計 地 點 </p><p>  指 導 教 師

3、 </p><p>  設計起止時間: 年 月 日至 年 月 日</p><p><b>  目錄</b></p><p>  引言................................................................</p><p>

4、;  第一章、緒論........................................................</p><p>  1.1、緒論.........................................................</p><p>  1.2、整體設計......................................

5、...............</p><p>  第二章、仿真軟件介紹.................................................</p><p>  2.1、Proteus簡介..................................................</p><p>  第三章、DS18B20的相關

6、介紹……………………………………………</p><p>  DS18B20測溫濕系統(tǒng)設計............................</p><p>  3.1 DS18B20溫度傳感器.............................................</p><p>  3.1.1 DS18B20工作原理............

7、...............................</p><p>  3.1.2 DS18B20性能特點...........................................</p><p>  3.1.3 DS18B20引腳功能...........................................</p><p>  

8、3.1.4 DS18B20內部結構功能圖.....................................</p><p>  3.2 LCD1602液晶顯示器.............................................</p><p>  3.2.1 LCD1602液晶顯示器工作原理.................................&

9、lt;/p><p>  3.2.2 LCD1602主要技術參數(shù).......................................</p><p>  3.2.3 LCD1602引腳功能說明.......................................</p><p>  3.3 DS18B20測溫原理圖....................

10、.........................</p><p>  3.3.1 DS18B20在Altium Designer上測溫原理圖.....................</p><p>  3.3.2 DS18B20在Proteus上測溫原理圖.............................</p><p>  第四章、系統(tǒng)硬件和軟件總體設

11、計……………………………………</p><p>  4.1、 硬件電路設計框圖…………………………………………………………</p><p>  4.2、 系統(tǒng)軟件設計………………………………………………………………</p><p>  4.3、讀出溫度子程序…………………………………………………………</p><p>  4.4、溫

12、度轉換命令子程序……………………………………………………</p><p>  4.5、計算溫度子程序…………………………………………………………</p><p>  4.6、 顯示數(shù)據(jù)刷新子程序……………………………………………………</p><p>  第五章、源程序…………………………………………………………</p><p>  

13、第六章、課程設計小結…………………………………………………</p><p>  附錄:參考文獻…………………………………………………………</p><p><b>  引言</b></p><p>  在科學技術不斷發(fā)展的今天,溫度的檢測、控制應用于許多行業(yè),隨著電子工業(yè)的發(fā)展,數(shù)字儀表反應速度快、操作簡單,對使用環(huán)境要求不高的優(yōu)點,市場上逐漸

14、出現(xiàn)越來越多的數(shù)字式溫度計,實踐表明,整個低功耗高精度的便攜式數(shù)字式溫度計使用方便,工作穩(wěn)定,待機時間長,具有廣闊的應用前景,并開始得到廣泛應用。</p><p>  本論文介紹了智能集成溫度傳感器DS18B20的結構特征及控制方法,并對以此傳感器,AT89C51單片機為控制器和LCD1602(Liquid Crystal Display)為顯示器構成的便攜式數(shù)字溫度計的電路組成、工作原理及程序設計作了詳細的介紹

15、。</p><p>  本論文所介紹的數(shù)字式溫度計測量范圍為0~100℃,精度為 0.1℃,可以手動設置溫度上下報警值,當溫度超出所設報警值還將發(fā)出報警鳴叫聲,并顯示溫度值,該溫度計適用于人民的日常生活和工、農業(yè)生產領域。</p><p>  關鍵詞:DS18B20;AT89C51;LCD 1602;溫度計;數(shù)字式控制</p><p><b>  第一章、

16、緒論</b></p><p><b>  緒論</b></p><p>  十七世紀是溫度計誕生和發(fā)展的最初階段,這個物理儀器幾乎比任何其它儀器都得到更廣泛的應用。現(xiàn)代的歷史研究認為最早發(fā)明溫度計的科學家是伽利略,他于1592年發(fā)明了最早的氣體溫度計,最早的液體溫度計是荷蘭科學家華倫海特制造出來。</p><p>  隨著宇航、核能

17、、冶金、材料、低溫、微電子學和生物醫(yī)學等方面的發(fā)展,對溫度測量、控制的精度和范圍提出了越來越高的要求,尤其是對溫度的測量非但要準確,而且需讀取數(shù)值更直觀更方便,從而促進了溫度測量和控制技術的迅速發(fā)展。雖然水銀溫度計至今仍是各種溫度測量的計量標準??墒撬娜秉c是刻度間隔通常都很密, 不容易準確分辨, 讀數(shù)因難, 而且它們的熱容量還比較大, 達到熱平衡所需的時間較長, 因此很難讀準, 并且使用非常不方便,而且水銀有毒,玻璃管易碎。</

18、p><p>  后來出現(xiàn)代替水銀的有酒精溫度計和金屬簧片溫度計,它們雖然沒有毒性,但測量精度很低,只能作為一個概略指示。后來接著出現(xiàn)了熱電阻溫度計、熱電偶溫度計等。隨著大規(guī)模集成電路工藝的提高,又出現(xiàn)了多種集成的數(shù)字化溫度傳感器。隨著電子工業(yè)的發(fā)展,數(shù)字儀表反應速度快、操作簡單,對使用環(huán)境要求不高的優(yōu)點,市場上逐漸出現(xiàn)越來越多的數(shù)字式溫度計,另外,縱觀國際上現(xiàn)有的溫度計的變化,總的趨勢是從模擬向數(shù)字轉變,相應的體積也

19、在不斷減小,并且一切向著數(shù)字化控制,智能化控制方向發(fā)展。 </p><p><b>  整體設計</b></p><p>  單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,廣泛應用于儀器儀表中,結合不同類型的傳感器,可實現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表

20、數(shù)字化、智能化、微型化,且功能比采用電子或數(shù)字電路更加強大。</p><p>  基于單片機的溫濕度控制儀的設計,本設計實現(xiàn)的是單片機溫濕度測量與控制系統(tǒng),通過LCD或LED顯示所測量的溫濕度,是基于單片機對數(shù)字信號的高敏感和可控性、溫濕度傳感器可以產生模擬信號,和A/D模擬數(shù)字轉換芯片的性能,我設計了以單片機為核心的一套檢測系統(tǒng),其中包括單片機、復位電路、溫度檢測、濕度檢測、與PC機通信、系統(tǒng)軟件等部分的設計。

21、從總體上設計了兩種方案來實現(xiàn)溫濕度雙參數(shù)測試設計。</p><p>  采用將溫度和濕度分開測量,其中溫度傳感器選用DALASS公司的數(shù)字溫度傳感器DS18B20,可以與單片機直接相連。濕度傳感器選用HS1101電容式濕度傳感器,濕度的變化可以轉化為頻率的變化,濕度越高,頻率越小,外加一個555定時器便可以將電容的變化轉變?yōu)轭l率的變化,產生一定頻率的方波,直接與單片機的定時器1相連,便可以測出方波的頻率,進而便可

22、以得到濕度值。由于DS18B20采用單總線方式,在進行多點測量的時候將非常易于擴展,不需要添加任何器件,將所有傳感器直接與單片機IO口連接即可。采用液晶顯示器LCD1602顯示所測溫度和濕度。</p><p>  第二章、仿真軟件介紹</p><p>  2.1、Proteus簡介</p><p>  Proteus軟件是來自英國Labcenter electron

23、ics公司的EDA工具軟件,Proteus軟件有十多年的歷史,在全球廣泛使用,除了其具有和其它EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動的,針對微處理器的應用,還可以直接在基于原理圖的虛擬原型上編程,并實現(xiàn)軟件源碼級的實時調試,如有顯示及輸出,還能看到運行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等。</p><p>  Proteus

24、組合了高級原理布圖、混合模式SPICE仿真,PCB設計以及自動布線來實現(xiàn)一個完整的電子設計系統(tǒng)。此系統(tǒng)受益于15年來的持續(xù)開發(fā),被《電子世界》在其對PCB設計系統(tǒng)的比較文章中評為最好產品—“The Route to PCB CAD”。Proteus 產品系列也包含了革命性的VSM技術,用戶可以對基于微控制器的設計連同所有的周圍電子器件一起仿真。用戶甚至可以實時采用諸如LED/LCD、鍵盤、RS232終端等動態(tài)外設模型來對設計進行交互仿真

25、。</p><p>  其功能模塊:—個易用而又功能強大的ISIS原理布圖工具;PROSPICE混合模型SPICE仿真; ARES PCB設計。 </p><p>  PROSPICE 仿真器的一個擴展PROTEUS VSM:便于包括所有相關的器件的基于微處理器設計的協(xié)同仿真。此外,還可以結合微控制器軟件使用動態(tài)的鍵盤,開關,按鈕,LEDs甚至LCD顯示CPU模型。 </p>

26、<p>  第三章、DS18B20的相關介紹</p><p>  DS18B20測溫系統(tǒng)設計</p><p>  采用將溫度和濕度分開測量,其中溫度傳感器選用DALASS公司的數(shù)字溫度傳感器DS18B20,可以與單片機直接相連。濕度傳感器選用HS1101電容式濕度傳感器,濕度的變化可以轉化為頻率的變化,濕度越高,頻率越小,外加一個555定時器便可以將電容的變化轉變?yōu)轭l率的變化,

27、產生一定頻率的方波,直接與單片機的定時器1相連,便可以測出方波的頻率,進而便可以得到濕度值。由于DS18B20采用單總線方式,在進行多點測量的時候將非常易于擴展,不需要添加任何器件,將所有傳感器直接與單片機IO口連接即可。采用液晶顯示器LCD1602顯示所測溫度和濕度。</p><p>  3.1 DS18B20溫度傳感器</p><p>  DS18B20工作原理</p>

28、<p>  DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉換時的延時時間由2s減為750ms。 DS18B20測溫原理中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預置在-55℃所對應的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產生的脈沖信號

29、進行減法計數(shù),當計數(shù)器1的預置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。 </p><p>  DS18B20性能特點 </p><p>  DS18B20的性能特點:①采用單總線專用技術,既可通過串行口線,也可通

30、過其它I/O口線與微機接口,無須經過其它變換電路,直接輸出被測溫度值(9位二進制數(shù),含符號位),②測溫范圍為-55℃-+125℃,測量分辨率為0.0625℃,③內含64位經過激光修正的只讀存儲器ROM,④適配各種單片機或系統(tǒng)機,⑤用戶可分別設定各路溫度的上、下限,⑥內含寄生電源。</p><p>  DS18B20引腳功能</p><p>  表1:DS18B20引腳接口說明表</p

31、><p>  3.1.4 DS18B20內部結構功能圖</p><p>  圖1 DS18B20內部結構功能圖</p><p>  3.2 LCD1602液晶顯示器</p><p>  液晶顯示模塊已作為很多電子產品的通過器件,如在計算器、萬用表、電子表及很多家用電子產品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。在單片機的人機交

32、流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED數(shù)碼管、液晶顯示器。發(fā)光管和LED數(shù)碼管比較常用,軟硬件都比較簡單,本次設計中重點介紹字符型液晶顯示器的應用。</p><p>  LCD1602液晶顯示器工作原理</p><p>  液晶顯示原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅動、易于

33、實現(xiàn)全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數(shù)字攝像機、PDA移動通信工具等眾多領域。在單片機系統(tǒng)中應用晶液顯示器作為輸出器件有以下幾個優(yōu)點:</p><p>  1、顯示質量高:由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質高且不會閃爍。</p><p>  2、數(shù)字式接口:液晶

34、顯示器都是數(shù)字式的,和單片機系統(tǒng)的接口更加簡單可靠,操作更加方便。</p><p>  3、體積小、重量輕:液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。</p><p>  4、功耗低:相對而言,液晶顯示器的功耗主要消耗在其內部的電極和驅動IC上,因而耗電量比其它顯示器要少得多。</p><p>  LC

35、D1602主要技術參數(shù):</p><p>  顯示容量:16×2個字符</p><p>  芯片工作電壓:4.5—5.5V</p><p>  工作電流:2.0mA(5.0V)</p><p>  模塊最佳工作電壓:5.0V</p><p>  字符尺寸:2.95×4.35(W×H)mm&

36、lt;/p><p>  LCD1602引腳功能說明</p><p>  LCD1602采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表2所示:</p><p>  表2:LCD1602引腳接口說明表</p><p>  3.3 DS18B20測溫度原理圖</p><p>  DS18B20在Altium

37、 Designer上測溫原理圖</p><p>  圖2 DS18B20在Altium Designer上測溫原理圖</p><p>  DS18B20在proteus上測溫原理圖</p><p>  圖3 DS18B20在proteus上測溫原理圖</p><p>  3.4、DS18B20特點和溫度計設計</p><

38、p>  采用將溫度和濕度分開測量,基于單片機AT89C51的溫濕度檢測和控制系統(tǒng),主要以廣泛應用的DS18B20數(shù)字溫度傳感器和HS1101濕度傳感器作為溫度和濕度的檢測,該儀器具有測量精度高、硬件電路簡單、并能很好的進行顯示,可測試不同環(huán)境溫濕度的特點。另外和控制電路相連,可以進行加濕電路和除濕電路的控制,使溫度和濕度參數(shù)在預先設定的范圍內,不需要人的直接參與。</p><p>  由于本設計是測溫電路,

39、可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,經放大電路后,送入A/D 轉換器進行A/D轉換,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設計需要用到A/D轉換電路,感溫電路比較麻煩。其基本框圖如圖3-1所示。</p><p>  第四章、系統(tǒng)硬件和軟件總體設計</p><p>  4.1、硬件電路設計框圖</p>

40、;<p>  主程序的主要功能是負責溫度的實時顯示、檢測鳴警信號和按鍵信號,主程序流程圖如下:</p><p>  圖5-1 主程序流程圖讀出溫度子程序</p><p>  讀出溫度子程序的主要功能是讀出RAM中的字節(jié),其程序流程圖如圖5-2示</p><p>  圖5-2 讀溫度流程圖</p><p><b>  溫

41、度轉換命令子程序</b></p><p>  溫度轉換命令子程序主要是發(fā)溫度轉換開始命令,當采用12位分辨率時轉換時間約為750ms,在本程序設計中采用1s顯示程序延時法等待轉換的完成。溫度轉換命令子程序流程圖如上圖,圖5-3所示</p><p>  圖5-3 溫度轉換流程圖</p><p><b>  計算溫度子程序</b><

42、;/p><p>  計算溫度子程序將RAM中讀取值進行BCD碼的轉換運算,其程序流程圖如圖5-4所示</p><p>  圖5-4 計算溫度流程圖</p><p><b>  顯示數(shù)據(jù)刷新子程序</b></p><p>  顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進行刷新操作,當最高顯示位為0時將符號顯示位移入下一位

43、。程序流程圖如圖5-5所示。</p><p>  圖5-5 顯示數(shù)據(jù)刷新流程圖</p><p><b>  第五章、源程序</b></p><p>  #include<reg51.h></p><p>  #define uchar unsigned char</p><p>  #

44、define uint unsigned int</p><p>  sbit DQ=P3^7;//ds18b20與單片機連接口</p><p>  sbit RS=P2^5;</p><p>  sbit RW=P2^6;</p><p>  sbit EN=P2^7;</p><p>  sbit BEEP=P1^

45、0;</p><p>  uchar code str1[]={"Temperature: "};</p><p>  uchar data disdata[5];</p><p>  uint tvalue;//溫度值</p><p>  uchar tflag;//溫度正負標志</p><p>

46、  /*************************lcd1602程序**************************/</p><p>  void delay1ms(uchar ms)//延時1毫秒(不夠精確的)</p><p><b>  {</b></p><p><b>  uchar i;</b><

47、;/p><p><b>  uchar j;</b></p><p>  for(i=0;i<ms;i++)</p><p>  for(j=0;j<100;j++);</p><p><b>  }</b></p><p>  void beep1()</p&

48、gt;<p><b>  {</b></p><p>  unsigned char y ;</p><p>  for (y=0 ;y<100 ;y++)</p><p><b>  {</b></p><p>  delay1ms(10) ;</p><p

49、>  BEEP=!BEEP ; //BEEP取反</p><p><b>  } </b></p><p>  BEEP=1 ; //關閉蜂鳴器</p><p>  delay1ms(1) ;</p><p><b>  }</

50、b></p><p>  void wr_com(uchar com)//寫指令//</p><p><b>  { </b></p><p>  delay1ms(1);</p><p><b>  RS=0;</b></p><p><b>  RW=0;

51、</b></p><p><b>  EN=0;</b></p><p><b>  P0=com;</b></p><p>  delay1ms(1);</p><p><b>  EN=1;</b></p><p>  delay1ms(

52、1);</p><p><b>  EN=0;</b></p><p><b>  } </b></p><p>  void wr_dat(uchar dat)//寫數(shù)據(jù)//</p><p><b>  { </b></p><p>  delay1m

53、s(1);</p><p><b>  RS=1;</b></p><p><b>  RW=0;</b></p><p><b>  EN=0;</b></p><p><b>  P0=dat;</b></p><p>  de

54、lay1ms(1);</p><p><b>  EN=1;</b></p><p>  delay1ms(1);</p><p><b>  EN=0;</b></p><p><b>  }</b></p><p>  void lcd_init()

55、//初始化設置//</p><p><b>  {</b></p><p>  delay1ms(15);</p><p>  wr_com(0x38);</p><p>  delay1ms(5);</p><p>  wr_com(0x08);</p><p>  de

56、lay1ms(5);</p><p>  wr_com(0x01);</p><p>  delay1ms(5);</p><p>  wr_com(0x06);</p><p>  delay1ms(5);</p><p>  wr_com(0x0c);</p><p>  delay1ms(

57、5);</p><p><b>  }</b></p><p>  void display(uchar *p)//顯示//</p><p><b>  {</b></p><p>  while(*p!='\0')</p><p><b>  {&

58、lt;/b></p><p>  wr_dat(*p);</p><p><b>  p++;</b></p><p>  delay1ms(1);</p><p><b>  }</b></p><p><b>  }</b></p>

59、<p>  void init_play()//初始化顯示</p><p><b>  { </b></p><p>  lcd_init();</p><p>  wr_com(0x80);</p><p>  display(str1);</p><p><b>  }

60、</b></p><p>  void delay_18B20(uint i)//延時1微秒</p><p><b>  { </b></p><p>  while(i--);</p><p><b>  }</b></p><p>  void ds1820r

61、st()/*ds1820復位*/</p><p><b>  { </b></p><p>  uchar x=0;</p><p>  DQ = 1;//DQ復位</p><p>  delay_18B20(4); //延時</p><p>  DQ = 0;//DQ拉低</p>

62、<p>  delay_18B20(100); //精確延時大于480us</p><p>  DQ = 1;//拉高</p><p>  delay_18B20(40); </p><p><b>  }</b></p><p>  /*************************************

63、***************</p><p><b>  18b20讀數(shù)據(jù)</b></p><p>  *****************************************************/ </p><p>  uchar ds1820rd()/*讀數(shù)據(jù)*/</p><p><

64、b>  { </b></p><p>  uchar i = 0;</p><p>  uchar dat = 0;</p><p>  for (i=8 ; i>0 ; i--)</p><p><b>  {</b></p><p>  DQ = 0; //給脈沖信號&

65、lt;/p><p><b>  dat>>=1; </b></p><p>  DQ = 1; //給脈沖信號</p><p><b>  if(DQ)</b></p><p>  dat|=0x80;</p><p>  delay_18B20(10);</p

66、><p><b>  }</b></p><p>  return(dat);</p><p><b>  }</b></p><p>  /**************************************************</p><p><b> 

67、 18b20寫數(shù)據(jù)</b></p><p>  **************************************************/</p><p>  void ds1820wr(uchar wdata)/*寫數(shù)據(jù)*/</p><p><b>  {</b></p><p>  uchar

68、 i = 0;</p><p>  for (i=8; i>0; i--)</p><p><b>  {</b></p><p><b>  DQ = 0;</b></p><p>  DQ = wdata&0x01;</p><p>  delay_18B2

69、0(10); </p><p><b>  DQ = 1;</b></p><p>  wdata>>=1;</p><p><b>  }</b></p><p><b>  }</b></p><p>  /***************

70、**************************************</p><p><b>  讀溫度并轉換</b></p><p>  uint read_temp()/*讀取溫度值并轉換*/</p><p><b>  {</b></p><p>  uchar a,b;</p&

71、gt;<p>  ds1820rst();</p><p>  ds1820wr(0xcc);//*跳過讀序列號*/</p><p>  ds1820wr(0x44);//*啟動溫度轉換*/</p><p>  ds1820rst();</p><p>  ds1820wr(0xcc);//*跳過讀序列號*/</p>

72、<p>  ds1820wr(0xbe);//*讀取溫度*/ </p><p>  a=ds1820rd();</p><p>  b=ds1820rd();</p><p><b>  tvalue=b;</b></p><p>  tvalue<<=8;</p><p&g

73、t;  tvalue=tvalue|a;</p><p>  if(tvalue<0x0fff)</p><p><b>  tflag=0;</b></p><p><b>  else </b></p><p><b>  {</b></p><p

74、>  tvalue=~tvalue+1;</p><p><b>  tflag=1;</b></p><p><b>  }</b></p><p>  tvalue=tvalue*(0.625);//溫度值擴大10倍,精確到1位小數(shù)</p><p>  return(tvalue);<

75、;/p><p><b>  }</b></p><p>  /*******************************************************************</p><p><b>  顯示溫度</b></p><p>  ********************

76、************************************************/ </p><p>  void ds1820disp()//溫度值顯示</p><p><b>  { </b></p><p>  uchar flagdat; </p><p>  disdata[0]=tvalue/

77、1000+0x30; //百位數(shù)</p><p>  disdata[1]=tvalue%1000/100+0x30;//十位數(shù) </p><p>  disdata[2]=tvalue%100/10+0x30;//個位數(shù)</p><p>  disdata[3]=tvalue%10+0x30;//小數(shù)位</p><p>  if(tflag

78、==0) </p><p>  flagdat=0x20;//正溫度不顯示符號</p><p><b>  else</b></p><p>  flagdat=0x2d;//負溫度顯示負號:-</p><p>  if(disdata[0]==0x30)</p><p><b>  {

79、</b></p><p>  disdata[0]=0x20;//如果百位為0,不顯示</p><p>  if(disdata[1]==0x30)</p><p><b>  {</b></p><p>  disdata[1]=0x20;//如果百位為0,十位為0也不顯示 </p><

80、p><b>  }</b></p><p><b>  }</b></p><p>  wr_com(0xc0); </p><p>  wr_dat(flagdat);//顯示符號位</p><p>  wr_com(0xc1);</p><p>  wr_dat(d

81、isdata[0]);//顯示百位</p><p>  wr_com(0xc2);</p><p>  wr_dat(disdata[1]);//顯示十位</p><p>  wr_com(0xc3);</p><p>  wr_dat(disdata[2]);//顯示個位 </p><p>  wr_com(0xc4

82、);</p><p>  wr_dat(0x2e);//顯示小數(shù)點 </p><p>  wr_com(0xc5);</p><p>  wr_dat(disdata[3]);//顯示小數(shù)位</p><p>  wr_com(0xc6);</p><p>  wr_dat(0xDF);</p><p

83、>  wr_com(0xc7);</p><p>  wr_dat(0x43);</p><p>  wr_com(0xc9);</p><p>  wr_dat(0x39);</p><p>  wr_com(0xca);</p><p>  wr_dat(0x32); </p><p>

84、;  wr_com(0xcb);</p><p>  wr_dat(0x33); </p><p>  wr_com(0xcc);</p><p>  wr_dat(0x32);</p><p>  wr_com(0xcd);</p><p>  wr_dat(0x33);</p><p>&l

85、t;b>  }</b></p><p>  void warn(void)</p><p><b>  {</b></p><p>  if(disdata[1]>=0x33||disdata[1]<=0x31)</p><p><b>  {</b></p>

86、;<p><b>  beep1(); </b></p><p><b>  }</b></p><p><b>  else;</b></p><p><b>  }</b></p><p>  /********************

87、主程序***********************************/</p><p>  void main()</p><p><b>  { </b></p><p>  init_play();//初始化顯示</p><p><b>  while(1)</b></p>

88、<p><b>  {</b></p><p>  read_temp();//讀取溫度 </p><p>  ds1820disp();//顯示</p><p><b>  warn();</b></p><p><b>  }</b></p>&l

89、t;p><b>  }</b></p><p>  第六章、課程設計小結</p><p>  這次的課程設計我們做的是數(shù)字式環(huán)境溫度測試儀,這是一個比較簡單的單片機應用設計,就是對于溫度傳感器的簡單應用與程序設計,通過這次課程設計,我學到了很多。雖然在硬件方面,只是硬件仿真,沒有動手焊接和畫電路圖,但是卻提高了在編程方面的能力,增強經驗。也讓我明白,即使程序寫的

90、沒錯誤,但是在實際應用中還是會出現(xiàn)各種問題,這次的課程設計讓我加強了我在調試時的排錯能力。雖然到現(xiàn)在為止,有些東西我還是不懂和不理解,但我學會了面對問題,自己盡量解決,先分析,然后解決,一條道通不過然后嘗試著其它的方法,最終把問題克服掉??傊?,只有把理論與實際操作結合才能做好事情。</p><p>  這次的課程設計給了我一個很好的基礎學習能力的培養(yǎng),和一些編寫程序的基本操作,雖然我是在人家原有的程序上做了修改,

91、但是還是有所學習,最后感謝老師的指導和關注。</p><p><b>  參考文獻</b></p><p>  閻石.數(shù)字電子技術基礎.高等教育出版社,1998;</p><p>  王遠.模擬電子技術.機械工業(yè)出版社,2001;</p><p>  陳汝全.電子技術常用器件應用手冊.機械工業(yè)出版社,2003;</

92、p><p>  畢滿清.電子技術實驗與課程設計.機械工業(yè)出版社,2006;</p><p>  張俊謨.單片機中級教程原理與應用.北京航空航天大學出版社,2002;</p><p>  周潤景,張麗敏.基于PROTEUS的電路及單片機系統(tǒng)設計與仿真.北京航空航天大學出版社,2006;</p><p>  李朝青.單片機原理及接口技術.北京航空航天

93、大學出版社.2009;</p><p>  王忠民.微型計算機原理.西安電子科技大學出版社.2008;</p><p>  李建民.單片機在溫度控制系統(tǒng)中的應用.江漢大學學報.1996;</p><p>  周潤景,張麗敏.Altium Designer原理圖和PCB設計.電子工業(yè)出版社.2009;</p><p>  李靜,程安宇.51單片

94、機C語言程序設計.人民郵電出版社.2010;</p><p>  薛小鈴,劉志群.賈俊榮.單片機接口模塊應用與開發(fā)實例詳解.北京航空航天大學出版社.2010;</p><p>  劉篤仁,韓保君.傳感器原理及應用技術.機械工業(yè)出版社.2003;</p><p>  何利民.MCS-51系列單片機應用系統(tǒng)設計系統(tǒng)配置與接口技術[M].北京:北京航空航天大學出版社.20

溫馨提示

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

評論

0/150

提交評論