1、通信课程设计计划 G14组 王军 饶磊 王健1 设计题目 数字温度计设计2.总体设计方案2.1数字温度计设计方案论证2.1.1方案一因为本设计是测温电路, 能够使用热敏电阻之类器件利用其感温效应, 进行A/D转换后, 就能够用单片机进行数据处理, 在显示电路上, 就能够将被测温度显示出来, 这种设计需要用到A/D转换电路, 感温电路比较麻烦。2.1.2 方案二 进而考虑到用温度传感器, 在单片机电路设计中, 大多都是使用传感器, 所以这是非常轻易想到, 所以能够采取一只温度传感器DS18B20, 此传感器, 能够很轻易直接读取被测温度值, 进行转换, 就能够满足设计要求。依据单片机课程设计要求
2、与学习目, 学习A/D转换器应用与实现和单片机接口连接, 故采取方案一来实现数字温度计控制。2.2方案一总体设计框图温度计电路设计总体设计方框图如图1所表示, 控制器采取单片机AT89S51, A/D转换器采取0809传输, 温度传感器采取DS18B20, 用3位LED数码管以串口传送数据实现温度显示, 并用蜂鸣报警器来监视温度值不超出量程范围。主 控 制 器LED显 示温 度 传 感 器单片机复位时钟振荡报警点按键调整图1总体设计方框图2.2.1 主控制器单片机AT89S51含有低电压供电和体积小等特点, 四个端口只需要两个口就能满足电路系统设计需要, 很适合便携手持式产品设计使用系统可用二
3、节电池供电。2.2.2 显示电路显示电路采取3位共阳LED数码管, 从P3口RXD,TXD串口输出段码。2.2.3温度传感器DS18B20温度传感器是美国DALLAS半导体企业最新推出一个改善型智能温度传感器, 与传统热敏电阻等测温元件相比, 它能直接读出被测温度, 而且可依据实际要求经过简单编程实现位数字值读数方法。DS18B20性能特点以下: (1)独特单线接口仅需要一个端口引脚进行通信; (2)多个DS18B20能够并联在惟一三线上, 实现多点组网功效; (3)无须外部器件; (4)可经过数据线供电, 电压范围为3.05.5; (5)零待机功耗; (6)温度以9或12位数字; (7)用户
4、可定义报警设置; (8)报警搜索命令识别并标志超出程序限定温度(温度报警条件)器件; (9)负电压特征, 电源极性接反时, 温度计不会因发烧而烧毁, 但不能正常工作; DS18B20采取3脚PR35封装或8脚SOIC封装, 其内部结构框图如图2所表示。 C64 位ROM和单线接口高速缓存存放器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器VddI/O图2 DS18B20内部结构64位ROM结构开始位是产品类型编号, 接着是每个器件惟一序号, 共有48位, 最终位是前面56位CRC检验码, 这也是多个DS18B20能够采取一线进行通信原因。温度报警触发器和, 可经过软
5、件写入户报警上下限。DS18B20温度传感器内部存放器还包含一个高速暂存和一个非易失性可电擦除EERAM。高速暂存RAM结构为字节存放器, 结构如图3所表示。头个字节包含测得温度信息, 第和第字节和拷贝, 是易失, 每次上电复位时被刷新。第个字节, 为配置寄存器, 它内容用于确定温度值数字转换分辨率。DS18B20工作时寄存器中分辨率转换为对应精度温度数值。该字节各位定义如图3所表示。低位一直为, 是工作模式位, 用于设置DS18B20在工作模式还是在测试模式, DS18B20出厂时该位被设置为, 用户要去改动, R1和0决定温度转换精度位数, 来设置分辨率。由表1可见, DS18B20温度转
6、换时间比较长, 而且分辨率越高, 所需要温度数据转换时间越长。所以, 在实际应用中要将分辨率和转换时间权衡考虑。高速暂存第、 、 字节保留未用, 表现为全逻辑。第字节读出前面全部字节CRC码, 可用来检验数据, 从而确保通信数据正确性。当DS18B20接收到温度转换命令后, 开始开启转换。转换完成后温度值就以16位带符号扩展二进制补码形式存放在高速暂存存放器第、 字节。单片机能够经过单线接口读出该数据, 读数据时低位在先, 高位在后, 数据格式以0.0625LSB形式表示。当符号位时, 表示测得温度值为正值, 能够直接将二进制位转换为十进制; 当符号位时, 表示测得温度值为负值, 要先将补码变
7、成原码, 再计算十进制数值。表2是一部分温度值对应二进制温度数据。表1 DS18B20温度转换时间表 DS18B20完成温度转换后, 就把测得温度值与RAM中TH、 T字节内容作比较。若TH或TTL, 则将该器件内报警标志位置位, 并对主机发出报警搜索命令作出响应。所以, 可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM最高有效字节中存放有循环冗余检验码(CRC)。主机ROM前56位来计算CRC值, 并和存入DS18B20CRC值作比较, 以判定主机收到ROM数据是否正确。DS18B20测温原理是这这么,器件中低温度系数晶振振荡频率受温度影响很小, 用于产生固定频率脉冲信号送给
8、减法计数器; 高温度系数晶振随温度改变其振荡频率显著改变, 所产生信号作为减法计数器脉冲输入。器件中还有一个计数门, 当计数门打开时, DS18B20就对低温度系数振荡器产生时钟脉冲进行计数进而完成温度测量。计数门开启时间由高温度系数振荡器来决定, 每次测量前, 首先将55所对应一个基数分别置入减法计数器、 温度寄存器中, 计数器和温度寄存器被预置在55所对应一个基数值。减法计数器对低温度系数晶振产生脉冲信号进行减法计数, 当减法计数器预置值减到时, 温度寄存器值将加, 减法计数器预置将重新被装入, 减法计数器重新开始对低温度系数晶振产生脉冲信号进行计数, 如此循环直到减法计数器计数到时, 停
9、止温度寄存器累加, 此时温度寄存器中数值就是所测温度值。其输出用于修正减法计数器预置值, 只要计数器门仍未关闭就反复上述过程, 直到温度寄存器值大致被测温度值。另外, 因为DS18B20单线通信功效是分时完成, 它有严格时隙概念, 所以读写时序很关键。系统对DS18B20多种操作按协议进行。操作协议为: 初使化DS18B20(发复位脉冲)发ROM功效命令发存放器操作命令处理数据。图4 DS18B20与单片机接口电路2.3 DS18B20温度传感器与单片机接口电路DS18B20能够采取两种方法供电, 一个是采取电源供电方法, 此时DS18B201脚接地, 2脚作为信号线, 3脚接电源。另一个是寄
10、生电源供电方法, 如图4 所表示单片机端口接单线总线, 为确保在有效DS18B20时钟周期内提供足够电流, 可用一个MOSFET管来完成对总线上拉。当DS18B20处于写存放器操作和温度A/D转换操作时, 总线上必需有强上拉, 上拉开启时间最大为10us。采取寄生电源供电方法时VDD端接地。2.4 系统整体硬件电路2.4.1 主板电路系统整体硬件电路包含, 传感器数据采集电路, 温度显示电路, 上下限报警调整电路, 单片机主板电路, A/D转换器等, (1)单片机8051(2)直流稳压电源 按设计要求需加直流稳压电源用来对温度控制系统进行供电。如图: 图5.1 直流稳压电源(3)A/D转换部分
11、A/D转换部分采取ADC0809, A/D转换器0809任务是将模拟量转换成数字量,它是模拟信号和数字仪器接口。2.4.2 显示电路显示电路是使用串口显示, 这种显示最大优点就是使用口资源比较少, 只用p3口RXD,和TXD,串口发送和接收, 四只数码管采取74LS164右移寄存器驱动, 显示比较清楚。2.5系统软件算法分析系统程序关键包含主程序, 读出温度子程序, 温度转换命令子程序, 计算温度子程序, 显示数据刷新子程序等。2.5.1主程序初始化调用显示子程序1S到?首次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令NYNY主程序关键功效是负责温度实时显示、 读出并处理DS18B20测量目前温度值, 温度测量每1s进行一次。这么能够在一秒之内测量一次被测温度, 其程序步骤见图7所表示。 2.6读出温度子程序2.7温度转换命令子程序2.8 计算温度子程序2.9 显示数据刷新子程序3.设计器件单片机AT89S51, A/D转换器ADC0809, 温度传感器DS18B20, 3位LED数码管, 蜂鸣报警器, 二节电池, 直流稳压电源, 单片机8051, 74LS164寄存器驱动, 编程软件, 电容、 三极管、 电阻、 电线若干。