数字温度计课程设计报告目录1. 设计任务 .................................................................... ................ .. (1)1.1设计目的 . .......................................... .............. (1)1.2设计指标 . ............................... ...................... . (1)1.3设计要求 (1)2.设计思路与总体框图................................................ .. (1)3.系统硬件电路的设计............................................... (2)3.1主控电路 .................................................. (2)3.2液晶显示电路 (3)3.3按键电路 ........... ................................................... .. (3)3.4报警电路 .......................................... . (4)4.系统仿真设计 (4)4.1仿真原理图 ............................................................... ...... (4)4.2各功能元件的分析 (5)5.系统软件设计 (10)5.1主程序 (11)5.2读出温度子程序 (11)5.3温度转换命令子程序 (12)5.4设计温度子程序 (12)5.5 1602 的温度显示 (13)6.总结与体会 ...................................................................................... .... . (13)6 1总结 ............................................................ ....... . (13)6. 2 体会 ............................................................ ....... . (14)7.参考文献 ............................................................ ....... .. (15)8.附录 (16)1.设计任务1数字温度计课程设计报告1.1 设计目的1.了解数数字温度计及工作原理。
2.进一步掌握数字温度计设计方法。
3.进一步掌握各芯片的逻辑功能及使用方法。
4.进一步掌握 keil 和仿真软件的应用。
5.进一步熟悉集成电路的引脚安排 . 。
1.2 设计指标1.显示温度。
2.可以显示大于零度的温度也可以显示小于零度的温度。
3.具有显示相应环境温度的功能,并且具有超出设定范围内温度时可以报警的功能,相应环境可以人为选择。
1.3 设计要求1.画出总体设计框图,以说明数字温度计由哪些相对独立的功能模块组成,标出各个模块之间互相联系。
并以文字对原理作辅助说明。
2.设计各个功能模块的电路图,加上原理说明。
3.选择合适的元器件,在面包板上接线验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。
4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局,进行整个数字温度电路的接线调试。
2.设计思路与总体框图 .数字温度计由主控制器(单片机)、温度传感器 (DS18B20)、显示器(LCD1602)、独立按键和报警电路组成,温度传感器所感应的温度信号经过其数据传输引脚传送给单片机,单片机将所接收到的温度信号经过处理,将其送至显示器LCD1602显示,并且能够通过独立按键设置温度报警值,若温度处于报警上限和下限之外,报警电路工作。
图 1 所示为数字温度计的一般结构框图:LCD1602 显示报警温度调STC90C51整键主控2制器数字温度计课程设计报告蜂鸣器,指示灯单片机时钟振荡DS18B20 传感器▲图 1数字温度计结构框图3.系统硬件电路的设计3.1 主控电路单片机 STC90C51具有低电压供电和体积小等特点,四个端口同时使用以满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
晶振采用 12MHZ。
▲图 2主控电路3数字温度计课程设计报告▲图 3晶振电路3.2 温度显示电路采用液晶显示屏LCD1602显示,第一行显示“ 18B20 OKTL”和报警下限值 ,第二行显示实时温度以及报警上限值,并且能够显示负温度值。
用P0口进行LCD1602的数据写操作, P2.5~P2.7 口进行 LCD1602的命令控制端口。
电路图如下:▲图 4温度显示电路3.3按键电路本系统一共设置了四个按键, k1 键设置温度下限加, k2 键设置温度下限减k3 键设置温度上限加, k4 键设置温度上限减。
4数字温度计课程设计报告▲图 5按键电路3.4 报警电路本设计采用蜂鸣器和LED灯组成报警电路,电路图如下:▲图6报警电路4.系统设计仿真4.1 仿真原理图根据数字温度计的一般结构框图,我们通过查阅资料书和上网查询,了解不同元件的功能和实用性,考虑性价比后,制作出的数字温度计的仿真电路原理图,如图 7 所示。
5数字温度计课程设计报告▲图 7数字温度计仿真电路原理图4.2 各功能元件的分析[2]设计原理图中各功能元件的引脚图的分析如下所示:1. DS18B20:DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12 位的数字值读数方式。
DS18B20的性能特点如下:(1)独特的单线接口仅需要一个端口引脚进行通信,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)DS18B20支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点组网测温;(3)无须外部器件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;6数字温度计课程设计报告(4)可通过数据线供电,电压范围为 3.0-5.5 V;(5)零待机功耗;(6)温度以 9或 12位数字,对应的可分辨温度分别为0.5 ℃、0.25 ℃、0.125 ℃和 0.0625 ℃,可实现高精度测温;(7)用户可定义报警设置;(8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;(9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;(10)测量结果直接输出数字温度信号,以" 一线总线 " 串行传送给 CPU,同时可传送 CRC校验码,具有极强的抗干扰纠错能力DS18B20采用 3脚PR35封装或 8脚 SOIC封装,其引脚排列及内部结构框:▲图 8DS18B20 引脚排列图▲图 9 内部结构框图7数字温度计课程设计报告预置斜率累加器低温度系数振荡计数器1比较T1预置Tx加 1高温度系数振荡=0温度寄存器停止计数器 2-0T2▲图10DS18B20 测温原理图64 位 ROM的结构开始 8 位是产品类型的编号,接着是每个器件的惟一的序号,共有 48 位,最后 8 位是前面 56 位的 CRC检验码,这也是多个 DS18B20可以采用一线进行通信的原因。
温度报警触发器 TH和 TL,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的 EERAM。
高速暂存 RAM的结构为 8 字节的存储器,结构如图 4 所示。
头2 个字节包含测得的温度信息,第 3 和第 4 字节 TH和 TL 的拷贝,是易失的,每次上电复位时被刷新。
第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如图 5 所示。
低 5 位一直为 1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式, DS18B20出厂时该位被设置为 0,用户不要去改动, R1 和 R0 决定温度转换的精度位数,来设置分辨率。
8数字温度计课程设计报告温度 LSB温度 MSBTH用户字节 1TL 用户字节 2配置寄存器保留保留保留CRCTM R1R011111图11 DS18B20的字节定义DS18B20的分辨率定义如表 1 所示表 1分辨率设置表R0R1分辨率最大温度转移时间009 位96.75ms0110 位187.5ms1011 位375ms1112 位750ms 由表 1 可见, DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
主机控制 DS18B20完成温度转换过程是:每一次读写之前都要对 DS18B20进行复位,即将数据总线下拉 500us,然后释放, DS18B20收到信号后等待 16-60us 左右,之后发出 60-240us 的存在低脉冲,主 CPU收到此此信号表示复位成功;复位成功后发送一条 ROM指令,然后发送 RAM指令,这样才能对 DS18B20进行预订的读写操作。
表 2ROM指令集指令约定代码功能读 ROM33H读DS18B20中的编码发出此命令后,接着发出64 位 ROM编码,访问单线总线符合 ROM55H上与该编辑相对应的DS18B20使之做出响应,为下一步9数字温度计课程设计报告对该 DS18B20的读写作准备搜索 ROM0F0H用于确定挂接在同一总线上的DS18B20个数和识别 64 位ROM地址,为操作各器件作准备跳过 ROM0CCH 忽略 64 位 ROM地址,直接向 DS18B20发送温度变换指令告警搜索0ECH执行后,只有温度跳过设定值上限或下限的片子才能做命令出反应表 3RAM指令集指令约定代码功能温度转换44H启动 DS18B20进行温度转换读暂存器0BEH读暂存器 9 个字节内容写暂存器4EH将数据写入暂存器的 TH、 TL 字节复制暂存器48H2中把暂存器的 TH、 TL 字节写到 E RAM重调 E2RAM0B8H把 E2RAM中的 TH、 TL 字节写到暂存器 TH、 TL 字节读供电方式0B4H启动 DS18B20发送电源供电方式的信号给主 CPUDS18B20的测温原理是这这样的, 器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入。