




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、江海職業(yè)技術(shù)學(xué)院 畢 業(yè) 設(shè) 計畢業(yè)設(shè)計題目: 基于單片機(jī)數(shù)字溫度計的設(shè)計 學(xué) 生 學(xué) 號: 107010232 學(xué) 生 姓 名: 所在系 (部): 機(jī)電工程系 專 業(yè) 及班級: 機(jī)電1002 指 導(dǎo) 教 師: 完 成 日 期: 基于單片機(jī)數(shù)字溫度計的設(shè)計摘要:本文綜述了數(shù)字溫度計的設(shè)計與制作過程,介紹了設(shè)計制作一個完整的數(shù)字溫度計需要做的準(zhǔn)備與制作過程,通過一段時間的努力制作,從剛開始透徹理解題目要求及所要設(shè)計的產(chǎn)品的各項(xiàng)性能功能,然后覺得利用單片機(jī)作為控制內(nèi)核,其次主要的就是溫度傳感器ds18b20,及其他重要部分電路的配合下設(shè)計出一套完整的硬件系統(tǒng),及它的靈魂軟件系統(tǒng)。得到了一種基于單片
2、機(jī)控制的數(shù)字溫度計。本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,該設(shè)計控制器使用單片機(jī)at89s51,測溫傳感器使用ds18b20,用4位共陽極led數(shù)碼管以串口傳送數(shù)據(jù),實(shí)現(xiàn)溫度顯示,能準(zhǔn)確達(dá)到以上要求。 關(guān)鍵詞:單片機(jī),數(shù)字控制,溫度計, ds18b20,at89s51目錄前言4第一章 系統(tǒng)方案設(shè)計51.1溫度測量系統(tǒng)功能描述51.2系統(tǒng)設(shè)計性能指標(biāo)51.3 ds18b20工作原理61.3.1性能特點(diǎn)61.3.2 外部結(jié)構(gòu)61.3.3 內(nèi)部結(jié)構(gòu)71.3.4 ds18b20測溫原理91.4 at89c51簡介101.5 顯示部分11
3、第二章 系統(tǒng)硬件電路設(shè)計152.1 ds18b20溫度傳感器的連接152.2 單片機(jī)端口連接15第三章 系統(tǒng)軟件設(shè)計173.1 主程序173.2 讀出溫度子程序183.3 溫度轉(zhuǎn)換命令子程序193.4 計算溫度子程序203.5 顯示數(shù)據(jù)刷新子程序20第四章 系統(tǒng)調(diào)試及仿真354.1 系統(tǒng)程序調(diào)試354.2 系統(tǒng)軟硬件仿真35第五章 總 結(jié)39參考文獻(xiàn)40 前言在一些溫度測量系統(tǒng)電路中,廣泛采用的是通過熱電偶、熱電阻或pn結(jié)測溫電路經(jīng)過相應(yīng)的信號調(diào)理電路,轉(zhuǎn)換成ad轉(zhuǎn)換器能接收的模擬量,再經(jīng)過采樣保持電路進(jìn)行ad轉(zhuǎn)換,最終送入單片機(jī)及其相應(yīng)的外圍電路,完成監(jiān)控。但是由于傳統(tǒng)的信號調(diào)理電路實(shí)現(xiàn)復(fù)雜
4、、易受干擾、不易控制且精度不高。本溫度測量儀采用單片機(jī)結(jié)合ds18b20智能溫度傳感器控制系統(tǒng)設(shè)計,因此,本系統(tǒng)用一種新型的可編程溫度傳感器(ds18b20),不需復(fù)雜的信號調(diào)理電路和ad轉(zhuǎn)換電路能直接與單片機(jī)完成數(shù)據(jù)采集和處理,實(shí)現(xiàn)方便、精度高,可根據(jù)不同需要用于各種場合。第一章 系統(tǒng)方案設(shè)計1.1溫度測量系統(tǒng)功能描述采用8051單片機(jī)和溫度傳感器ds18b20設(shè)計一種數(shù)字溫度計,測溫范圍為-55到128,由按鍵設(shè)定溫度報警上下限值th和tl,采用點(diǎn)陳字符液晶模塊作為數(shù)字溫度計的顯示部分,分兩行顯示,第一行顯示工作狀態(tài),正常時顯示“ds18b20 ok”,不正常時顯示“ds18b20 err
5、or”;第二行顯示實(shí)測溫度值和狀態(tài)符號,“h”表示實(shí)測溫度值大于溫度報警值th,“被減數(shù),則 jc chuli1 ;借位標(biāo)志位c=1,轉(zhuǎn) mova,tempfc cjnea,#0bh,comp sjmpchuli2comp: mov a,temp_zh subb a,temp_tl ;減數(shù)被減數(shù),則 jc chuli2 ;借位標(biāo)志位c=1,轉(zhuǎn) mov dptr,#bj5 lcall temp_bj3 clr relay ;點(diǎn)亮指示燈 ret chuli1: mov dptr,#bj3 lcall temp_bj3 setb relay ;熄滅指示燈 lcall beep_bl;蜂鳴器響 ret
6、 chuli2: mov dptr,#bj4 lcall temp_bj3 setb relay ;熄滅指示燈 lcall beep_bl;蜂鳴器響 ret;-temp_bj3: mov a,#0ceh lcall wcom mov r1,#0 mov r0,#2bbjj3: mov a,r1 movc a,a+dptr lcall wdata inc r1 djnz r0,bbjj3 retbj3: db hbj4: db lbj5: db !; ;* 顯示溫度標(biāo)記子程序 *temp_bj: mov a,#0cbh lcall wcom mov dptr,#bj1 ;指針指到顯示消息 mov
7、 r1,#0 mov r0,#2bbjj1: mov a,r1 movc a,a+dptr lcall wdata inc r1 djnz r0,bbjj1 retbj1: db 00h,c;* 顯示正確信息子程序 *menu_ok: mov dptr,#m_ok1 ;指針指到顯示消息 mov a,#1 ;顯示在第一行 lcall lcd_print mov dptr,#m_ok2 ;指針指到顯示消息 mov a,#2 ;顯示在第一行 lcall lcd_print retm_ok1: db ds18b20 ok ,0m_ok2: db temp: ,0;* 顯示出錯信息子程序 *menu_e
8、rror:mov dptr,#m_error1 ;指針指到顯示消息 mov a,#1 ;顯示在第一行 lcall lcd_print mov dptr,#m_error2 ;指針指到顯示消息1 mov a,#2 ;顯示在第一行 lcall lcd_print retm_error1: db ds18b20 error ,0m_error2: db temp: - ,0;*ds18b20復(fù)位子程序 *rst: setb dq nop clr dq mov r0,#6bh ;主機(jī)發(fā)出延時復(fù)位低脈沖 mov r1,#04htsr1: djnz r0,$ mov r0,#6bh djnz r1,tsr
9、1 setb dq ;拉高數(shù)據(jù)線 nop nop nop mov r0,#32htsr2: jnb dq,tsr3 ;等待ds18b20回應(yīng) djnz r0,tsr2 jmp tsr4 ; 延時tsr3: setb flag1 ; 置1標(biāo)志位,表示ds1820存在 jmp tsr5tsr4: clr flag1 ; 清0標(biāo)志位,表示ds1820不存在 jmp tsr7tsr5: mov r0,#06bhtsr6: djnz r0,$ ; 時序要求延時一段時間tsr7: setb dq ret;* ds18b20暫存器操作子程序 *re_18b20:jb flag1,re_18b20a retr
10、e_18b20a:lcall rst mov a,#0cch ;跳過rom匹配 lcall writewr_scrapd: mov a,#4eh ;寫暫器 lcall write mov a,temp_th ;th(報警上限) lcall write mov a,temp_tl ;tl(報警下限) lcall write mov a,#7fh ;12位精度 lcall write ret;* 復(fù)制暫存器子程序 *write_e2:lcall rst mov a,#0cch ;跳過rom匹配 lcall write mov a,#48h ;把暫存器里的溫度報警值拷貝到eerom lcall wr
11、ite ret;* 重讀eerom子程序 *read_e2:lcall rst mov a,#0cch ;跳過rom匹配 lcall write mov a,#0b8h ;把eerom里的溫度報警值拷貝回暫存器 lcall write ret;* 將自定義字符寫入lcd的cgram中 *store_data: mov a,#40h lcall wcom mov r2,#08h mov dptr,#d_data mov r3,#00hs_data: mov a,r3 movc a,a+dptr lcall wdata ;寫入數(shù)據(jù) inc r3 djnz r2,s_data retd_data:
12、db 0ch,12h,12h,0ch,00h,00h,00h,00h;* ds18b20數(shù)據(jù)寫入操作子程序 *write: mov r2,#8 ;一共8位數(shù)據(jù) clr cwr1: clr dq ;開始寫入ds18b20總線要處于復(fù)位(低)狀態(tài) mov r3,#07 djnz r3,$ ;總線復(fù)位保持16微妙以上 rrc a ;把一個字節(jié)data 分成8個bit環(huán)移給c mov dq,c ;寫入一位 mov r3,#3ch djnz r3,$ ;等待100微妙 setb dq ;重新釋放總線 nop djnz r2,wr1 ;寫入下一位 setb dq ret;* ds18b20數(shù)據(jù)讀取操作子程
13、序 *read: mov r4,#4 ;將溫度低位、高位、th、tl從ds18b20中讀出 mov r1,#templ ;存入25h、26h、27h、28h單元re00: mov r2,#8re01: clr cy setb dq nop nop clr dq ;讀前總線保持為低 nop nop nop setb dq ;開始讀總線釋放 mov r3,#09 ;延時18微妙 djnz r3,$ mov c,dq ;從ds18b20總線讀得一位 mov r3,#3ch djnz r3,$ ;等待100微妙 rrc a ;把讀得的位值環(huán)移給a djnz r2,re01 ;讀下一位 mov r1,a
14、 inc r1 djnz r4,re00 ret;* 溫度值 bcd 碼處理子程序 *convtemp: mov a,temph ;判溫度是否零下 anl a,#08h jz tempc1 ;溫度零上轉(zhuǎn) clr c mov a,templ ;二進(jìn)制數(shù)求補(bǔ)(雙字節(jié)) cpl a ;取反加1 add a,#01h mov templ,a mov a,temph cpl a addc a,#00h mov temph,a mov temphc,#0bh;負(fù)溫度標(biāo)志 mov tempfc,#0bh sjmp tempc11tempc1: mov temphc,#0ah ;正溫度標(biāo)志 mov tempfc,#0ahtempc11: mov a,temphc swap a mov temphc,a mov a,templ anl a,#0fh ;乘0.0625 mov dptr,#tempdottab movc a,a+dptr mov templc,a ;templc low=小數(shù)部分 bcd mov a,templ ;整數(shù)部分 anl a,#0f0h ;取出高四位 swap a mov templ,a mov a,temph ;取出低四位 anl a,#0fh swap a orl a,templ ;重新組合 mov temp_zh,a lcall hex2bcd1 mov
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國手工帽行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國塑料鎖口袋行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國充足自停充電機(jī)行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國雪茄煙刀片數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國鋼絲辮子碗刷數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國精小型電動調(diào)節(jié)閥數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國程控三相校表源數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國白麻花崗巖板材數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國煙絲數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國橙葉精油數(shù)據(jù)監(jiān)測研究報告
- DB31-T 329.17-2019 重點(diǎn)單位重要部位安全技術(shù)防范系統(tǒng)要求 第17部分:監(jiān)管場所
- 居家養(yǎng)老上門服務(wù)投標(biāo)文件
- 長沙市公安局交通警察支隊(duì)招聘普通雇員筆試真題2023
- 2024年學(xué)??蒲泄ぷ饔媱潱?篇)
- 民航客艙應(yīng)急設(shè)備
- 化工總控工培訓(xùn)
- 2025高考語文復(fù)習(xí)之60篇古詩文原文+翻譯+賞析+情景默寫
- 成長型思維課件
- 高中學(xué)生宿舍樓建設(shè)項(xiàng)目可行性研究報告
- 2024-2025學(xué)年物理人教版八年級上冊-6.4-密度的應(yīng)用-課件
- 山西電網(wǎng)新能源場站涉網(wǎng)試驗(yàn)流程使用說明書
評論
0/150
提交評論