温度传感器18b20做地温度计.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
温度传感器18b20做地温度计

本电路采用用DS18B20做温度传感器,3位共阳数码管做显示,AT89C2051单片机做处理控制,电路简单,无需调试,安装好后就可以使用了。从X1接入5V±0.5V直流电源(注意正负极),按一下S1进入温度设定状态,这时可以按S2或S3调整设定温度值,再按一下S1电路显示当前的温度值,长按S1为关闭显示和温控,再次S2和S3任意一键再次打开。电路中还设计了一路控制输出,当当前温度超出设定温度时LED1被点亮,同时从X2输出5V电压,可驱动5V继电器等。 ;************************************** ; 数据变量定义 ;************************************** TEMPL EQU 34H ;DS18B20温度采集低八位 TEMPH EQU 35H ;DS18B20温度采集高八位 L0 EQU 30H ;实时温度 L1 EQU 31H ;个位显示缓存 L2 EQU 32H ;十位显示缓存 L3 EQU 33H ;百位显示缓存 HW EQU 3FH ;最高温度 T1_S EQU 3EH ;------------------------------------------------ ;----数码管----段选--------- P_A BIT P1.0 P_B BIT P1.1 P_C BIT P1.2 P_D BIT P1.3 P_E BIT P1.4 P_F BIT P1.5 P_G BIT P1.6 ;-------位选----------------- BAI_W BIT P3.2 SHI_W BIT P3.3 GE_W BIT P3.4 ;--------LED----------------- JDQ BIT P3.5 ;--------按键---------------- S1 BIT P1.7 S2 BIT P3.0 S3 BIT P3.1 ;-------DS18B20-------------- DS18B20 BIT P3.7 ;DS18B20数据脚定义 S1_1 BIT 20H.0 XS_NO BIT 20H.1 ;************************************** ; 程序存储空间分配 ;************************************** ORG 0000H AJMP START ORG 000BH AJMP INT_T0 ORG 0030H ;************************************** ; 程序初始化 ;************************************** START: MOV SP,#60H MOV R0,#30H MOV R1,#20 ST1: MOV @R0,#0 INC R0 DJNZ R1,ST1 CLR S1_1 MOV HW,#16 MOV TMOD, ;定时器T0设定为工作方式1 MOV TH0,#4CH ;定时器T0计数初值高位 MOV TL0,#00H ;定时器T0计数初值低位 SETB EA ;开总中断 SETB ET0 ;允许定时器T0中断 SETB TR0 ;启动定时器T0 ;************************************** ; 主程序开始 ;************************************** LOOP: JB XS_NO,NO_XS CALL DISPLAY CALL BCD ;将2进制转成BCD码 CALL DISPLAY JMP LOOP ;************************************** ;t0中断服务子程序 ;************************************** INT_T0: PUSH ACC PUSH PSW MOV TH0,#4CH ;定时器T0计数初值高位 MOV TL0,#00H ;定时器T0计数初值低位 CALL WENDUZH ;调用温度转换子程序 ; CALL DISPLAY INC T1_S MOV A,T1_S CJNE A,#3,EXIT1 MOV T1_S,#00 CALL AJ EXIT1: POP PSW POP ACC RETI ;-------------------------------------------- ;----------------

文档评论(0)

vshoulrengb3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档