问答
产品
|
公司
|
配件目录
|
EPC底盘号查询
下载手机汽配人
汽配人首页 >
问答首页
DS18B20温度传感器的使用方法
问
提问者:网友
|
2017-04-30
最佳回答
;这是关于DS18B20的读写程序,数据脚P2.2,晶振11.0592mhz;温度传感器18B20汇编程序,采用器件默认的12位转化,最大转化时间750微秒;可以将检测到的温度直接显示到AT89C51的两个数码管上;显示温度00到99度,很准确无需校正!ORG 0000H;单片机内存分配申明!TEMPER_L EQU 29H;用于保存读出温度的低8位TEMPER_H EQU 28H;用于保存读出温度的高8位FLAG1 EQU 38H;是否检测到DS18B20标志位a_bit equ 20h ;数码管个位数存放内存位置b_bit equ 21h ;数码管十位数存放内存位置MAIN:LCALL GET_TEMPER;调用读温度子程序;进行温度显示,这里我们考虑用网站提供的两位数码管来显示温度;显示范围00到99度,显示精度为1度;因为12位转化时每一位的精度为0.0625度,我们不要求显示小数所以可以抛弃29H的低4位;将28H中的低4位移入29H中的高4位,这样获得一个新字节,这个字节就是实际测量获得的温度;这个转化温度的方法可是我想出来的哦~~非常简洁无需乘于0.0625系数MOV A,29HMOV C,40H;将28H中的最低位移入CRRC AMOV C,41HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV 29H,ALCALL DISPLAY;调用数码管显示子程序CPL P1.0AJMP MAIN; 这是DS18B20复位初始化子程序INIT_1820:SETB P2.2NOPCLR P2.2;主机发出延时537微秒的复位低脉冲MOV R1,#3TSR1:MOV R0,#107DJNZ R0,$DJNZ R1,TSR1SETB P2.2;然后拉高数据线NOPNOPNOPMOV R0,#25HTSR2:JNB P2.2,TSR3;等待DS18B20回应DJNZ R0,TSR2LJMP TSR4 ; 延时TSR3:SETB FLAG1 ; 置标志位,表示DS1820存在CLR P1.7;检查到DS18B20就点亮P1.7LEDLJMP TSR5TSR4:CLR FLAG1 ; 清标志位,表示DS1820不存在CLR P1.1LJMP TSR7TSR5:MOV R0,#117TSR6:DJNZ R0,TSR6 ; 时序要求延时一段时间TSR7:SETB P2.2RET; 读出转换后的温度值GET_TEMPER:SETB P2.2LCALL INIT_1820;先复位DS18B20JB FLAG1,TSS2CLR P1.2RET ; 判断DS1820是否存在?若DS18B20不存在则返回TSS2:CLR P1.3;DS18B20已经被检测到!!!!!!!!!!!!!!!!!!MOV A,#0CCH ; 跳过ROM匹配LCALL WRITE_1820MOV A,#44H ; 发出温度转换命令LCALL WRITE_1820;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒LCALL DISPLAYLCALL INIT_1820;准备读温度前先复位MOV A,#0CCH ; 跳过ROM匹配LCALL WRITE_1820MOV A,#0BEH ; 发出读温度命令LCALL WRITE_1820LCALL READ_18200; 将读出的温度数据保存到35H/36HCLR P1.4RET;写DS18B20的子程序(有具体的时序要求)WRITE_1820:MOV R2,#8;一共8位数据CLR CWR1:CLR P2.2MOV R3,#5DJNZ R3,$RRC AMOV P2.2,CMOV R3,#21DJNZ R3,$SETB P2.2NOPDJNZ R2,WR1SETB P2.2RETREAD_18200: ; 读DS18B20的程序,从DS18B20中读出两个字节的温度数据MOV R4,#2 ; 将温度高位和低位从DS18B20中读出MOV R1,#29H ; 低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)RE00:MOV R2,#8;数据一共有8位RE01:CLR CSETB P2.2NOPNOPCLR P2.2NOPNOPNOPSETB P2.2MOV R3,#8RE10:DJNZ R3,RE10MOV C,P2.2MOV R3,#21RE20:DJNZ R3,RE20RRC ADJNZ R2,RE01MOV @R1,ADEC R1DJNZ R4,RE00RET;显示子程序display: mov a,29H;将29H中的十六进制数转换成10进制mov b,#10 ;10进制/10=10进制div abmov b_bit,a ;十位在amov a_bit,b ;个位在bmov dptr,#numtab ;指定查表启始地址mov r0,#4dpl1: mov r1,#250 ;显示1000次dplop: mov a,a_bit ;取个位数MOVC A,@A+DPTR ;查个位数的7段代码mov p0,a ;送出个位的7段代码clr p2.7 ;开个位显示acall d1ms ;显示1mssetb p2.7mov a,b_bit ;取十位数MOVC A,@A+DPTR ;查十位数的7段代码mov p0,a ;送出十位的7段代码clr p2.6 ;开十位显示acall d1ms ;显示1mssetb p2.6djnz r1,dplop ;100次没完循环djnz r0,dpl1 ;4个100次没完循环ret;1MS延时D1MS: MOV R7,#80DJNZ R7,$RET;实验板上的7段数码管0~9数字的共阴显示代码numtab: DB 0CFH,03H,5DH,5BH,93H,0DAH,0DEH,43H,0DFH,0DBHEND
回答者:网友
产品精选
我来回答
看不清?换一个
提交答案
相关已解答问题
黄头后八轮翻斗车水温70度时发动机怠速机油压力只有一个压,怠速时还有点着不住火。加油时达到4个压,是什
为什么我的中华骏捷07款1.6L手动型最近油耗增高了,并且加速无力是怎么回事?
汽车经常水温过高是什么问题导致的,且一般怎么解决
温控仪表xmpd-2201最适合配用的温控元件是不是温度传感器,如果是,那型号是什么?价格?
加热型传感器指的是前氧传感还是后氧传感?
我的奇瑞QQ308自动档的 开着开着就报警了 但没看是什么故障灯 停下后自动档就挂不上了 改成手动后走了一
汽车自动悬架原理及检修分析
东风小王子汽车,怠速稳定,行驶中放炮,跑不起来,拔下水温传感器后就好了,怎么回事。
小车仪表指示灯主要内容:悦达起亚仪表zhezk显黄色是什么原因?
制作烘箱,温控仪,传感器,可控硅什么的都已经准备好了,请问需要用PLC控制PID吗?
在移动端查看:
DS18B20温度传感器的使用方法
搜索问答
还没有汽配人账号?
立即注册
我要提问
精彩推荐
1
圆螺母用止动垫圈的画法
2
A型2槽皮带轮的尺寸
3
电动车下面左右两边的塑料挡板是叫什么?
4
力帆‘LF125-9’和‘LF125-19街霸’摩托车
5
今天起步挂一档没挂到位,松离合就打齿轮了。这样对车伤害大吗?
6
DS18B20温度传感器与单片机间的通信线(延长线)可以多长
7
CNG单点减压阀如何调节
8
CNG加气站天然气放散管阻火器的安装,需要安装阻火器吗?有没有什么要求? CNG加气母站有一个总的放散
9
重汽豪卡发动机机油加大油门压力正常,苔速有时正常有时报警,小油门走也一样不加大油门机油压力就不上...
10
西门子G120变频器通过面板设置只能点动,怎样才能用面板正常启动电机呢?
周边商家推荐
周边产品推荐
相关问答
进气支管温度传感器坏了会引起什么毛病?
一台低温冷风机,选膨胀阀,电磁阀,蒸发压力调节阀,压力表,温度传感器
求常用的空气湿度传感器,温度传感器,光强传感器,土壤湿度传感器。
如何选择能告诉我怎么选择液位传感器,温度传感器
空调温度传感器的阻值大小不同会有什么影响
可口可乐展示柜显示PO(温度传感器的故障)哪个温度传感器坏了
雪佛兰科鲁兹车内温度传感器在哪里啊???是室内温度传感器哦!!!
PT100温度传感器经过中间继电器后电流信号不稳定,上位机所显示的温度不稳定是什么原因
温度传感器出现负值,测量高温时能显示
液体温度传感器
产品精选
冷却液温度传感器
温度传感器
康明斯温度传感器
isc温度传感器
十堰温度传感器
武汉温度传感器
北京温度传感器
锦欧温度传感器
绝对温度传感器
温度传感器
优势厂家
冷却液温度传感器厂家
温度传感器厂家
空气温度传感器厂家
冷却温度传感器厂家
潍柴温度传感器厂家
燃油温度传感器厂家
风神温度传感器厂家
玉柴温度传感器厂家
北京温度传感器厂家
温度传感器厂家
图片大全
冷却液温度传感器图片
温度传感器图片
雷洛温度传感器图片
雷诺温度传感器图片
小松温度传感器图片
风神温度传感器图片
福特温度传感器图片
武汉温度传感器图片
北京温度传感器图片
温度传感器图片
推荐主题
冷却液温度传感器
温度传感器
燃油温度传感器
德龙室内温度传感器
奥龙温度传感器
三帝温度传感器
道奇温度传感器
北京温度传感器
iii温度传感器
温度传感器
本页是网友提供的关于“DS18B20温度传感器的使用方法”的解答,仅供您参考,汽配人网不保证该解答的准确性。
协议规则
服务协议
交易规则
注册新用户
帮助中心
网站服务
汽配旺铺
网价查询
商用车EPC查询
营销宝
特色市场
商用车市场
乘用车市场
东风市场
重汽市场
陕汽市场
一汽市场
北汽市场
江淮市场
专用汽车
地方分站
江苏分站
广东分站
山东分站
吉林分站
专用车分站
河南分站
十堰产业带
云南分站
陕西市场
移动端
手机登录:m.qipeiren.com
iPhone
Android
关于我们
|
友情链接
|
汽车配件批发
|
汽车配件图片
|
汽车配件大全
|
汽配问答
|
汽配厂家
|
汽配品牌
|
汽配主题
|
汽配城
|
鄂ICP备14009261号
经营许可证编号:鄂B2-20140114
服务热线:0719-8311727
Copyright © 2005-2024 十堰亿脉科技有限公司 版权所有
鄂公网安备 42030202000345号