基于单片机温度上下限控制系统设计-毕设课设资料

【资源下载】下载地址如下1524:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

前言

对于现代工业生产过程,温度是一个非常重要的参数,例如,仓库温度,锅炉热水温度等。对温度的监测,需要满足实时性,下面介绍一种简易的温度监控系统,其兼具良好的经济和高效性。

1、任务要求与效果呈现

设计温度监控系统,采用DS18B20作为测温传感器,用AT89C2051作处理器,用数码管显示,并用LED灯作报警器。当测量温度高于100℃或低于-20℃时,发出警报。其效果如图1所示。

(a)规定温度范围内的正温度,数码管显示温度,LED不亮即不报警

(b)规定温度范围内的负温度,数码管显示温度,LED不亮即不报警

 

(c)超出温度上限(100℃),数码管显示温度,LED亮即报警

      ORG   0000H
      LJMP  MAIN
      ORG   0030H
MAIN:LCALL  CSH0    ;DS18B20初始化
     MOV    A,#0CCH ;单点测温时执行跳过ROM命令节省访问时间
     LCALL  WRITE
     MOV    A,#44H  ;发开始温度转换命令 
     LCALL  WRITE
     LCALL  CSH0    ;DS18B20初始化                                 
     MOV    A,#0CCH ;单点测温时执行跳过ROM命令节省访问时间          
     LCALL  WRITE                                                   
     MOV  A,#0BEH ;读存储器命令(读的字节暂存存储器,此后读操作)
     LCALL  WRITE    
     LCALL  READ   ;读出已转换的温度值低字节
     MOV    2BH,A
     LCALL  READ   ;读出已转换的温度值高字节
     MOV    2CH,A
     LCALL  ERSH    ;二进制转化成十进制
     LCALL  DISPL   ;调用动态显示的子程序
	 LCALL  MAXorMIN;***判断是否超出上下限***
     LJMP   MAIN    
;******************第一个DS18B20初始化子程序*******************
CSH0:CLR    P3.0           
     MOV    R2,#250
CSH1:DJNZ   R2, CSH1  ;主机发置位脉冲持续2μs*240=480μs 
     SETB   P3.0      ;主机释放总线控制P3.2口改为输入 
     MOV    R2,#30
CSH4:DJNZ   R2, CSH4  ;DS18B20等待2μs*30=60μs
     JB     P3.0,CSH0 ;DS18B20没准备好,重来
     MOV    R3,#120     ;DS18B20数据线变低
CSH5:DJNZ   R3,CSH5   ;DS18B20数据线低电平状态可持续2μs*120=240us
     JB     P3.0,CSH3 ;18B20数据线变高,初始化成功
     LJMP   CSH0       ;初始化失败,重来
CSH3:MOV   R2,#240
CSH2:DJNZ  R2, CSH2;18B20应答过程最少2μs*240=480μs
      RET
;******************写DS18B20子程序**********************

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值