答案:我做过相关的设计,程序是用汇编语言写的,有需要请加QQ106747055
;**********************************
;* DS18B20温度计 *
;*采用4位LED共阳显示器显示测温值. *
;*显示精度0.1℃,测温范围-55~+125℃*
;*用89C2051单片机,12M晶振, *
;*设计日期:2006.10.13 *
;**********************************
;
;**********************************
; 常数定义
;**********************************
TIMEL EQU 0E0H ;20ms,定时器0时间常数
TIMEH EQU 0B1H
TEMPHEAD EQU 36H
;**********************************
; 工作内存定义
;**********************************
BITST DATA 20H
TIME1SOK BIT BITST.1
TEMPONEOK BIT BITST.2
TEMPL DATA 26H
TEMPH DATA 27H
TEMPHC DATA 28H
TEMPLC DATA 29H
;
;
;***********************************
; 引脚定义
;***********************************
;
TEMPDIN BIT P3.7
;
;***********************************
;中断向量区
;***********************************
;
ORG 0000H
LJMP START
ORG 000BH
LJMP T0IT
;
;************************************
; 系统初始化
;************************************
;
ORG 0100H
START: MOV SP,#60H
CLSSMEM: MOV R0,#20H
MOV R1,#60H
CLSMEM1: MOV @R0,#00H
INC R0
DJNZ R1,CLSMEM1
MOV TMOD,#00100001B ;定时器0作方式1(16BIT)
MOV TH0,#TIMEL
MOV TL0,#TIMEH
SJMP INIT
ERROR: NOP
LJMP START
NOP
INIT: NOP
SETB ET0
SETB TR0
SETB EA
MOV PSW,#00H
CLR TEMPONEOK
LJMP MAIN
;
;*************************************
; 定时器0中断服务程序
;*************************************
T0IT: PUSH PSW
MOV PSW,#10H
MOV TH0,#TIMEH
MOV TL0,#TIMEL
INC R7
CJNE R7,#32H,T0IT1
MOV R7,#00H
SETB TIME1SOK
T0IT1: POP PSW
RETI
;
;****************************************
; 主程序
;****************************************
MAIN: LCALL DISP1
JNB TIME1SOK,MAIN
CLR TIME1SOK
JNB TEMPONEOK,MAIN2
LCALL READTEMP1
LCALL CONVTEMP
LCALL DISPBCD
LCALL DISP1
MAIN2: LCALL READTEMP
SETB TEMPONEOK
LJMP MAIN
;
;*****************************************
以上为主程序。
其他:收费
做 帮你设计实物
上一个:汇编语言延时程序计算
下一个:汇编语言编写BCD码除法,86%5