中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線: 4007-888-234

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

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

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

技術(shù)支持

用PIC16F877A和DS18B20的測(cè)溫程序

更新時(shí)間: 2019-03-23

十年專注單片機(jī)方案開(kāi)發(fā)的方案公司英銳恩,分享用PIC16F877A和DS18B20的測(cè)溫程序。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機(jī)、16位單片機(jī)、32位單片機(jī)及各類運(yùn)算放大器等。

MCD-demouse板做了一個(gè)0到99度的測(cè)溫程序,只要把數(shù)據(jù)處理程序改一下就可以改變測(cè)量范圍和精度。


#INCLUDE
CBLOCK  20H
INPUT_HIGH_8  ;high 8 bit,don't allow other P use it but temperature conversion p
INPUT_LOW_8   ;low 8 bit,don't allow other P use it but temperature conversion p
DELAY_TEMP0
DELAY_TEMP1
PASS_TEMP
UNITS_ORDER  
TENS_DIGIT
COUNT_16  
ENDC
ORG   00H
NOP
GOTO  INITIAL
ORG   05H
TABLE
ADDWF  PCL,1
DT      0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,90H,90H,90H     ;comment anode
DISPLAY
MOVFW  UNITS_ORDER

CALL  TABLE
MOVWF  PORTC
BCF   PORTA,0       ;trigger  transistor of NPN than display units_order
CALL  DELAY_1MS
BSF   PORTA,0       ;close
MOVFW  TENS_DIGIT
CALL  TABLE
MOVWF  PORTC
BCF   PORTA,1       ;trigger transistor of NPN than display tens_digit
CALL  DELAY_1MS
BSF   PORTA,1
RETURN
DELAY_1MS
MOVLW  12H
MOVWF  DELAY_TEMP0
MOVLW  12H
MOVWF  DELAY_TEMP1
DECFSZ  DELAY_TEMP1

GOTO  $-1
DECFSZ  DELAY_TEMP0
GOTO  $-5
RETURN
INITIAL
BANKSEL  TRISA
MOVLW  00H
MOVWF  TRISA     ;porta0..1 to launch led, porta2 18b20 communication port
MOVLW  B'00000110'    ;set porta  as digital port
MOVWF  ADCON1
MOVLW  00H
MOVWF  TRISC     ;8 bits led data bus
MOVLW  0FFH     ;portb1 as a command key
MOVWF  TRISB
MOVLW  00H
MOVWF  OPTION_REG    ;portb as week pull up
BANKSEL  PORTA
CLRF  UNITS_ORDER
CLRF  TENS_DIGIT
MAIN
CALL  DISPLAY     ;press key to start the function
BTFSC  PORTB,2
GOTO  $-2
BTFSS  PORTB,2     ;key release?
GOTO  $-1
CALL  INITIAL_18B20 
BTFSS  DELAY_TEMP1,1
GOTO  MAIN

MOVLW  0CCH   ;skip the rom
MOVWF  PASS_TEMP
CALL  WRITE_18B20
MOVLW  44H    ;release the command of conversion
MOVWF  PASS_TEMP
CALL  WRITE_18B20
MOVLW  D'30'
MOVWF  COUNT_16
MOVLW  D'90'   ;delay  900ms for conversion
MOVWF  DELAY_TEMP1
MOVLW  D'110'
MOVWF  DELAY_TEMP0
DECFSZ  DELAY_TEMP0
GOTO  $-1
DECFSZ  DELAY_TEMP1
GOTO  $-5

DECFSZ  COUNT_16
GOTO  $-9
CALL  INITIAL_18B20
BTFSS  DELAY_TEMP1,1
GOTO  MAIN
MOVLW  0CCH
MOVWF  PASS_TEMP
CALL  WRITE_18B20   ;release the command of reading
MOVLW  0BEH
MOVWF  PASS_TEMP
CALL  WRITE_18B20
CALL  READ_18B20
CALL  INITIAL_18B20  ;end the other data to transmit
BTFSS  DELAY_TEMP1,1
GOTO  MAIN
CALL  BCD_CONVERSION
GOTO  MAIN
INITIAL_18B20
BCF   PORTB,2
BANKSEL  TRISA
BCF   TRISA,2
BANKSEL  PORTA
MOVLW  0BH
MOVWF  DELAY_TEMP0
MOVLW  22H

MOVWF  COUNT_16
DECFSZ  COUNT_16,1
GOTO  $-1     ;delay 586us
DECFSZ  DELAY_TEMP0,1
GOTO  $-5
BANKSEL  TRISA
BSF   TRISA,2    ;release the bus
BANKSEL  PORTA
MOVFW  PORTA
MOVLW  D'25'    ;delay 76us
MOVWF  DELAY_TEMP0
DECFSZ  DELAY_TEMP0,1
GOTO  $-1
BTFSS  PORTA,2
GOTO 

404
返回首頁(yè) |  返回上一頁(yè)
甘谷县| 威海市| 保亭| 油尖旺区| 温泉县| 衡水市| 苏尼特右旗| 德钦县| 襄垣县| 读书| 攀枝花市| 理塘县| 商南县| 封开县| 红原县| 怀宁县| 治多县| 抚宁县| 乾安县| 开原市| 信阳市| 阳江市| 凌云县| 宁陕县| 南京市| 同德县| 武胜县| 阳城县| 东方市| 承德市| 雅江县| 富宁县| 江都市| 若尔盖县| 紫金县| 安新县| 敖汉旗| 浦东新区| 镇宁| 肇州县| 锦屏县|