带温度电子时钟.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简易数字温度计 (附加电子钟) 班 级: 自动化08—12班 学生姓名: 时间: 从2010年 12月 25日 到 2011年 1 月 3日 一、摘要:本系统以STC89C52单片机为核心,采用高精度温度传感器DS18B20采样温度数据,将温度转换成数字信号,由STC89C52单片机负责发出指令和接收采样数据,经过数据处理后,并以字符LCD1602实现温度显示的简易测温系统。在温度的检测与控制方面,由于18B20小型温度检测系统及其数字温度传感器有许多突出的优点,其通过单总线与单片机连接,系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度检测。为了不让功能太单一,造成资源的浪费,本人利用单片机本身定时器模拟了一套电子时钟,可实现时钟设置,闹钟,倒计时,秒表等功能! 二、关键词:STC89C52单片机,DS18B20数字温度传感器,LCD1602液晶显示器。 三、设计原理与总体方案: 方案论证与比较 一、温度计 方案一:采用STC89C52单片机作为核心控制器,利用AD590温度传感器完成温度的测量,把转换的温度值的模拟量送入STC89C52单片机的P0端口的其中一个通道进行A/D转换,将转换的结果进行温度值变换之后送入LCD1602显示。如图1所示。该方案硬件电路简单,容易实现,但相对于方案二,其成本相对高,精度也低,测温点数量少,对线阻有要求。 图1 方案一系统设计框图 图2 方案二系统设计框图DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。 方案一:采用单片机内部定时器进行模拟,设定定时器到一定时间产生中断,当中断次数达到一秒时秒钟加一,当秒钟加一到60,则分钟加一,下则时钟加一,以此实现电子计时。次设计方案虽然对硬件要求不高,但是对单片机内部资源消耗过大,由于是利用定时器进行模拟,长期运行可能存在大的时间误差! 由于我的初衷是设计一个数字温度计,但是发现功能太单一,造成了资源的浪费,同时想让自己对单片机的定时器有更深入的理解,所以我选择了方案二,用两个定时器T0,T1模拟出了一套多功能电子时钟。其中实现了时钟显示,日期显示,闹钟报警,秒表计时,倒计时报警等功能!可通过四个按键对时钟,闹钟,秒表,定时器进行设置。 四、硬件设计: 硬件电路主要分为供电系统、温度采集、控制电路、单片机系统,显示电路和报警电路六部分。其总体电路图如图1所示。 图1 总体电路图 4.1供电系统: 本供电电路用一个1/18的变压器将220V交流电变为12V,通过全桥整流变成直流电,在通过稳压芯片L7805稳压成5V直流电,在通过电容滤波最后变成稳定的5V直流电对系统供电,具体电路如图2所示。 图2供电电路 4.2:温度采集 本系统用一个集成的数字温度传感器DS18B20进行温度的采集。DS18B20通过P2.6口将温度数据传给单片机,由单片机进行处理,最后显示!电路如图3所示。 图3 温度采集电路 4.3控制电路: 本系统通过4个独立按键对系统进行设置。数据选择电路如图4所示。 图4 控制电路 4.4单片机系统: 单片机采用STC89C52,采用12MHZ的晶振频率。单片机系统的电路如图5所示。 图5 单片机系统 4.5显示电路: 显示电路由1602组成,其电路如图6所示。 图6 显示电路 4.6报警电路: 报警电路由一个PNP三极管驱动蜂鸣器组成,其电路如图7所示。 图7 报警电路 五 软件设计: 多功能温度计的软件设计主要由主程序、显示程序、温度采集程序组成。 5.1温度计程序设计: 操作步骤 根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤: 每一次读写之前都要对DS18B20进行复位操作。 复位成功后发送一条ROM指令。 最后发送RAM指令。 这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。 ROM指令表 指 令 约定代码 功 能 读ROM 0x33 读DS1820温度传感器ROM中的编码(即64位地址) 符合 ROM 0x55 发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820

文档评论(0)

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

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

1亿VIP精品文档

相关文档