当前位置:编程学习 > 汇编语言 >>

有谁会DS18B20的数字温度计显示,求解,要单片机汇编语言的

答案:我做过相关的设计,程序是用汇编语言写的,有需要请加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

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,