問答
產(chǎn)品
|
公司
|
配件目錄
|
EPC底盤號查詢
下載手機(jī)汽配人
汽配人首頁 >
問答首頁
求溫度傳感器DS18b20與單片機(jī)at89c51連接,匯編程序?
要匯編程序
問
提問者:網(wǎng)友
|
2017-05-18
最佳回答
TEMPER_L EQU 36H ;存放讀出溫度低位數(shù)據(jù)TEMPER_H EQU 35H ;存放讀出溫度高位數(shù)據(jù)TEMPER_NUM EQU 60H ;存放轉(zhuǎn)換后的溫度值FLAG1 BIT 00HDQ BIT P3.3 ;一線總線控制端口ORG 0000HLJMP MAINORG 0100HMAIN:MOV SP,#70HLCALL GET_TEMPER ;從DS18B20讀出溫度數(shù)據(jù)LCALL TEMPER_COV ;轉(zhuǎn)換讀出的溫度數(shù)據(jù)并保存SJMP $ ;完成一次數(shù)字溫度采集;-------讀出轉(zhuǎn)換后的溫度值GET_TEMPER:SETB DQ ; 定時入口BCD: LCALL INIT_1820JB FLAG1,S22LJMP BCD ; 若DS18B20不存在則返回S22: LCALL DELAY1MOV A,#0CCH ; 跳過ROM匹配------0CCLCALL WRITE_1820MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE_1820NOPLCALL DELAYLCALL DELAYCBA: LCALL INIT_1820JB FLAG1,ABCLJMP CBAABC: LCALL DELAY1MOV A,#0CCH ; 跳過ROM匹配LCALL WRITE_1820MOV A,#0BEH ; 發(fā)出讀溫度命令LCALL WRITE_1820LCALL READ_18200 ;READ_1820RET;-------讀DS18B20的程序,從DS18B20中讀出一個字節(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_1820:MOV R2,#8CLR CWR1: CLR DQMOV R3,#6DJNZ R3,$RRC AMOV DQ,CMOV R3,#23DJNZ R3,$SETB DQNOPDJNZ R2,WR1SETB DQRET;-------讀DS18B20的程序,從DS18B20中讀出兩個字節(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,#7DJNZ 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ù)點后的四位溫度數(shù)值SWAP AMOV TEMPER_NUM,AMOV A,TEMPER_LJNB ACC.3,TEMPER_COV1 ; 四舍五入去溫度值INC TEMPER_NUMTEMPER_COV1:MOV A,TEMPER_HANL A,#07HSWAP AADD A,TEMPER_NUMMOV TEMPER_NUM,A ; 保存變換后的溫度數(shù)據(jù)LCALL BIN_BCDRET;-------將16進(jìn)制的溫度數(shù)據(jù)轉(zhuǎn)換成壓縮BCD碼BIN_BCD:MOV DPTR,#TEMP_TABMOV A,TEMPER_NUMMOVC A,@A+DPTRMOV TEMPER_NUM,ARETTEMP_TAB:DB 00H,01H,02H,03H,04H,05H,06H,07HDB 08H,09H,10H,11H,12H,13H,14H,15HDB 16H,17H,18H,19H,20H,21H,22H,23HDB 24H,25H,26H,27H,28H,29H,30H,31HDB 32H,33H,34H,35H,36H,37H,38H,39HDB 40H,41H,42H,43H,44H,45H,46H,47HDB 48H,49H,50H,51H,52H,53H,54H,55HDB 56H,57H,58H,59H,60H,61H,62H,63HDB 64H,65H,66H,67H,68H,69H,70H,71HDB 72H,73H,74H,75H,76H,77H,78H,79HDB 80H,81H,82H,83H,84H,85H,86H,87HDB 88H,89H,90H,91H,92H,93H,94H,95HDB 96H,97H,98H,99H;-------DS18B20初始化程序INIT_1820:SETB DQNOPCLR DQMOV R0,#80HTSR1: DJNZ R0,TSR1 ; 延時SETB DQMOV R0,#25H ;96US-25HTSR2: DJNZ R0,TSR2JNB DQ,TSR3LJMP TSR4 ; 延時TSR3: SETB FLAG1 ; 置標(biāo)志位,表示DS1820存在LJMP TSR5TSR4: CLR FLAG1 ; 清標(biāo)志位,表示DS1820不存在LJMP TSR7TSR5: MOV R0,#06BH ;200USTSR6: DJNZ R0,TSR6 ; 延時TSR7: SETB DQRET;-------重新寫DS18B20暫存存儲器設(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ā)寫暫存存儲器命令LCALL WRITE_1820MOV A,#00H ; TH(報警上限)中寫入00HLCALL WRITE_1820MOV A,#00H ; TL(報警下限)中寫入00HLCALL WRITE_1820MOV A,#7FH ; 選擇12位溫度分辨率LCALL WRITE_1820RET;------------------延時子程序DELAY:MOV R7,#00HMIN: DJNZ R7,YS500RETYS500: LCALL YS500USLJMP MINYS500US:MOV R6,#00HDJNZ R6,$RETDELAY1: MOV R7,#20HDJNZ R7,$RETEND
回答者:網(wǎng)友
產(chǎn)品精選
我來回答
看不清?換一個
提交答案
相關(guān)已解答問題
黃頭后八輪翻斗車水溫70度時發(fā)動機(jī)怠速機(jī)油壓力只有一個壓,怠速時還有點著不住火。加油時達(dá)到4個壓,是什
為什么我的中華駿捷07款1.6L手動型最近油耗增高了,并且加速無力是怎么回事?
汽車經(jīng)常水溫過高是什么問題導(dǎo)致的,且一般怎么解決
溫控儀表xmpd-2201最適合配用的溫控元件是不是溫度傳感器,如果是,那型號是什么?價格?
加熱型傳感器指的是前氧傳感還是后氧傳感?
我的奇瑞QQ308自動檔的 開著開著就報警了 但沒看是什么故障燈 停下后自動檔就掛不上了 改成手動后走了一
汽車自動懸架原理及檢修分析
東風(fēng)小王子汽車,怠速穩(wěn)定,行駛中放炮,跑不起來,拔下水溫傳感器后就好了,怎么回事。
小車儀表指示燈主要內(nèi)容:悅達(dá)起亞儀表zhezk顯黃色是什么原因?
制作烘箱,溫控儀,傳感器,可控硅什么的都已經(jīng)準(zhǔn)備好了,請問需要用PLC控制PID嗎?
在移動端查看:
求溫度傳感器DS18b20與單片機(jī)at89c51連接,匯編程序?
搜索問答
還沒有汽配人賬號?
立即注冊
我要提問
精彩推薦
1
請問天然氣加氣站主管部門是對?
2
我選的傳感器兩線制輸出4-20MA,怎么接到STM32的AD上?
3
凱越故障代碼p0317是什么
4
萊動單缸柴油機(jī)和萊柴機(jī)器那個質(zhì)量好
5
一公斤靜電噴塑的塑粉(淺駝灰,RAL7032)能噴多少個平方?
6
三菱M70數(shù)控系統(tǒng)PLC編程問題: 近期在學(xué)習(xí)M70數(shù)控系統(tǒng),想編制PLC梯形圖,但是不知如何入手?
7
155R13LT和165/70R13的輪胎有什么不同
8
五菱宏光V的輪胎上寫著165R14LT都是什么意思呢?輪胎也有限速?這款輪胎限速是多少呢?
9
輪胎型號:185R14LT 為什么沒有扁平比?
10
長安之星汽車空調(diào)怎么接線?
周邊商家推薦
周邊產(chǎn)品推薦
相關(guān)問答
發(fā)動機(jī)冷卻液溫度傳感器損壞會影響耗油嗎
溫度傳感器
關(guān)于PT1000溫度傳感器問題
溫度傳感器(熱敏電阻)測量溫度的單片機(jī)C程序
關(guān)于溫度傳感器
熱風(fēng)槍的溫度傳感器電阻阻值多大?
溫度傳感器的分類
空調(diào)室內(nèi)溫度傳感器通用么、小3P空調(diào) 我換了個5K 跟10K 的 室內(nèi)機(jī)顯示0° 過一會 還是0°
PT100溫度傳感器廣州那里有賣?
我要設(shè)計一個 電路,是單片機(jī)80C51和溫度傳感器DS18D20控制家用電風(fēng)扇的轉(zhuǎn)速,誰能幫幫我。
產(chǎn)品精選
冷卻液溫度傳感器
溫度傳感器
北京溫度傳感器
溫度傳感器
優(yōu)勢廠家
冷卻液溫度傳感器廠家
溫度傳感器廠家
北京溫度傳感器廠家
溫度傳感器廠家
圖片大全
冷卻液溫度傳感器圖片
溫度傳感器圖片
北京溫度傳感器圖片
溫度傳感器圖片
推薦主題
冷卻液溫度傳感器
溫度傳感器
北京溫度傳感器
溫度傳感器
本頁是網(wǎng)友提供的關(guān)于“求溫度傳感器DS18b20與單片機(jī)at89c51連接,匯編程序?”的解答,僅供您參考,汽配人網(wǎng)不保證該解答的準(zhǔn)確性。
協(xié)議規(guī)則
服務(wù)協(xié)議
交易規(guī)則
注冊新用戶
幫助中心
網(wǎng)站服務(wù)
汽配旺鋪
網(wǎng)價查詢
商用車EPC查詢
營銷寶
特色市場
商用車市場
乘用車市場
東風(fēng)市場
重汽市場
陜汽市場
一汽市場
北汽市場
江淮市場
專用汽車
地方分站
江蘇分站
廣東分站
山東分站
吉林分站
專用車分站
河南分站
十堰產(chǎn)業(yè)帶
云南分站
陜西市場
移動端
手機(jī)登錄:m.qipeiren.com
iPhone
Android
關(guān)于我們
|
友情鏈接
|
汽車配件批發(fā)
|
汽車配件圖片
|
汽車配件大全
|
汽配問答
|
汽配廠家
|
汽配品牌
|
汽配主題
|
汽配城
|
鄂ICP備14009261號
經(jīng)營許可證編號:鄂B2-20140114
服務(wù)熱線:0719-8311727
Copyright © 2005-2024 十堰億脈科技有限公司 版權(quán)所有
鄂公網(wǎng)安備 42030202000345號