基于STCC单片机的LED温度计设计.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于STCC单片机的LED温度计设计

目录 1.、设计的任务与要求 2 1.1系统设计背景 2 1.2理论基础 2 2、总体设计和系统框图 2 2.1温度采集模块 3 2.2温度显示模块 3 3、设计方案 4 3.1硬件设计 4 3.1.1供电电路设计 4 3.1.4温度采集模块设计 4 3.1.5显示电路 5 3.2软件设计 6 3.2.1 DS18B20的读写时序 6 3.2.2程序流程图 7 4、硬件原理图 8 5、系统仿真和调试 8 6、结果分析 13 7、设计总结和体会 14 8、参考文献 15 摘要 设计中采用51系列单片机和DS18B20温度传感器,实现数字温度测量,用数码管把温度实时显示出来,温度以两位整数位和一位小数位的形式显示。 本系统主要包括供电模块、单片机最小系统模块、DS18B20温度采集模块和LED数码管显示模块。 关键词:51单片机 DS18B20 LED 1.、设计的任务与要求 1.1系统设计背景 温度测量是从金属(物质)的热胀冷缩开始,常用的检测方法有电阻式、热电偶式、PN结型、辐射型、光纤式及石英谐振型等。这些检测方法都是基于温度变化引起其物理参数(如电阻值,热电势等)变化的原理。随着大规模集成电路工艺的提高,出现了多种集成的数字化温度传感器。 图1 2.1温度采集模块 采用DS18B20温度传感器,DS18B20输出的量为数字量,只要按特定的时序读出数值就可获得温度数据,电路较为简单且成本较低,DS18B20如图3所示,所以选择方案二。 图3 DS18B20 2.2温度显示模块 采用LED数码管显示,虽然占用了单片机较多的时间,但数码管显示的较清晰,且价格较便宜连接电路简单。 3、设计方案 3.1硬件设计 51系列单片机性能稳定价格便宜功耗低,使用于在较低应用下的智能系统的设计。 3.1.1供电电路设计 该单片机的正常工作电压为+5V,可以由外界直接输入+5V电压,此单片机采用USB供电。 图4 供电电路 3.1.4温度采集模块设计 本系统采用DS18B20作为温度采集芯片,DS18B20通过一个单线接口发送或接收信息,因此在中央微处理器和DS18B20之间仅需一条连接线,每只DS18B20都有一个独特的片序列号,所以多只DS18B20可以同时连在一根单线总线上。DS1820 依靠一个单线端口通讯。在单线端口条件下,必须先建立 ROM 操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面 5 个 ROM 操作命令之一:1)读 ROM,2)匹配 ROM,3)搜索ROM,4)跳过 ROM,5)报警搜索。这些命令对每个器件的激光 ROM 部分 进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条 ROM 操作序列后,即可进行存储器和控制操作,控制器可以提供 6 条存储器和控制操作指令中的任一条。 一条控制操作命令指示 DS1820 完成一次温度测量。测量结果放在 DS1820 的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。硬件电路设计如图7所示。 图7 DS18B20硬件连接 3.1.5显示电路 我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示不同的字形。数码管又分为共阴极和共阳极两种,共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。共阳极就是将八个LED的阳极连在一起。其原理图如图9所示。 图9 LED原理图 3.2软件设计 3.2.1 DS18B20的读写时序 图10 初始化过程 复位和存在脉冲 图11 控制器写时序 图12 控制器读时序 3.2.2程序流程图 图13 系统流程图 4、硬件原理图 5、系统仿真和调试 在仿真过程中观察到数码管显示的温度可以很好的跟踪温度的变化。具有较好的灵活性和准确性。程序源代码如下。 #includereg52.h #includeintrins.h sbit p1_1=P1^0; sbit DS=P3^3; unsigned int a,i; unsigned char duma[] = {0x28,0xF9,0x4C,0x58,0x99,0x1A,0x0B,0xF8,0x08,0x98,0x88,0x08,0x2E,0x28,0x0E,0x8E,0xF7}; unsigned code wema[]={0x7F,0xBF,0xDF,0xEF}; unsigned baiwei,shiwei,gewei,dianhou; #define ucha

文档评论(0)

ipad0a + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档