- 浏览: 14346 次
最新评论
DS18B20与单片机应用
2012年01月19日
;DS18B20温度传感器和7个LED数码显示程序(原创程序,请支持)
;版权归Luiing所有,转载请说明出处
ORG 0000H
;LED数码管采用动态,P0口接八个数据口,P2.0-P2.2采用3-8译码器控制七个LED
TX BIT P2.3 ;DS18B20数据口接P2.3
FLAG BIT 10H
TEMH EQU 50H ;整数部分
TEML EQU 51H ;小数部分
MOV SP,#60H
CLR EA
AJMP MAIN
ORG 0200H
MAIN:
;MOV R0,#10
LCALL TMP;温度传感器设置
LCALL CHANG;温度转换为十进制
STR:LCALL DISPLAY;温度显示
;DJNZ R0,STR
AJMP MAIN
;//////////////////////////
TMP:;温度传感器DS18B20
LCALL RESERT
MOV A,#0CCH
LCALL WRITE
MOV A,#44H
LCALL WRITE
;LCALL DELAY750;延时750Ms
LCALL RESERT
MOV A,#0CCH
LCALL WRITE
MOV A,#0BEH
LCALL WRITE
LCALL READ
MOV 30H,A
LCALL READ
MOV 31H,A
RET
DELAY750:;750USDELAY
SETB RS0
MOV R0,#20
MS2:MOV R1,#20
MS1:MOV R2,#20
DJNZ R2,$
DJNZ R1,MS1
DJNZ R0,MS2
CLR RS0
RET
;////////////////////////////
CHANG:;温度转换为十进制
PUSH A
PUSH B
MOV A,31H
ANL A,#07H
SWAP A
MOV B,A
MOV A,30H
ANL A,#0F0H
SWAP A
ADD A,B MOV TEMH,A MOV A,30H ANL A,#0FH MOV TEML,A MOV A,31H JNB ACC.3,POSI;区分正负温度
;//////////////负温度转化
MOV A,TEML
SWAP A
CPL A
ANL A,#0F0H
ADD A,#10H
SWAP A
MOV 1FH,C
MOV TEML,A
MOV A,TEMH
CPL A
SUBB A,#80H
MOV C,1FH
ADDC A,#0
MOV 70H,#20
AJMP NEG
POSI:
MOV A,TEMH
MOV B,#100
DIV AB
MOV 70H,A
MOV A,B
NEG:
MOV B,#10
DIV AB
MOV 71H,A
MOV A,B
ADD A,#10
MOV 72H,A
;整数部分分离
MOV A,TEML
MOV B,#5
MUL AB
MOV B,#10
DIV AB
MOV 76H,B
MOV 75H,A
MOV A,TEML
MOV B,#2
MUL AB
ADD A,75H
MOV B,#10
DIV AB
MOV 75H,B
MOV 74H,A
MOV A,TEML
MOV B,#6
MUL AB
ADDC A,74H
MOV B,#10
DIV AB
MOV 74H,B
MOV 73H,A
;小数部分分离
POP B
POP A
RET
;//////////////////////
DISPLAY: ;温度显示 70H---76H XXX.XXXX
;采用默认的12位,精度0.0625,-55~~+125
SETB RS0
MOV R0,#70H
MOV R1,#7
MOV R2,#0
MOV DPTR,#TABLE
DIS:
MOV A,@R0
MOVC A,@A+DPTR
MOV P2,R2
MOV P0,A
INC R2
INC R0
LCALL DELAY1MS
DJNZ R1,DIS
CLR RS0
RET
;/////////////////////////
DELAY1MS:
SETB RS1
MOV R0,#100
MS:MOV R1,#20
DJNZ R1,$
DJNZ R0,MS
CLR RS1
RET
;////////////////////
RESERT:;DS18B20初始化
;SETB RS0
SETB TX
NOP
CLR TX
MOV R0,#240
;RST:CLR TX
DJNZ R0,$;DELAY480US
SETB TX
MOV R1,#30;DELAY 60US
DJNZ R1,$
JNB TX,RE1
CLR FLAG
SETB TX
RET
RE1:SETB FLAG
MOV R2,#200
DJNZ R2,$ ;DELAY 400us
SETB TX
RET
;///////////
WRITE:;DS18B20写字节
;SETB RS0
CLR C
MOV R0,#8
WW:
MOV R1,#6
MOV R2,#23
RRC A
CLR TX
DJNZ R1,$;DELAY 12US
MOV TX,C
DJNZ R2,$;DELAY 46US SETB TX NOP DJNZ R0,WW SETB TX ;CLR RS0 RET ;/////////// READ:;DS18B20读字节
;SETB RS0
CLR C
MOV R0,#8;八位
RE:
SETB TX
MOV R1,#10;延时20us
MOV R2,#15 ;延时30us
CLR TX
NOP
SETB TX;此句最重要,读取数据的时候一定要释放总线,否则读不出暂存器数据
DJNZ R1,$
MOV C,TX
DJNZ R2,$
RRC A
DJNZ R0,RE
SETB TX
;CLR RS0
RET
;//////////////
TABLE:
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;0-9 需要加点应用ADD 80H即可
DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH;0. -9.
DB 40H ;-
END
发表评论
-
MTK
2012-01-20 11:47 1081MTK 2012年01月15日 MTK国机指令 ! ... -
高三语文寒假生活部分答案
2012-01-20 11:47 663高三语文寒假生活部分 ... -
初三英语月考试卷(units1-4)
2012-01-20 11:46 1439初三英语月考试卷(units1 ... -
金山开源安全卫士全套代码编译指南-surfer-博客园
2012-01-20 11:46 1573金山开源安全卫士全套代码编译指南-surfer-博客园 20 ... -
JS代码大全
2012-01-19 16:37 697JS代码大全 2010年10月11日 1.documen ... -
js面向对象学习
2012-01-19 16:37 596js面向对象学习 2010年11 ... -
js笔记
2012-01-19 16:37 558js笔记 2011年01月25日 1.document. ... -
[转载]Javascript 常用属性
2012-01-19 16:37 632[转载]Javascript 常用属性 2011年05月13 ... -
script常用属性|script for window
2012-01-19 16:37 912script常用属性|script for w ... -
关于malloc函数后free内存空间的疑问
2012-01-17 06:21 706关于malloc函数后free内存空间的疑问 2011年11 ... -
c库函数和系统调用的区别(很模糊)
2012-01-17 06:21 620c库函数和系统调用的区 ... -
系统调用、POSIX、C库、系统命令和内核函数
2012-01-17 06:21 654系统调用、POSIX、C库、 ... -
socket性能优化(上)
2012-01-17 06:21 603socket性能优化(上) 2012 ... -
诬凹沃官燠喷闳
2012-01-17 06:21 0诬凹沃官燠喷闳 2012年01月06日 U辙趴“ ... -
神马都是浮云
2012-01-16 05:02 534神马都是浮云 2011年11月29日 时光在点点滴滴中流 ... -
考试神马的,不是浮云~
2012-01-16 05:02 591考试神马的,不是浮云~ 2012年01月10日 考试,学 ... -
神马都是浮云
2012-01-16 05:02 503神马都是浮云 2012年01月05日 两个人在一起久了都 ... -
下页%请点击★☆2012要知道你活着是为了神马、其实世界末日只是浮云而已!
2012-01-16 05:01 606下页%请点击★☆2012要 ... -
《另一种灿烂生活》:神马都是浮云广告才是主角
2012-01-16 05:01 615《另一种灿烂生活》:神马都是浮云广告才是主角 2012年01 ...
相关推荐
最新单片机仿真 ds18b20最新单片机仿真 ds18b20最新单片机仿真 ds18b20最新单片机仿真 ds18b20最新单片机仿真 ds18b20最新单片机仿真 ds18b20最新单片机仿真 ds18b20最新单片机仿真 ds18b20最新单片机仿真 ds18b20...
DS18B20代码51单片机源码,以及资料。。。51、51单片机,DS18B20是常用的数字温度传感器
采用18B20的温度传感器源程序和通信软件。控制器采用51单片机。
51单片机Proteus仿真实例 DS18B20温度传感器实验51单片机Proteus仿真实例 DS18B20温度传感器实验51单片机Proteus仿真实例 DS18B20温度传感器实验51单片机Proteus仿真实例 DS18B20温度传感器实验51单片机Proteus仿真...
ds18b20与单片机的通信 ds18b20是适用于日常生活的温度传感器使用方便。价格合理非常适合用于开发。
最新单片机仿真 DS18B20温度传感器实验最新单片机仿真 DS18B20温度传感器实验最新单片机仿真 DS18B20温度传感器实验最新单片机仿真 DS18B20温度传感器实验最新单片机仿真 DS18B20温度传感器实验最新单片机仿真 DS18B...
51单片机Proteus仿真实例 用1602LCD与DS18B20设计的温度报警器51单片机Proteus仿真实例 用1602LCD与DS18B20设计的温度报警器51单片机Proteus仿真实例 用1602LCD与DS18B20设计的温度报警器51单片机Proteus仿真实例 用...
DS18B20_单片机数码管显示原理图和程序,感觉还不错
单片机C语言程序设计 DS18B20温度传感器实验(有源码)单片机C语言程序设计 DS18B20温度传感器实验(有源码)单片机C语言程序设计 DS18B20温度传感器实验(有源码)单片机C语言程序设计 DS18B20温度传感器实验(有源码)...
亲自做的 内涵源码 电路原理图 仿真绝对好用
DS18B20是一款数字温度传感器,广泛应用于温度测量领域。本篇文章将介绍基于51单片机的DS18B20测温系统设计。 设计所需物品: - 51单片机开发板 - DS18B20数字温度传感器 - 4位LED数码管模块 - 蜂鸣器模块 - 其他...
DS18B20温度采集与显示,基于51单片机的实物编程测量与实验
C51单片机 项目3-数字温度传感器DS18B20应用 (仿真文件+程序包)C51单片机 项目3-数字温度传感器DS18B20应用 (仿真文件+程序包)C51单片机 项目3-数字温度传感器DS18B20应用 (仿真文件+程序包)C51单片机 项目3-...
ds18b20通用程序
多个ds18b20 51单片机 课堂演示通过 绝对好用模块化好
ds18b20单总线程序耗时较久,实际应用中局限较大,本程序采用10us定时中断方式,验证成功,采用程序放中断中,主程序中放到合适位置调用读取数据即可。
ds18b20与单片机的应用,显示整数和小数点,听使用的,和大家一起分享
STM32温度传感器DS18B20加串口通信,STM32标准库F103C8T6库,包含中文硬件手册,原理教程手册文档,原理图。 接线:PB7接DS18B20数据总线,3.3V接DS18B20正极,GND接DS18B20负极 PB0接PC13控制LED灯亮灭 串口A9...
在proteus7上进行仿真,stc89c52rc+ds18b20在数码管上现实温度
基于ds18b20的单片机多点温度采集系统汇编语言版