LG單片機(jī)-DS18B20_第1頁(yè)
LG單片機(jī)-DS18B20_第2頁(yè)
LG單片機(jī)-DS18B20_第3頁(yè)
LG單片機(jī)-DS18B20_第4頁(yè)
LG單片機(jī)-DS18B20_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.實(shí)驗(yàn)任務(wù) 本實(shí)驗(yàn)實(shí)現(xiàn)的是通過(guò)18B20溫度傳感器讀回溫度并在2位數(shù)碼管上顯示。精度為一度,測(cè)溫范圍為0-99度。2。實(shí)驗(yàn)?zāi)康?學(xué)會(huì)使用單片機(jī)控制18B20此類單總線器件。3。DS18B20原理及引腳介紹 DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。DS18B20產(chǎn)品的特點(diǎn)(1)、只要求一個(gè)端口即可實(shí)現(xiàn)通信。(2)、在DS18B20中的每個(gè)器件上都有獨(dú)一無(wú)二的序列號(hào)。(3)、實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。(4)、測(cè)量溫度范圍在5

2、5。C到125。C之間。(5)、數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇。(6)、內(nèi)部有溫度上、下限告警設(shè)置。DS18B20的引腳介紹 TO92封裝的DS18B20的引腳排列見上圖,其引腳功能描述見下:1GND 地信號(hào)2DQ 數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3VDD 可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。4實(shí)驗(yàn)原理圖5實(shí)驗(yàn)源程序TEMPER_L EQU 36HTEMPER_H EQU 35HTEMPER_NUM EQU 60Hjishu EQU 37H ;定義一個(gè)寄存器FLAG1 BIT 00H ;DQ BIT P3.5

3、 AAA:SETB P2.0 ;控制74LS573使P0口與數(shù)碼管的段選相連CLR P2.1 MOV SP,#70H LCALL GET_TEMPER LCALL TEMPER_COVloop4:mov r5,#20loop3:mov 38H,#0ffhLOOP2:mov A,TEMPER_NUM ;以下是將從18B20讀回來(lái)的數(shù)據(jù)送到數(shù)碼管上顯示MOV B,#10;MOV B,R5DIV ABMOV DPTR,#TABLE1MOVC A,A+DPTRMOV P0,ALCALL DELySETB P2.3 MOV A,BMOV DPTR,#TABLE2MOVC A,A+DPTRMOV P0,A

4、LCALL DELydjnz 38H,loop2djnz r5, loop3sjmp aaaNOP;-讀出轉(zhuǎn)換后的溫度值GET_TEMPER:SETB DQ ; 定時(shí)入口BCD:LCALL INIT_1820JB FLAG1,S22LJMP BCD ; 若DS18B20不存在則返回S22:LCALL DELAY1MOV A,#0CCH ; 跳過(guò)ROM匹配-0CCLCALL WRITE_1820MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE_1820NOPLCALL DELAYLCALL DELAYCBA:LCALL INIT_1820JB FLAG1,ABCLJMP CBAA

5、BC:LCALL DELAY1MOV A,#0CCH ; 跳過(guò)ROM匹配LCALL WRITE_1820MOV A,#0BEH ; 發(fā)出讀溫度命令LCALL WRITE_1820LCALL READ_18200 ;READ_1820RET;-讀DS18B20的程序,從DS18B20中讀出一個(gè)字節(jié)的數(shù)據(jù)READ_1820:MOV R2,#8RE1:CLR CSETB DQNOPNOPCLR DQNOPNOPNOPSETB DQMOV R3,#7DJNZ R3,$MOV C,DQMOV R3,#23DJNZ R3,$RRC ADJNZ R2,RE1RET;-寫DS18B20的程序WRITE_182

6、0:MOV R2,#8CLR CWR1:CLR DQMOV R3,#6DJNZ R3,$RRC AMOV DQ,CMOV R3,#23DJNZ R3,$SETB DQNOPDJNZ R2,WR1SETB DQRET;-讀DS18B20的程序,從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù)READ_18200:MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出MOV R1,#36H ; 低位存入36H(TEMPER_L),高位存入35H(TEMPER_H)RE00:MOV R2,#8RE01:CLR CSETB DQNOPNOPCLR DQNOPNOPNOPSETB DQMOV R3,#7

7、DJNZ R3,$MOV C,DQMOV R3,#23DJNZ R3,$RRC ADJNZ R2,RE01MOV R1,ADEC R1DJNZ R4,RE00RET;-將從DS18B20中讀出的溫度數(shù)據(jù)進(jìn)行轉(zhuǎn)換TEMPER_COV:MOV A,#0F0HANL A,TEMPER_L ; 舍去溫度低位中小數(shù)點(diǎn)后的四位溫度數(shù)值SWAP AMOV TEMPER_NUM,AMOV A,TEMPER_LJNB ACC.3,TEMPER_COV1 ; 四舍五入去溫度值INC TEMPER_NUMTEMPER_COV1:MOV A,TEMPER_HANL A,#07HSWAP AORL A,TEMPER_N

8、UMMOV TEMPER_NUM,A ; 保存變換后的溫度數(shù)據(jù)RET;-將16進(jìn)制的溫度數(shù)據(jù)轉(zhuǎn)換成壓縮BCD碼;-DS18B20初始化程序INIT_1820:SETB DQNOPCLR DQMOV R0,#80HTSR1:DJNZ R0,TSR1 ; 延時(shí)SETB DQMOV R0,#25H ;96US-25HTSR2:DJNZ R0,TSR2JNB DQ,TSR3LJMP TSR4 ; 延時(shí)TSR3:SETB FLAG1 ; 置標(biāo)志位,表示DS1820存在LJMP TSR5TSR4:CLR FLAG1 ; 清標(biāo)志位,表示DS1820不存在LJMP TSR7TSR5:MOV R0,#06BH

9、;200USTSR6:DJNZ R0,TSR6 ; 延時(shí)TSR7:SETB DQRET;-重新寫DS18B20暫存存儲(chǔ)器設(shè)定值RE_CONFIG:JB FLAG1,RE_CONFIG1 ; 若DS18B20存在,轉(zhuǎn)RE_CONFIG1RETRE_CONFIG1:MOV A,#0CCH ; 發(fā)SKIP ROM命令LCALL WRITE_1820MOV A,#4EH ; 發(fā)寫暫存存儲(chǔ)器命令LCALL WRITE_1820MOV A,#00H ; TH(報(bào)警上限)中寫入00HLCALL WRITE_1820MOV A,#00H ; TL(報(bào)警下限)中寫入00HLCALL WRITE_1820MOV A,#7FH ; 選擇12位溫度分辨率LCALL WRITE_1820RET;-延時(shí)子程序DELAY:MOV R7,#00HMIN:DJNZ R7,YS500RETYS500:LCALL YS500USLJMP MINYS500US:MOV R6,#00HDJNZ R6,$RET DELAY1:MOV R7,#20HDJN

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論