序中系统会用到读温度子程序将温度按位处理,读温度子程序包含 DS18B20 的初始化、读写子程序等,其流程图如图 2.2 所示。
温度监测与控制子系统程序中要设定相同的波特率,这样才能够接收到数据且不丢失。
在接收数据时,系统采用串口中断的方式进行接收,当进入串口中断后,判断起始标志位数据,当判断起始标志位数据成功后,开始按顺序接收数据,并送入存储数组,然后送入显示子程序进行送显,如果判断起始标志位数据失败,则等待并继续进行起始标志位数据判断直至判断成功。
报警装置使用的是 LED 灯,当超过所设定的 32℃,LED 将被点亮,并发出降温操作信号;如果低于所设定的 30℃,报警灯也会亮起,并发出升温操作信号,其流程图如图 2.3 所示。
6 开始 串口初始化 调用温度处理子程序 将温度数据发送 否 TI1 等待 是 TI0 图 2.2 温度采集流程图 开始 12864初始化 单片机串口初始化 否 等待串口中断 是 否 标志位判断 是 顺序接收存储数据并送显 是否超过温度阀值 否 不报警 报警进行相应处理图 2.3 温度监测与控制流程图 沈阳航空航天大学电子信息工程学院毕业设计(论文)论证该方案的可行性,主要从成本、设计周期等方面进行考虑,分析如下: 1、成本分析 本设计的核心是 2 片 STC89C52 单片机、12864 液晶、DS18B20 温度传感器、2个 BM100 无线模块等。
经过市场调研,STC89C52 单片机单价在 4 元左右,12864液晶大约 40 元,DS18B20 价位在 5 元左右,BM100 无线模块单价是 70 元,其他电阻、电容、晶振等也都比较便宜。
所以本硬件设计成本相对合理。
2、设计周期 该设计方案的硬件部分是在学习各单个器件的工作原理后设计出来的,时间主要放在资料的理解和应用上,硬件设计以及制作的时间会随着所收集的资料的理解来进行调整。
软件工作的设计重点是 C 语言的学习,以及时序图的理解和读写操作。
设计周期的长短取决于软件的理解及掌握程度。
经过分析,此方案成本较低,设计周期合理,并且能较好的达到任务指标,因此设计执行此方案。
8 第三章 硬件设计 本章主要阐述了两部分内容,温度采集子系统的设计和温度监测及控制子系统的设计,同时对各个单元进行了详细说明。
在温度采集子系统中,DS18B20 将采集的温度通过一个 I/O 口送到 STC89C52 单片机进行数据处理,然后将处理好的数据通过串口和无线模块 BM100 发送出去。
温度监测与控制子 系统的核 心同样是一个STC89C52 单片机,它将通过无线模块 BM100 和串口接收到的温度值在 12864 液晶屏上显示出来,达到实时监测的目的。
另外通过单片机分别设置温度报警上下限,超过预定的温度阀值时进行报警,并发出相应的升温或降温控制信号,达到温度控制的目的。
单片机的最小系统与其他单元分开设计,以便进行实验和修改。
3.1 温度采集传输子系统3.1.1 STC89C52 单片机最小系统的设计 高性能 CMOS8 位微控制器, STC89C52 是 STC 公司生产的一种低功耗、 具有 8K在系统可编程 Flash 存储器。
STC89C52 使用经典的 MCS-51 内核,但做了很多的改进使得芯片具有传统 51 单片机不具备的功能。
在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52 具有以下标准功能: 字节 Flash, 8k 512 字节 RAM, 32 位I/O 口线,看门狗定时器,内置 4KB EEPROM,MAX810 复位电路,3 个 16 位定时器/计数器,4 个外部中断,一个 7 向量 4 级中断结构(兼容传统 51 的 5 向量 2 级中 ,全双工串行口。
另外 STC89C52 可降至 0Hz 静态逻辑操作,支持 2 种软断结构)件可选择节电模式。
空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切 工 作 停 止 , 直 到 下 一 个 中 断 或 硬 件 复 位 为 止 。
最 高 运 作 频 率 35MHz ,6T/12T 。
其管脚如图 3.1 所示。
基于 STC89C52 单片机最小系统的设计包括以下 2 个部分: 沈阳航空航天大学电子信息工程学院毕业设计(论文) 图 3.1 STC89C52 管脚图1、复位电路部分 复位是 STC89C52 的初始化操作,只需给复位引脚 RST 加上一个高电平就可以使其复位,原理图如图 3.2 所示。
图 3.2 最小系统复位电路设计原理图2、振荡电路 每个单片机系统里面都有震荡电路,STC89C52 系统既可以选用内部震荡电路,也可以选用外部震荡电路,本系统选用外部震荡电路。
外部震荡电路主要基于一个晶10振,该晶振结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快,本系统中所选用的晶振是 11.0592MHz。
原理图如图 3.3 所示。
图 3.3 最小系统震荡电路设计原理图3.1.2 DS18B20接口设计 DS18B20 是 Dallas 半导体公司生产的数字化温度传感器,是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而经济的特点,使用户可以轻松的组建传感器网络,为测量引入全新的概念。
新一代的“DS18B20”体积更小、更经济、更灵活,使用户可以充分发挥一线总线的长处5。
DS18B20 支持“一线总线”接口,测量温度范围为-55℃125℃,在-10℃85℃范围内,精度为±0.5℃。
现场温度范围以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如设备控制、设备或过程控制、测温类消费电子产品等。
其管脚图如表 3.1 所示。
表 3.1 DS18B20 管脚说明 引脚 符号 说明 1 GND 地 2 DQ 单线应用的数据输入输出引脚 3 VCC 电源 沈阳航空航天大学电子信息工程学院毕业设计(论文)1、DS18B20 的主要操作过程及原理 DS18B20 测温原理如图 3.4 所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器 2 的脉冲输入。
计数器 1 和温度寄存器被预置在-55℃所对应的一个基数值。
计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
图 3.4 中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。
斜率累加器 预置 比较 低温度系数晶振 计数器1 LSB 预置 置位 /清 除 加1 0 温度寄存器 停止 高温度系数晶振 计数器2 0 图 3.4 DS18B20 测温原理图 DS18B20 得到的 16 位数据,存储在两个 8 比特的 RAM 中,二进制中的前面 5位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 0.0625 即 如果温度小于 0, 5 位为 1,可得到实际温度; 这 测到的数值需要取反加 1 再乘于 0.0625即可得到实际 温度。
例如125℃的数字输出为 07D0H,25.0625℃的数字输出为120191H,-25.0625℃的数字输出为 FE6FH,-55℃的数字输出为 FC90H 。
其温度数据关系如表 3.2 所示。
表 3.2 温度数据关系 TEMPERATURE DIGITAL OUTPUTBinary DIGITAL OUTPUTHex 125℃ 0000 0111 1101 0000 07D0h 85℃ 0000 0101 0101 0000 0550h 25.0625℃ 0000 0001 1001 0001 0191h 10.125℃ 0000 0000 1010 0010 00A2h
上一篇:
机械毕业设计(论文)
下一篇:
分娩球配合自由体位助产的临床研究