數字溫度計方案設計書(單片機)_第1頁
數字溫度計方案設計書(單片機)_第2頁
數字溫度計方案設計書(單片機)_第3頁
數字溫度計方案設計書(單片機)_第4頁
數字溫度計方案設計書(單片機)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1設計目的 錯誤!未定義書簽。 2. 設計要求 錯誤!未定義書簽。 3. 總體設計方案 錯誤!未定義書簽。 3.1數字溫度計設計方案論證 錯誤!未定義書簽。 3.2方案一的總體設計框圖 錯誤!未定義書簽。 3.3 DS18B20溫度傳感器與單片機的接口電路 錯誤!未定義書簽。 3.4系統整體硬件電路 錯誤!未定義書簽。 3.5系統軟件算法分析 6 3.6讀出溫度子程序 6 3.7溫度轉換命令子程序 7 3.8計算溫度子程序 8 3.9顯示數據刷新子程序 9 4. 總結與體會 11 參考文獻 11 附錄 錯誤!未定義書簽。 3.1、元器件選擇 8 3.1 . 1、單片機選擇 8 3.1 . 2、

2、溫度傳感器選擇 8 3.2、溫度檢測電路 10 3.3、溫度報警電路 11 單片機課程設計目的: 單片機原理及接口技術是一門專業技術基礎課,是一門實踐性很強的課程,單片機課程設計要求將所 學的理論知識通過實踐加強理解和認識,提高學生們的單片機接口電路的設計能力和實踐動手能力。 單片機課程設計報告要求: 1 根據設計題目要求進行系統總體設計 2設計系統總體電路圖,闡述系統中各個單元電路的工作原理 3.系統的硬件設計、電路中元器件的選擇,參數確定 4系統的軟件設計、主程序流程圖和主要子程序流程圖 5給岀系統設計硬件元器件清單 6列岀參考資料 題目二數字溫度計設計 一、設計內容: 采用MCS-51系

3、列單片機進行數字溫度計設計并通過實驗儀驗證通過。 二、設計要求: 1 .設計單片機最小系統(電路包括復位、晶振電路、外擴3個2764共24KROM、3個6264共24KRAM 等) 2.設計鍵盤/顯示器接口電路。 3設計溫度測量接口電路 4通過軟件編程實現環境溫度的測量和顯示(溫度顯示:25.8 C) 5通過鍵盤可預置溫度報警值,實現溫度越限報警功能。 三、總體設計方案 3.1數字溫度計設計方案論證 3.1.1方案一 由于本設計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,進行A/D轉換后,就可以用單片 機進行數據的處理,在顯示電路上,就可以將被測溫度顯示岀來,這種設計需要用到A/D轉

4、換電路,感溫 電路比較麻煩。 3.1.2方案二 進而考慮到用溫度傳感器,在單片機電路設計中,大多都是使用傳感器,所以這是非常容易想到的,所以 可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉換,就可以滿足 設計要求。 所以采用方案二 整機電路分析 圖3.4設計方框 本系統采用單片機作為微控制器,分為四個模塊(如上圖2.3):測溫電路,數碼管顯示,報警電路, 復位電路。單片機I/O 口資源的利用:P1 口作為數碼管控制端輸入,P2 口作為測溫電路測量溫度值的輸 入,P0 口(已外接了上拉電阻)作為數碼管顯示輸出,P2.7接蜂鳴器,P2.4接溫度傳感器DS18

5、B20。采 用12MHZ晶振。電源采用5V為單片機,LED,蜂鳴器供電。主要技術指標:準確度達微秒級,以市電 220V50HZ為輸入電源,工作溫度-10C60C。該電路經過設計分析,繪圖,制板、焊接、仿真調試等工 作后溫度計成形。 第三章硬件設計電路 3.1元器件選擇 3.1 . 1單片機選擇 對于單片機的選擇,可以考慮使用8031與8052系列,由于8031沒有內部RAM,系統又需要大量內存 存儲數據,因而不適用。AT89S52是美國ATMEL公司生產的低功耗,高性能 CMOS8位單片機,片 內含4kbytes的可編程的Flash只讀程序存儲器,兼容標準8051指令系統及引腳。它集Flash

6、程序存 儲器既可在線編程(ISP),也可用傳統方法進行編程,所以低價位AT89S52單片機可為提供許多高性 價比的應用場合,可靈活應用于各種控制領域,對于簡單的測溫系統已經足夠。單片機AT89S52具有低 電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統的設計需要,很適合便攜手持式產 品的設計使用系統可用二節電池供電。 3.1.2溫度傳感器選擇 DALLAS最新單線數字溫度傳感器 DS18B20是一種新型的“一線器件”,其體積更小、更適用于多 種場合、且適用電壓更寬、更經濟。DALLAS 半導體公司的數字化溫度傳感器DS18B20是世界上第一片 支持“一線總線”接口的溫度傳感器。溫

7、度測量范圍為-55+125攝氏度,可編程為9位12位轉換精 度,測溫分辨率可達0.0625攝氏度,分辨率設定參數以及用戶設定的報警溫度存儲在EEPROM中,掉電 后依然保存。被測溫度用符號擴展的16位數字量方式串行輸出;其工作電源既可以在遠端引入,也可以 采用寄生電源方式產生;多個 DS18B20可以并聯到3根或2根線上,CPU只需一根端口線就能與諸多 DS18B20通信,占用微處理器的端口較少,可節省大量的引線和邏輯電路。因此用它來組成一個測溫系 統,具有線路簡單,在一根通信線,可以掛很多這樣的數字溫度計,十分方便。 DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮

8、發的溫度報警觸發器TH和 TL、配置寄存器。DS18B20的管腳排列、各種封裝形式,DQ為數據輸入/輸出引腳。開漏單總線接口引 腳。當被用著在寄生電源下,也可以向器件提供電源;GND為地信號;VDD為可選擇的VDD引腳。當工 作于寄生電源時,此引腳必須接地。、 3.2 溫度檢測電路 DS18B20最大的特點是單總線數據傳輸方式, DS18B20的數據I/O均由同一條線來完成。 DS18B20 的電源供電方式有2種:外部供電方式和寄生電源方式。工作于寄生電源方式時 ,VDD和GND均接地, 他在需要遠程溫度探測和空間受限的場合特別有用 ,原理是當1 W ire總線的信號線DQ為高電平時,竊 取信

9、號能量給DS18B20供電,同時一部分能量給內部電容充電,當DQ為低電平時釋放能量為 DS18B20 供電。但寄生電源方式需要強上拉電路,軟件控制變得復雜(特別是在完成溫度轉換和拷貝數據到 E2PR0M時),同時芯片的性能也有所降低。因此,在條件允許的場合,盡量采用外供電方式。無論是內 部寄生電源還是外部供電,I/O 口線要接5K Q左右的上拉電。在這里采用前者方式供電。DS18B20與芯片 連接電路如圖 3.2所示: DS18B20 =-VCC 圖3.2 DS18B20與單片機的連接 外部電源供電方式是 DS18B20最佳的工作方式,工作穩定可靠,抗干擾能力強,而且電路也比較簡 單,可以開發

10、出穩定可靠的多點溫度監控系統。在開發中使用外部電源供電方式,畢竟比寄生電源方式 只多接一根VCC引線。在外接電源方式下,可以充分發揮DS18B20寬電源電壓范圍的優點,即使電源電 壓VCC降到3V時,依然能夠保證溫度量精度。 由于DS18B20只有一根數據線,因此它和主機(單片機)通信是需要串行通信,而AT89S51有兩個 串行端口,所以可以不用軟件來模擬實現。經過單線接口訪問DC18B20必須遵循如下協議:初始化、 ROM操作命令、存儲器操作命令和控制操作。要使傳感器工作,一切處理均嚴格按照時序。 3.3 溫度報警電路 本設計的發揮部分,是加入了報警,如果我們所設計的系統是監控某一設備,一當

11、設備的溫度超過 我們所設定的溫度值時,系統會產生報警。 報警時由單片機產生一定頻率的脈沖,由P2.7引腳輸出,P2.7外接一只PNP的三極管來驅動楊 聲器發出聲音,以便操作員來維護,從而達到報警的目的。如下圖(g): 圖3.3溫度報警電路 (3)數據顯示模塊: 采用4位一體共陰LED顯示器。本課程設計中,顯示器型號選取SM420564在采用動態掃描方式時, 要使得LED顯示的比較均勻,又有足夠的亮度,需要設置適當的掃描頻率,根據課設任務所要求的功能確 定。顯示電路如下: 其中:AG管腳與P0 口的P1.0P1.6相連,確定顯示器被選中數據位的段碼; 2,3, 4管腳分別于P3 口的P3.4,P

12、3.5,P3.7相連,確定顯示器的位碼,分別對應于數據的百位, 十位和個位。 (4)硬件電路的安裝與調試 也是整個過程的最難階段。在整個過程中, 直到硬件連接完畢接上 5V電源時,第一個問 電路的安裝與調試是我們這次課程設計的主要任務之一, 開始的時候我和我們組的組員們都信心百倍,一切進展順利, 題擺在我們面前,顯示器示數存在卻不發生變化,甚至在外界溫度變化比較大時也一樣,開始我們懷疑是 硬件連線有問題,可是經過反復檢查,并不斷對照資料上各個元器件管腳圖及其相應功能,并沒發現連線 方面的錯誤。之后,有的組員懷疑是程序有問題,可是也有的組員提岀系統仿真并沒 有岀現類似問題,所以不應該是這樣。最后

13、經過討論,我們一致決定檢查程序。因為軟件為硬件服務,硬 件岀現了問題,也不能完全說程序一定正確??墒墙涍^重新確認,檢查程序漏洞,并沒有發現任何錯誤, 大家開始感覺有點煩了, 不過好在大家的信心并沒有喪失,我們開始查找資料而且向身邊的同學虛心求教, 最終我們把目標鎖定在溫度傳感器DS18B20器件和顯示器SM420564上,確認是兩者可能存在問題。后又分 開檢測兩者之一,經過軟件程序的單獨處理,我們得出最終結論,我們所領取的元器件 DS18B20是劣質品。 我們重新申請領取了一個 DS18B20用其替換了原來的那個,發現一切運行正常,經過測試各方面的性能, 而且反復檢查了幾遍,一致認定硬件電路的

14、性能完全符合我們的任務要求指標。直到這時,大家才松了一 口氣,每個人都很興奮,完全沒有了之前的煩悶。至此,裝調工作結束。 3.5系統軟件算法分析 系統程序主要包括主程序,讀岀溫度子程序,溫度轉換命令子程序,計算溫度子程序,顯示數據刷 新子程序等。 3.5.1主程序 主程序的主要功能是負責溫度的實時顯示、讀岀并處理DS18B20的測量的當前溫度值,溫度測量每 7所示。 1s進行一次。這樣可以在一秒之內測量一次被測溫度,其程序流程見圖 圖7主程序流程圖 3.6讀岀溫度子程序 讀出溫度子程序的主要功能是讀出RAM中的9字節,在讀出時需進行 CRC校驗,校驗有錯時不進行 溫度數據的改寫。其程序流程圖如

15、圖8示 圖8讀溫度流程圖 讀出溫度轉換的子程序: EMPER: SETB P2.0 ;定時入口 LCALL INIT_1820 JB 20H.1,TSS2 RET ;若DS18B20不存在則返回 TSS2: MOV A,#0CCH ; 跳過 ROM 匹配 LCALL WRITE_1820 MOV A,#44H ;發出溫度轉換命令 LCALL WRITE_1820 LCALL INIT_1820 MOV A,#0CCH ; 跳過 ROM 匹配 LCALL WRITE_1820 MOV A,#0BEH ;發出讀溫度命令 LCALL WRITE_1820 LCALL READ_18200 MOV 3

16、7H,A ;將讀出的溫度數據保存 RET 3.7溫度轉換命令子程序 溫度轉換命令子程序主要是發溫度轉換開始命令,當采用12位分辨率時轉換時間約為 750ms,在本程 序設計中采用1s顯示程序延時法等待轉換的完成。溫度轉換命令子程序流程圖如上圖,圖9所示 發DS18B20復位命令 圖9溫度轉換流程圖 溫度命令子程序: TEMPER_COV: MOV A,#0F0H ANL A,36H ;舍去溫度低位中小數點 SWAP A MOV 37H,A MOV A,36H JNB ACC.3,TEMPER_COV1 ; 四舍五入去溫度值 INC 37H TEMPER_COV1: MOV A,35H ANL

17、A,#07H SWAP A ADD A,37H MOV 37H,A ;保存變換后的溫度數據 LCALL BIN_BCD RET 3.8計算溫度子程序 其程序流程圖如圖10所示 圖10計算溫度流程圖 計算機溫度子程序: BIN_BCD: MOV 39H,37H MOV A,37H MOV B,#100 DIV AB MOV 38H,A MOV 37H,B XCH A,B MOV B,#10 DIV AB MOV 37H,A MOV 36H,B RET 3.9顯示數據刷新子程序 0時將符號 顯示數據刷新子程序主要是對顯示緩沖器中的顯示數據進行刷新操作,當最高顯示位為 溫度數據移入顯示寄存器 圖11

18、顯示數據刷新流程圖 顯示數據子程序: READ_18200: MOV R4,#2 ;將溫度高位和低位 DS18B20中讀 RE00:MOV R2,#8 RE01:CLR C SETB P2.0 NOP NOP CLR P2.0 NOP NOP NOP SETB P2.0 NOP NOP MOV C,P2.0 MOV R3,#35 RE20: DJNZ R3,RE20 RRC A DJNZ R2,RE01 MOV R1,A DEC R1 DJNZ R4,RE00 RET 4.總結與體會 經過將近三周的單片機課程設計,終于完成了我的數字溫度計的設計,雖然沒有完全達到設計要求, 但從心底里說,還是高興的,畢竟這次設計把實物都做了出來,高興之余不得不深思呀! ,感覺 在本次設計的過程中,我發現很多的問題,雖然以前還做過這樣的設計但這次設計真的讓我長 進了很多,單片機課程設計重點就在于軟件算法的設計,需要有很巧妙的程序算法,雖然以前寫過幾 次程序,但我覺的寫好一個程序并不是一件簡單的事,舉個例子,以前寫的那幾次,數據加減時,我 用的都是BCD碼,這一次,我全部用的都是16進制的數直接加減,顯示處理時在用除法去刪分 效果比較好,有好多

溫馨提示

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

評論

0/150

提交評論