大香蕉大香蕉在线播放-日韩av在线一区中文字幕-日韩熟女熟妇久久精品综合-精品免费视频一区二区三区

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

適合初學(xué)者的1BUS總線-DS18B20的小例子

更新時(shí)間: 2019-03-23
閱讀量:2164

十年專注單片機(jī)方案開發(fā)的方案公司英銳恩,分享適合初學(xué)者的1BUS總線-DS18B20的小例子。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機(jī)、16位單片機(jī)、32位單片機(jī)及各類運(yùn)算放大器等。

#INCLUDE P16F877A.INC DAT_D EQU PORTA DAT_T EQU TRISA TMP0 EQU 30H PDBYTE EQU TMP0+1 COUNT EQU TMP0+2 IOBYTE EQU TMP0+3 WENDUH EQU TMP0+4 WENDUL EQU TMP0+5 DQ EQU 2 ORG 00H NOP NOP SETUP: BCF STATUS,RP0 BCF STATUS,GIE CLRF PORTC CLRF PORTA BSF STATUS,RP0 MOVLW H'07' MOVWF ADCON1 CLRF TRISC MOVLW H'0FF' MOVWF TRISA BCF STATUS,RP0 GOTO START START: BTFSS PORTA,DQ GOTO START CALL OW_RESET ;初始化DS18B20 BTFSS PDBYTE,0 GOTO ERROR_1 MOVLW H'0CC' ;直訪ROM指令 CALL DSTXBYTE MOVLW H'44' ;轉(zhuǎn)換溫度指令 CALL DSTXBYTE WAIT1: CALL DELAY CALL DELAY CALL OW_RESET ;初始化DS18B20 MOVLW H'0CC' CALL DSTXBYTE ;直訪ROM指令 MOVLW H'0BE' CALL DSTXBYTE ;讀取溫度命令 CALL DSRXBYTE NOP MOVF IOBYTE,W MOVWF PORTC ;顯示溫度低字節(jié)(二進(jìn)制) GOTO START ERROR_1: NOP GOTO START

;************************************************************************************ OW_HIZ MACRO ;強(qiáng)制DQ變?yōu)楦呓M態(tài) BSF STATUS,RP0 ;選擇數(shù)據(jù)存儲(chǔ)器BANK1 BSF DAT_T,DQ ;使DQ引腳變?yōu)楦咦钁B(tài) BCF STATUS,RP0 ;選擇數(shù)據(jù)存儲(chǔ)器的BANK0 ENDM ;-------------------------------------------------------------------- OW_LO MACRO ;強(qiáng)制DQ變?yōu)檫壿嫷碗娖?BCF STATUS,RP0 ;選擇數(shù)據(jù)存儲(chǔ)器的BANK0 BCF DAT_D,DQ ;清除DQ位 BSF STATUS,RP0 ;選擇數(shù)據(jù)存儲(chǔ)器的BANK1 BCF DAT_T,DQ ;把DQ引腳作為輸出 BCF STATUS,RP0 ;選擇數(shù)據(jù)存儲(chǔ)器的BANK0 ENDM ;-------------------------------------------------------------------- WAIT MACRO TIME ;延時(shí)TIMEUS ;時(shí)間必須是5US的整數(shù) MOVLW (TIME/5)-1 ;處理時(shí)間:1US MOVWF TMP0 ;處理時(shí)間:1US CALL WAIT5U ;處理時(shí)間:2US ENDM ;************************************************************************************ WAIT5U: ;需要5US來完成 NOP ;處理時(shí)間為1US NOP ;處理時(shí)間為1US DECFSZ TMP0,F ;如果不為零,處理時(shí)間為1US,如果為零,處理時(shí)間為2US GOTO WAIT5U ;處理時(shí)間為2US RETLW 0 ;處理時(shí)間為2US ;************************************************************************************ OW_RESET: OW_HIZ ;以口線為高電平開始 CLRF PDBYTE ;清除PD字節(jié) OW_LO ; WAIT D'500' ;驅(qū)動(dòng)器輸出低電平500US OW_HIZ ; WAIT D'70' ;釋放口線,等待PD脈沖70US BTFSS DAT_D,DQ ;讀PD脈沖 INCF PDBYTE,F ;如果檢測(cè)到了PD脈沖,就把PDBYTE置位1 WAIT D'430' ;在PD脈沖后等待430US RETLW 0 ; ;-------------------------------------------------------------------- DSTXBYTE: MOVWF IOBYTE ;要發(fā)送的字節(jié)從W開始 MOVLW D'8' ;從IOBYTE開始發(fā)送 MOVWF COUNT ;置COUNT為8,表示要發(fā)送的比特?cái)?shù) DSTXLP: OW_LO ; NOP ; NOP NOP ;口線變低電平5US NOP NOP RRF IOBYTE,F ;數(shù)據(jù)字節(jié) BTFSC STATUS,C ;檢查IOBYTE的LSB是1還是0 BSF DAT_D,DQ ;如果LSB是1,線路為高電平 WAIT D'60' ;連續(xù)驅(qū)動(dòng)線路60US OW_HIZ ;為了上拉,釋放口線 NOP NOP ;2US的恢復(fù)時(shí)間 DECFSZ COUNT,F ;位計(jì)數(shù)器減1 GOTO DSTXLP ; RETLW 

0 ; ;-------------------------------------------------------------------- DSRXBYTE: MOVLW D'8' ;讀入的字節(jié)保存入IOBYTE MOVWF COUNT ;把COUNT設(shè)為8,來進(jìn)行位數(shù)計(jì)數(shù) DSRXLP: OW_LO ; NOP NOP NOP ;把DQ變低6US NOP NOP NOP ; OW_HIZ ;變?yōu)镠IZ,等待4US NOP NOP NOP NOP ; MOVF DAT_D,W ;讀DQ ANDLW B'00000100' ;屏蔽DQ位 ADDLW D'255' ;如果DQ=1,則C=1;如果DQ=0則C=0 RRF IOBYTE,F ;

把C移位至IOBYTE WAIT D'50' ;等50US直到時(shí)隙末 DECFSZ COUNT,F ;位計(jì)數(shù)器減1 GOTO DSRXLP ; RETLW 0 ;************************************************************************************ DELAY ;子程序名,也是子程序入口地址 movlw 0Ffh ;將外層循環(huán)參數(shù)值FFH經(jīng)過W movwf H'20' ;送入用作外循環(huán)變量的20H單元 lp0 movlw 0Ffh ;將內(nèi)層循環(huán)參數(shù)值FFH經(jīng)過W movwf 21h ;送入用作內(nèi)循環(huán)變量的21H單元 lp1 decfsz 21h,F ;變量21H內(nèi)容遞減,若為0跳躍 goto lp1 ;跳轉(zhuǎn)到LP1處 decfsz 20h,F ;變量20H內(nèi)容遞減,若為0跳躍 goto lp0 ;跳躍到LP0處 return ;返回主程序 END

(文源網(wǎng)絡(luò),侵刪)

2021国产精品自在自线| avtt天堂网先锋伦理| 亚洲午夜国产片在线观看| 久久高清中文字幕第一页| 抽插肥嫩小穴的视频| 中文字幕人妻一区二区三区人妻| 国产精品毛片一区视频播| 国产一级a不收费| 毛片日产av一区二区三区四区| 欧美一区亚洲一区视频在线观看 | 大鸡巴干小逼视频| 亚洲二亚洲欧美一区vr| 美女露胸露逼逼自慰| 蜜臀AV无码国产精品尤物| 波多野结衣浴尿解禁在线| 亚洲成国产人片在线观看| 亚洲美女后入在线播放| 大屁股真人日逼视频| 思思夜免费公开视频| 妺妺坐在我腿上下面好湿| 午夜成人理论片在线观看| 男生舔女生下面黄色视频| 午夜精品福利一区二区三区蜜桃p 韩国精品视频一区二区在线观看 国产一国产一级毛片无码视频百度 | 欧美日韩精品视频在线第一区| 黄色av成年人在线观看| 在线观看国产黄色| 久久久一区二区三区日本| 国产一区曰韩二区欧美三区| 国产日本欧美激情| 欧美日韩国产欧美| 在线精品亚洲观看不卡欧| 国产精品999午夜激情| 玖玖资源站无码专区| 色噜噜AV亚洲色一区二区| 2021最新热播国产一区二区| 大屁股真人日逼视频| 国产一区二区三区午夜精品久久| 欧美综合区自拍亚洲综合| 欧美精品第一区二区三区| 白虎美女被大基吧操| 亚洲一级片在线播放|