基于51的单片机的数字温度计.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
硬件 课程设计实验报告 课 题: 数字温度计 班 级: 作 者: 学 号: 指导老师: 课设评价: 课设成绩: 目录 一.需求分析 1 二.概要设计 1 三.硬件电路设计 3 四.系统软件设计 5 五.软件仿真 8 六.实际连接与调试 9 七.本次课设的收获与感受 11 附录(程序源代码) 12 需求分析 功能要求: 测量环境温度,采用接触式温度传感器测量,用数码管显示温度值。 设计要求: (一)功能要求   (1) 由4位数码管显示当前温度。    (2) 具备报警,报警门限通过键盘设置。 (3) 精度为0.5℃。 (二)画出参考的电路原理图 (三)画出主程序及子程序流程图、画出MCS51内部RAM分配图,并进行适当地解释。 (四)写出实现的程序及实现过程。并进行适当地解释说明。 概要设计 (一)方案选择 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 (二)系统框图 该系统可分为以下七个模块: 控制器:采用单片机STC89C52对采集的温度数据进行处理; 温度采集:采用DS18B20直接向控制器传输12位二进制数据; 温度显示:采用了4个LED共阴极七段数码管显示实际温度值; 门限设置:主要实现模式切换及上下门限温度的调节; 报警装置:采用发光二极管进行报警,低于低门限或高于高门限均使其发光; 复位电路:对整个系统进行复位; 时钟振荡模块:为整个系统提供统一的时钟周期。 (三)重要器件及其相关参数 (1)单片机STC89C52 P0.0~P0.7:通用I/O引脚或数据低8位地址总线复用地址; P1.0~P1.7:通用I/O引脚; P2.0~P2.7:通用I/O引脚或高8位地址总线复用地址; P3.0~P3.7:通用I/O引脚或第二功能引脚(RxD、TxD、 INT0、INT1、T0、T1、WR、RD); XTAL1、XTAL2:外接晶振输入端; RST/Vpd:复位信号输入引脚/备用电源输入引脚; Vcc:接+5V电源; Vss:地端。 (2)DS18B20 (a)通过单线总线端口访问 DS1820 的协议如下: ? 初始化 ? ROM 操作命令 ? 存储器操作命令 ? 执行/数据 DS1820 需要严格的协议以确保数据的完整性。协议包括几种单线信号类型:复位脉冲、存在脉冲、写0、写1、读0 和读1。所有这些信号,除存在脉冲外,都是由总线控制器发出的。 和 DS1820 间的任何通讯都需要以初始化序列开始,初始化序列见图11。一个复位脉冲跟着 一个存在脉冲表明DS1820 已经准备好发送和接收数据(适当的ROM 命令和存储器操作命令) (b)当总线上只有一个器件时,DS18B20读温度的流程为: 复位 发0CCH SKIP ROM命令 发44H开始转换命令 延时 复位 发0CCHSKIP ROM命令 发0BEH读存储器命令 连续读出两个字节数据(即温度) 结束。 Convert T [44h] 这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后DS1820 保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙,而DS1820 又忙于做时间转换的话,DS1820 将在总线上输出“0”,若温度转换完成,则输出“1”。如果使用寄生电源,总线控制器必须在发出这条命令后立即起动强上拉,并保持500ms。 Read Scratchpad [BEh] 这个命令读取暂存器的内容。读取将从字节0 开始,一直进行下去,直到第9(字节8,CRC) 字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。 (c)DS18b20 用12 位存贮温值度最高位为符号位,下图为18b20 的温度存储方式,负温度S=1 正温度S=0 LSB: D7 D6 D5 D4 D3 D2 D1 D0 23 22 21 20 2-1 2-2 2-3 2-4 MSB: D7 D6 D5 D4 D3 D2

文档评论(0)

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

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

1亿VIP精品文档

相关文档