在 C 中调用汇编写的 ds18b20 驱动
一个 usb 系统,其控制芯片的程序是 C 写的,现在想加入温度传感器,已有现
成的汇编代码(伟纳 ME300A+产品提供)
TEMPL DATA26H
TEMPH DATA27H
FLAG1 EQU 38H;是否有 ds18b20
DATE_LINE EQU P3.6 ;接到 ds18b20 数据线引脚
;**************************************************
ORG 0000H
MAIN: MOV SP,#30H
START:CALL RESET
SETB P3.2
CALL RESET
JNB FLAG1,MAIN
MOV A,#0CCH ; 跳过 ROM 匹配
CALL WRITE
MOV A,#044H ; 发出温度转换命令
CALL WRITE
CALL RESET
MOV A,#0CCH ; 跳过 ROM 匹配
CALL WRITE
MOV A,#0BEH ; 发出读温度命令
CALL WRITE
CALL READ ; 将读出的温度数据保存到 26H/27H
;CALL CONVTEMP
;CALL DISPBCD
;CALL DISP1
JMP MAIN
;*************************************************
RESET:SETB DATE_LINE