溫度傳感顯示器_第1頁(yè)
溫度傳感顯示器_第2頁(yè)
溫度傳感顯示器_第3頁(yè)
溫度傳感顯示器_第4頁(yè)
溫度傳感顯示器_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

關(guān)于溫度傳感顯示器溫度傳感顯示器項(xiàng)目概述本課程設(shè)計(jì)項(xiàng)目通過(guò)51單片機(jī)技術(shù)為支撐,應(yīng)用單片機(jī)硬件與匯編語(yǔ)言編程技術(shù)完成溫度傳感顯示器的項(xiàng)目實(shí)現(xiàn)工作,在51單片機(jī)外部接上一個(gè)溫度傳感器,通過(guò)傳感功能,使得外部的溫度信號(hào)轉(zhuǎn)化成電信號(hào),通過(guò)以LED數(shù)碼顯示管的形式顯示溫度。第2頁(yè),共25頁(yè),2024年2月25日,星期天溫度傳感顯示器項(xiàng)目流程1.選定溫度傳感器項(xiàng)目課題項(xiàng)目實(shí)現(xiàn)目的:本項(xiàng)目用途廣泛實(shí)用,與日常生活息息相關(guān)密切.項(xiàng)目實(shí)現(xiàn)資本不高.2.實(shí)現(xiàn)項(xiàng)目思路方案通過(guò)網(wǎng)絡(luò),書(shū)本途徑查找溫度傳感器,51單片機(jī),LED數(shù)碼顯示管相關(guān)資料,由溫度傳感器,單片機(jī)控制實(shí)現(xiàn)LED數(shù)碼顯示管顯示溫度并實(shí)現(xiàn)報(bào)警模擬情況.第3頁(yè),共25頁(yè),2024年2月25日,星期天3.制作本項(xiàng)目原理圖和焊接硬件工作確定落實(shí)項(xiàng)目所需元器件,主要元器件包括:89C51單片機(jī),溫度傳感器,LED數(shù)碼管等.

使用protel99SE制作項(xiàng)目原理圖硬件版面布局,元器件排放.焊接工作開(kāi)始.項(xiàng)目程序調(diào)試確認(rèn)無(wú)誤,程序錄入芯片.整體項(xiàng)目實(shí)現(xiàn)效果調(diào)試.制作課程項(xiàng)目設(shè)計(jì)報(bào)告,PPT等.第4頁(yè),共25頁(yè),2024年2月25日,星期天第5頁(yè),共25頁(yè),2024年2月25日,星期天

(a)外觀圖(b)側(cè)面圖(c)頂視圖圖DS18B20芯片表DS18B20詳細(xì)引腳功能描述序號(hào)名稱(chēng)引腳功能描述1GND地信號(hào)2DQ數(shù)據(jù)輸入/輸出引腳。開(kāi)漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。第6頁(yè),共25頁(yè),2024年2月25日,星期天從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫(xiě),那么,我們就用單片機(jī)的P1.4口接DS18B20溫度傳感器的單線總線2腳,DS18B20溫度傳感器與單片機(jī)的接口如圖所示.8051

P1.4

第7頁(yè),共25頁(yè),2024年2月25日,星期天

由于DS18B20是在一根I/O線上讀寫(xiě)數(shù)據(jù),而對(duì)AT89C51單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。因此,對(duì)讀寫(xiě)的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫(xiě)時(shí)序。根據(jù)DS18B20的初始化時(shí)序、寫(xiě)時(shí)序和讀時(shí)序,分別編寫(xiě)3個(gè)子程序:INIT_1820為初始化子程序,WRITE_1820為寫(xiě)(命令或數(shù)據(jù))子程序,READ_1820為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫(xiě)均由最低位開(kāi)始。第8頁(yè),共25頁(yè),2024年2月25日,星期天1初始化時(shí)序首先,每一次讀寫(xiě)之前都要對(duì)DS18B20進(jìn)行復(fù)位,我們先來(lái)看看初始化時(shí)序,DS18B20溫度傳感器初始化時(shí)序如圖所示。DS18B20主動(dòng)15~60uS單片機(jī)主動(dòng)480uS<T<960uS單片機(jī)檢測(cè),當(dāng)檢測(cè)到為低電平時(shí)復(fù)位成功,并說(shuō)明器件存在,當(dāng)檢測(cè)到依然為高電平時(shí),說(shuō)明復(fù)位不成功,可從A處再次復(fù)位,當(dāng)多次復(fù)位不成功可能器件不存在或故障。A單片機(jī)主動(dòng)單片機(jī)主動(dòng)釋放并等待480uS后再作其它操作總線控制器將數(shù)據(jù)線下拉480—960US然后釋放,DS18B20溫度傳感器收到信號(hào)后等待15—60US左右后發(fā)出60—240US的存在低脈沖,總線控制器收到此信號(hào)表示復(fù)位成功。特別注意的是DS18B20溫度傳感器收到信號(hào)后等待15—60US左右后發(fā)出60—240US的存在低脈沖,單片機(jī)對(duì)P1.0進(jìn)行檢測(cè),當(dāng)檢測(cè)到為低電平時(shí)表示復(fù)位成功,并說(shuō)明器件存在,當(dāng)檢測(cè)到依然為高電平時(shí),說(shuō)明復(fù)位不成功,可從A處再次復(fù)位,當(dāng)多次復(fù)位不成功可能器件不存在或故障。

480uS<T<960uS第9頁(yè),共25頁(yè),2024年2月25日,星期天INIT_1820:SETBp1.4NOPNOPCLRP1.4;將數(shù)據(jù)線下拉500USACALLYS500;500US延時(shí)子程序

SETBP1.4;釋放數(shù)據(jù)線

ORLP1,#10H;P1轉(zhuǎn)為輸入

ACALLDELAY1;DS18B20收到信號(hào)后等待50USJNBP1.4,TSR3;判斷DS18B20是否存在

AJMPTSR4TSR3:SETBFLAG1;置標(biāo)志位,表示DS18B20存在

AJMPTSR5TSR4:CLRFLAG1清標(biāo)志位,表示DS18B20不存在

AJMPTSR7TSR5:MOVR0,#6BH;單片機(jī)等待200US后再作其它操作

TSR6:DJNZR0,TSR6TSR7:SETBp1.4RETDELAY1:MOVR7,#18H;50US延時(shí)子程序

DJNZR7,$RET第10頁(yè),共25頁(yè),2024年2月25日,星期天2寫(xiě)時(shí)序我們已經(jīng)完成了初始化時(shí)序,不難,對(duì)吧?那現(xiàn)在我們來(lái)做一下寫(xiě)操作。DS18B20溫度傳感器寫(xiě)時(shí)序如圖所示。>1uS寫(xiě)“1”15uS15uS單片機(jī)主動(dòng)60uS<T<120uS寫(xiě)“0”60uS<T<120uSDS18B20在檢測(cè)到下降沿15uS后采樣DS18B20在檢測(cè)到下降沿15uS后采樣寫(xiě)下一位的啟動(dòng)脈沖寫(xiě)時(shí)序是從總線控制器將DS18B20溫度傳感器的總線拉低時(shí)開(kāi)始,有寫(xiě)1和寫(xiě)0兩種類(lèi)型,它們都必須持續(xù)最少60US且每個(gè)寫(xiě)時(shí)序之間必須至少有1US的恢復(fù)時(shí)間,DS18B20溫度傳感器在總線被拉低后的15—60US的時(shí)間窗口內(nèi)采樣,總線在此時(shí)間內(nèi)如果總線為高則寫(xiě)1時(shí)序,如果為低則寫(xiě)0時(shí)序。將總線拉低后,在整個(gè)寫(xiě)0時(shí)序內(nèi)部都必須維持總線為低電平(至少60US);當(dāng)向總線寫(xiě)1時(shí)將總線拉低后總線控制器必須在15US內(nèi)釋放總線并將總線拉高。

第11頁(yè),共25頁(yè),2024年2月25日,星期天WRITE_1820:MOVR2,#8;8位數(shù)據(jù)

CLRCWRITE1:CLRp1.4;DS18B20溫度傳感器的總線拉低

MOVR3,#7;延時(shí)15USDJNZR3,$RRCA;寫(xiě)入一位數(shù)據(jù)

MOVp1.4,CMOVR3,#24;延時(shí)50USDJNZR3,$SETBp1.4NOPDJNZR2,WRITE1;8位數(shù)據(jù)送完,結(jié)束

SETBp1.4RET第12頁(yè),共25頁(yè),2024年2月25日,星期天3讀時(shí)序

單片機(jī)主動(dòng)>1uS1uS>>1uS>1uS15uS釋放啟動(dòng)脈沖15uS釋放啟動(dòng)脈沖單片機(jī)主動(dòng)T<60uSDS18B20主動(dòng)單片機(jī)采樣第一位DS18B20主動(dòng)單片機(jī)采樣第二位T<60uS當(dāng)準(zhǔn)備從DS18B20溫度傳感器讀取數(shù)據(jù)時(shí),總線控制應(yīng)先發(fā)出讀時(shí)序,讀時(shí)序從總線被拉低至少1US以后開(kāi)始,從DS18B20輸出的數(shù)據(jù)在啟動(dòng)讀時(shí)序的下降沿后15US內(nèi)有效,因此CPU必須在讀時(shí)序開(kāi)始的15US內(nèi)釋放總線,將總線控制權(quán)交給DS18B20并采樣總線狀態(tài),讀時(shí)序結(jié)束時(shí)DS18B20釋放總線,交出總線控制權(quán),總線被外拉上拉電阻拉回高電平空閑狀態(tài),所有讀時(shí)序必須維持至少60US,每個(gè)時(shí)序之間至少有1US的恢復(fù)時(shí)間。第13頁(yè),共25頁(yè),2024年2月25日,星期天READ_1820:ORLP1,#10HMOVR4,#2;將溫度高位和低位從DS18B20中讀出MOVR1,#35H;低位存入35H單元,高位存入36H單元READ0:MOVR2,#8MOVA,#00HREAD1:CLRC;讀取一位數(shù)需要至少60USSETBp1.4NOPNOPCLRp1.4;保持至少1US的低電平NOPSETBp1.4;釋放數(shù)據(jù)線MOVR3,#4;延時(shí)9US,必須在15US內(nèi)讀取數(shù)據(jù)DJNZR3,$

MOVC,P1.4RRCAMOVR3,#26DJNZR3,$DJNZR2,READ1MOV@R1,A;低8位數(shù)據(jù)讀完,存入35H單元

INCR1;指向36H單元

DJNZR4,READ0;高8位數(shù)據(jù)讀完,存入36H單元

SETBp1.4;讀時(shí)序結(jié)束時(shí)DS18B20釋放總線

NOPNOPCLRp1.4ACALLDELAY1SETBp1.4RET第14頁(yè),共25頁(yè),2024年2月25日,星期天軟件程序:HIG_MKEQU32H;設(shè)定最高溫度LOW_MKEQU33H;設(shè)定最低溫度TEM_HEQU36H;當(dāng)前溫度的高8位TEM_LEQU35H;當(dāng)前溫度的低8位TEM_NUMEQU30H;當(dāng)前溫度

FLAG1EQU00H;DS18B20存在的標(biāo)志DQEQUP1.4ORG0000HSTART:MOVSP,#60HMOVIE,#00H

SETBDQSTART_1:CLRP0.2CLRP0.3MOVHIG_MK,#30HMOVLOW_MK,#24HLCALLINIT_1820JNBFLAG1,START_1第15頁(yè),共25頁(yè),2024年2月25日,星期天MAIN0:LCALLGET_TEM;調(diào)用讀溫度子程序

LCALLTEM_COV;溫度轉(zhuǎn)換,并轉(zhuǎn)化成BCDLCALLDISPLAYMAIN1:MOVA,TEM_NUMCJNEA,HIG_MK,MAIN2CLRCMAIN2:JCMAIN3SETBP0.3AJMPMAIN0MAIN3:CJNEA,LOW_MK,MAIN4CLRCMAIN4:JNCMAIN5SETBP0.2AJMPMAIN0MAIN5:CLRP0.2CLRP0.3AJMPMAIN0第16頁(yè),共25頁(yè),2024年2月25日,星期天

GET_TEM:SETBDQGET_MK1:LCALLINIT_1820JBFLAG1,GET_MK2LJMPGET_MK1GET_MK2:LCALLDELAY1MOVA,#0CCHLCALLWRITE_1820MOVA,#44HLCALLWRITE_1820GET_MK5:NOPCLRDQNOPSETBDQMOVR3,#4DJNZR3,$CLRCMOVC,DQJNCGET_MK5GET_MK3:LCALLINIT_1820JBFLAG1,GET_MK4LJMPGET_MK3GET_MK4:LCALLDELAY1MOVA,#0CCHLCALLWRITE_1820MOVA,#0BEHLCALLWRITE_1820LCALLREAD_1820RET第17頁(yè),共25頁(yè),2024年2月25日,星期天將從DS18B20中讀出的溫度數(shù)據(jù)進(jìn)行轉(zhuǎn)換TEM_COV:MOVA,TEM_LANLA,#0F0HSWAPAMOVTEM_NUM,ATEM_COV3:MOVA,TEM_HANLA,#07HSWAPAORLA,TEM_NUMMOVTEM_NUM,A;保存變換后的溫度數(shù)據(jù)

LCALLBIN_BCDRETBIN_BCD:PUSHACCMOVB,#10DIVABMOV31H,AMOV30H,BPOPACCRET

第18頁(yè),共25頁(yè),2024年2月25日,星期天WRITE_1820:MOVR2,#8CLRCWRITE1:CLRDQMOVR3,#5DJNZR3,$RRCAMOVDQ,CMOVR3,#21DJNZR3,$SETBDQNOPDJNZR2,WRITE1SETBDQRET第19頁(yè),共25頁(yè),2024年2月25日,星期天READ_1820:ORLP1,#20HMOVR4,#2MOVR1,#35HREAD0:MOVR2,#8MOVA,#00HREAD1:CLRCSETBDQNOPNOPCLRDQNOPSETBDQMOVR3,#4DJNZR3,$MOVC,DQRRCAMOVR3,#26DJNZR3,$DJNZR2,READ1MOV@R1,AINCR1DJNZR4,READ0SETBDQNOPNOPCLRDQACALLDELAY1SETBDQRET第20頁(yè),共25頁(yè),2024年2月25日,星期天INIT_1820:SETBDQNOPNOPCLRDQACALLYS500SETBDQORLP1,#1.0HACALLDELAY1JNBDQ,TSR3AJMPTSR4TSR3:SETBFLAG1AJMPTSR5TSR4:CLRFLAG1AJMPTSR7TSR5:MOVR0,#6BHTSR6:DJNZR0,TSR6TSR7:SETBDQRET第21頁(yè),共25頁(yè),2024年2月25日,星期天顯示子程序DISPLAY:PUSHACCSETBRS0MOVR2,#02HMOVR1,#30HMOVR3,#

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論