基于51单片机与PC机的远程温度监控系统.doc_第1页
基于51单片机与PC机的远程温度监控系统.doc_第2页
基于51单片机与PC机的远程温度监控系统.doc_第3页
基于51单片机与PC机的远程温度监控系统.doc_第4页
基于51单片机与PC机的远程温度监控系统.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 本文设计的一种温度控制系统 用 STC89C52 单片机作为温控器 选用 DS18B20 数字 温度传感器 可任意设置上下限报警温度 采用数码管实时显示温度 通过串口利用单片 机与上位机的通信 对库房温度采集并进行控制 福建工程学国脉信息学院本科毕业设计开题报告 2 4 2 具体内容及要求具体内容及要求 1 内容及要求 研究基于单片机的远程温度监控系统 可以在 PC 机端实时监控系统温度 并根据当前 的温度值对单片机系统进行控制 利用 VB VC DELPHI 编制 PC 示例程序 2 主要技术指标 1 温度测量范围 0 70 2 可以设置温度报警的上 下限 3 提供 PC 机通讯接口 4 PC 机软件实现对温度数据分析 统计和处理 5 远程传输距离为 1KM 4 34 3 系统总体方案设计 系统总体方案设计 4 3 1 设计方案论证 方案一 由于本设计是测温电路 可以使用热敏电阻之类的器件利用其感温效应 在将随被测 温度变化的电压或电流采集过来 进行 A D 转换后 就可以用单片机进行数据的处理 在 显示电路上 就可以将被测温度显示出来 这种设计需要用到 A D 转换电路 其中还涉及 到电阻与温度的对应值的计算 感温电路比较麻烦 而且在对采集的信号进行放大时容易 受温度的影响出现较大的偏差 方案二 进而考虑到用温度传感器 在单片机电路设计中 大多都是使用传感器 所以这是非 常容易想到的 所以可以采用一只温度传感器 DS18B20 此传感器 可以很容易直接读取 被测温度值 进行转换 电路简单 精度高 软硬件都以实现 而且使用单片机的接口便 于系统的再扩展 满足设计要求 福建工程学国脉信息学院本科毕业设计开题报告 3 从以上两种方案 很容易看出 采用方案二 电路比较简单 费用较低 可靠性高 软件设计也比较简单 故采用了方案二 4 3 2 系统总体构成图如下 89C52 MAX232 电平转换 PC 机 键盘电路 DS18B20 温度传感器 数码管显示 蜂鸣器报警 晶振电路 下限 LED 灯 上限 LED 灯 4 3 3 硬件设计 控制部分的选择较多 但是作为温度计 在成本上最合适的是单片机 对于题目要求 的控制能力也能胜任 利用 STC89S52 自身强大的功能和优异的可扩展性 配上电路实验箱 四位一体数码管和按键等少量外围电路 就能搭建合适本次实验的小系统 从而大大缩短 设计流程 把设计的重点放在温度探测单元 串行通信协议两个部分 现在 PC 机提供的 COM1 Com2 是采用 RS 232 接口标准的 而 RS 232 是用正负电压来 表示逻辑状态 与 TTL 以高低电平来表示逻辑状态的规定不同 因此 为了能够同计算机 借口或终端的 TTL 器件 如单片机 连接 必须在 RS 232 与 TTL 电路之间进行电平和逻辑 关系的变换 变换电路选用有德州仪器公司 TL 推出的一款兼容 RS 232 标准的芯片 MAX232 该器件包含 2 个驱动器 2 个接收器和一个电压发生器电路提供 TIA EIA 232 F 电 平转换成 5V TTL CMOS 电平 每一个发送器将 TTL CMOS 电平转换成 TIA EIA 232 F 电平 4 3 4 软件设计 福建工程学国脉信息学院本科毕业设计开题报告 4 单片机软件设计 单片机程序由主程序和中断子程序组成的 主程序负责对来自上位机的命令进行解析 并执行读温度值 存储温度值 输出控制等等 中断服务程序只负责单片机和上位机之间 的数据发送与接收 上位机程序设计 由单片机采集的各个库房实时温度 通过 MAX232 传输到上位机 PC 利用在 Visual Basic 6 0 的通信控件 Mscomm 属性设置和事件响应的基础上 实现与单片机串行通信 在 上位机中 完成报警温度设置 温度传感器 64 位激光 ROM 读取并显示 实时温度数据显示 数据存储 曲线绘制 历史数据查询等 4 4 系统各个模块设计 4 4 1 单片机最小系统 1 STC89C52 单片机管脚图如下 福建工程学国脉信息学院本科毕业设计开题报告 5 2 各引脚功能 1 XTAL1 19 脚 XTAL2 18 脚 外接时钟引脚 XTAL1 为片内振荡电路的输入电 源和时钟引脚 VCC 40 脚 GND 20 脚 常压为 5V 低压为 3 3V 2 端 XTAL2 为片内振荡电路的输出端 8051 的时钟有两种方式 一种是片内振荡 方式 需要在这两个引脚接石英晶体和振荡电容 振荡电容的值一般选择为 10P 30P 另一种外部时钟方式即 XTAL1 接地 外部时钟信号从 XTAL2 脚输入 3 RST 9 脚 单片机的复位引脚 P0 口 39 脚 32 脚 双向 8 位 I O 口 每个口可以独立控制 51 单片机 PO 口内部没 有上拉电阻 为高阻状态 所以不能正常的输出高低电平 因此该组 I O 口在使用的时候务 必要接上拉电阻 一般我们采用接入 10K 的上拉电阻 P1 口 1 脚 8 脚 准双向 8 位 I O 口 每个口可以独立操作控制 内带上拉电阻 这 种接口输出没有高阻状态 输入也不能锁存 固然不是真正的双向 I O 口 之所以称它为 准双向 是因为该口在作为输入使用前要先向该口进行写一操作 然后单片机内部才可以正 确读出外部信号 也就是要使其先要有个准备过程 所以才称准双向口 对 52 单片机的 P1 0 引脚的第二功能为 T2 定时器的外部输入 P1 1 引脚的第二功能为 T2EX 捕捉 重装触发 即 T2 的外部控制器 福建工程学国脉信息学院本科毕业设计开题报告 6 P2 口 21 脚 28 脚 准双向 8 位 I O 口 每个口都可以独立操作控制 内带上拉电阻 与 P1 口相似 P3 口 10 脚 17 脚 准双向 8 位 I O 口 每个口可以独立操作控制 内带上拉电阻 作为第一功能使用时就当作普通 I O 口 与 P1 口相似 作为第二功能使用时 各引脚的定义 如表 值得强调的是 P3 口的每一个引脚均可以独立定义为第一功能的输入 输出或第二功 能 P3 口引脚第二功能定义 标号引脚第二功能说明 P3 010RXD 串行输入口 P3 111TXD 串行输出口 P3 212 INTO 外部中断 0 P3 313 INT1 外部中断 1 P3 414T0 定时器 计数器 0 外 部输入口 P3 515T1 定时器 计数器 1 外 部输入口 P3 616 WE 外部数据存储器写脉 冲 P3 717 RD 外部数据存储器读脉 冲 3 单片机最小系统 福建工程学国脉信息学院本科毕业设计开题报告 7 其中 a 复位电路 单片机上电时 当振荡器正在运行时 只要持续给出 RST 引脚连个机器周期的高电平 便可完成系统复位 外部复位电路是为内部复位电路提供两个机器周期以上的电平而设计 的 系统采用上电自动复位 上电瞬间电容器上的电压不能突变 RST 上的电压是 Vcc 上 的电压与电容器上的电压之差 因而 RST 上的电压与 Vcc 上的电压相同 随着充电的进行 电容器上的电压不断上升 RST 上的 电压就随着下降 RST 脚上只要保持 10ms 以上高电平 系统就会有效复位 电容 C 可取 10 33uF 电阻 R 可取 1 2 10k 在本系统设计中 C 取 10uf R 取 10k b 振荡电路 XTAL1 脚和 XTAL2 脚分别构成片内振荡器的反相放大器的输入和输出端 外接石英晶 振或陶瓷晶振以及补偿电容 C1 C2 选 47uF 构成并联谐振电路 当外接石英晶振时 电容 C1 C2 选 30Pf 10pF 当外接陶瓷振荡器时 电容 C1 C2 选 47uF 10uF 系统中 外接 电 C1 C2 的大小会影响振荡器频率的稳定度 起振时间及温度稳定性 在设计电路板时 晶振和电容应靠近单片机芯片 以便减少寄生电容 保证振荡器稳定可靠工作 在本硬件系统设计中 为保证串行通行波特率的误差 选择了 11 0592MHz 的标准石英 晶振 电容 C1 C2 为 30pF c EA接高电平 选用片内程序存储器 福建工程学国脉信息学院本科毕业设计开题报告 8 4 4 2 显示部分 本系统采用三极管驱动四位一体共阳数码管显示温度 数码管有两种显示方式 即静态显 示和动态显示 静态显示的特点是每个数码管的段选必须接一个 8 位数据线来保持显示的字形码 当 送入一次字形码后 显示字形可一直保持 直到送入新字形码为止 这种方法的优点是占 用 CPU 时间少 显示便于监测和控制 缺点是硬件电路比较复杂 成本较高 动态显示的特点是将所有位数码管的段选线并联在一起 由位选线控制是哪一位数 码管有效 选亮数码管采用动态扫描显示 所谓动态扫描显示即轮流向各位数码管送出字 形码和相应的位选 利用发光管的余辉和人眼视觉暂留作用 使人的感觉好像各位数码管 同时都在显示 动态显示的亮度比静态显示要差一些 所以在选择限流电阻时应略小于静 态显示电路中的 本设计数码管采用动态显示 如下图 福建工程学国脉信息学院本科毕业设计开题报告 9 键盘输入 如图 本设计采用三个键 可任意调整上下限报警温度 简单实用 其中 键为设置键 按第 下 上限温度调整 按第 下 下限温度调整 按第 下 显示实际温度 键为每按一次设置温度加 键为每按一次设置温度减 报警电路 本设计中采用三极管驱动蜂鸣器报警 其中 和 分别模拟制热器和制冷 器 当温度高于上限温度时 蜂鸣器报警 灯亮 模拟启动制冷器 当温度低于下限温度时 蜂鸣器报警 灯亮 模拟启动制热器 其中 与蜂鸣器相连的轻触开关断开时 蜂鸣器停止报警 实现手动解除报警 如图 福建工程学国脉信息学院本科毕业设计开题报告 10 测温电路 本设计采用 温度传感器测量温度 DS18B20 简介 其两种封装如图 温度传感器的种类众多 在应用与高精度 高可靠性的场合时 DALLAS 达拉斯 公 司生产的 DS18B20 温度传感器当仁不让 超小的体积 超低的硬件开消 抗干扰能力强 福建工程学国脉信息学院本科毕业设计开题报告 11 精度高 附加功能强 使得 DS18B20 更受欢迎 对于我们普通的电子爱好者来说 DS18B20 的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择 了解其工作原理和 应用可以拓宽您对单片机开发的思路 DS18B20 的主要特征 1 全数字温度转换及输出 2 先进的单总线数据通信 3 最高 12 位分辨率 精度可达土 0 5 摄氏度 4 12 位分辨率时的最大工作周期为 750 毫秒 5 可选择寄生工作方式 6 检测温度范围为 55 C 125 C 67 F 257 F 7 内置 EEPROM 限温报警功能 8 64 位光刻 ROM 内置产品序列号 方便多机挂接 9 多样封装形式 适应不同硬件系统 DS18B20 引脚功能 GND 电压地 DQ 单数据总线 VDD 电源电压 NC 空引脚 DS18B20 工作原理及应用 DS18B20 的温度检测与数字数据输出全集成于一个芯片之上 从而抗干扰力更强 其一个 工作周期可分为两个部分 即温度检测和数据处理 在讲解其工作流程之前我们有必要了 解 18B20 的内部存储器资源 18B20 共有三种形态的存储器资源 它们分别是 ROM 只读存储器 用于存放 DS18B20ID 编码 其前 8 位是单线系列编码 DS18B20 的编码 是 19H 后面 48 位是芯片唯一的序列号 最后 8 位是以上 56 的位的 CRC 码 冗余校验 数据在出产时设置不由用户更改 DS18B20 共 64 位 ROM RAM 数据暂存器 用于内部计算和数据存取 数据在掉电后丢失 DS18B20 共 9 个字节 RAM 每个字节为 8 位 第 1 2 个字节是温度转换后的数据值信息 第 3 4 个字节是用户 EEPROM 常用于温度报警值储存 的镜像 在上电复位时其值将被刷新 第 5 个字节则是 用户第 3 个 EEPROM 的镜像 第 6 7 8 个字节为计数寄存器 是为了让用户得到更高的温 度分辨率而设计的 同样也是内部温度转换 计算的暂存单元 第 9 个字节为前 8 个字节 的 CRC 码 EEPROM 非易失性记忆体 用于存放长期需要保存的数据 上下限温度报警值和 校验数据 DS18B20 共 3 位 EEPROM 并在 RAM 都存在镜像 以方便用户操作 福建工程学国脉信息学院本科毕业设计开题报告 12 电路图如下 单片机与上位机串口电路 在现代业控制中 串口通信的应用越来越广泛 单片机和PC机之间的串口通信在进行 数据交换时经常被使用 在串行通信时 要求通信双方都采用一个标准接口 RS 232C接 口是单片机利PC机进行通信最常用的一种接口 单片机与PC机进行串口通信最简单的二线 制法 即接收数据针脚 RxD 与发送数据针脚 TxD 相连 彼此交叉 信号地 GND 对应相接 但是 串口还不能直接和单片机相连 可以选用MAX232和MAX485进行电平转换 MAX232用 于RS 232C标准 MAX485用于RS485标准 RS 232C标准规定在码元畸变小于4 的情况下 传输电缆长度最大约为l5米 最高传输速率为20kbit s RS485标准最人传输距离约为 1219米 最大传输速率约为l0Mbit s MAX232 芯片简介 MAX232 芯片是美信公司专门为电脑的 RS 232 标准串口设计的单电源电平转换芯片 使 用 5v 单电源供电 引脚介绍 福建工程学国脉信息学院本科毕业设计开题报告 13 第一部分是电荷泵电路 由 1 2 3 4 5 6 脚和 4 只电容构成 功能是产生 12v 和 12v 两个电源 提供给 RS 232 串口电平的需要 第二部分是数据转换通道 由 7 8 9 10 11 12 13 14 脚构成两个数据通道 其中 13 脚 R1IN 12 脚 R1OUT 11 脚 T1IN 14 脚 T1OUT 为第一数据通道 8 脚 R2IN 9 脚 R2OUT 10 脚 T2IN 7 脚 T2OUT 为第二数据通道 TTL CMOS 数据从 T1IN T2IN 输入转换成 RS 232 数据从 T1OUT T2OUT 送到电脑 DB9 插头 DB9 插头的 RS 232 数据从 R1IN R2IN 输入转换成 TTL CMOS 数据后从 R1OUT R2OUT 输出 第三部分是供电 15脚GND 16脚VCC 5v 由于串口用的是 TTL 电平 和 RS232 电平不同 因此 单片机和 PC 通信时需要进行电 平转换 常用的 IC 是 MAX232 连接图如下图所示 其中 MAX232 供电脚为 5V 采用了三 线制连接串口 也就是说和计算机的 9 针串口只连接其中的 3 根线 第 5 脚的 GND 第 2 脚的 RXD 第 3 脚的 TXD 这是最简单的连接方法 但是对我们来说已经足够使用了 RS232引脚图 串口电路连接图如下 福建工程学国脉信息学院本科毕业设计开题报告 14 收 发端的数据信号是相对于信号地 如从DTE设备发出的数据在使用DB25连接器时是 2脚相对7脚 信号地 的电平 DB25各引脚定义参见图2 9 典型的RS 232信号在正负电平 之间摆动 在发送数据时 发送端驱动器输出正电平在 5 15V 负电平在 5 15V电平 当无数据传输时 线上为TTL 从开始传送数据到结束 线上电平从TTL电平到RS 232电平 再返回TTL电平 接收器典型的工作电平在 3 12V与 3 12V 由于发送电平与接收电平 的差仅为2V至3V左右 所以其共模抑制能力差 再加上双绞线上的分布电容 其传送距离 最大为约15米 最高速率为20kb s RS 232是为点对点 即只用一对收 发设备 通讯而 设计的 其驱动器负载为3 7k 所以RS 232适合本地设备之间的通信 上位机和下位机 的接线方法如图 上位机和下位机的接线方法 MCS 52 内部含有一个可编程全双工串行通信接口 具有 UART 的全部功能 该接口电 路不仅能同时进行数据的发送和接收 也可作为一个同步移位寄存器使用 福建工程学国脉信息学院本科毕业设计开题报告 15 在进行异步通信时 数据的发送和接收分别在各自的时钟 TCLK 和 RCLK 控制下进行 的 但都必须与字符位数的波特率保持一致 MCS 52 串行口的发送和接收时钟可由两种方 式产生 一种是由主机频率 fosc 经分频后产生 另一种方式是由内部定时器 T1 或 T2 的溢 出率经 16 分频后提供 发送和接收的过程如下 串行口的发送过程由指令 MOV SBUF A 启动 即 CPU 由一条写发送缓冲器的指令把数 据 字符 写入串行口的发送缓冲器 SBUF 发 中 再由硬件电路自动在字符的始 末加 上起始位 低电平 停止位 高电平 及其它控制位 如奇偶位等 然后在移位脉冲 SHIFT 的控制下 低位在前 高位在后 从 TXD 端 方式 0 除外 一位位地向外发送 串行口的接收与否受制于允许接收位 REN 的状态 当 REN 被软件置 1 后 允许接收 器接收 接收端 RXD 一位位地接收数据 直到收到一个完整的字符数据后 控制电路进行 最后一次移位 自动去掉启始位 使接收中断标志 RI 置 1 并向 CPU 申请中断 CPU 响 应中断 用一条指令 MOV A SBUF 把接收缓冲器 SBUF 收 的内容读入累加器 TI 和 RI 是由硬件置位的 但需要用软件复位 福建工程学国脉信息学院本科毕业设计开题报告 16 系统软件设计 单片机软件设计 1 主程序 主程序的主要功能是负责温度的实时显示 读出并处理 DS18B20 的测量的当前温度值 温 度测量每 1s 进行一次 这样可以在一秒之内测量一次被测温度 其程序流程如下所示 主程序流程图 福建工程学国脉信息学院本科毕业设计开题报告 17 2 读温度子程序 先让 DS18B20 复位 然后发跳过 ROM 匹配命令 再发出温度转换命令 让 DS18B20 进行温 度转换 延时等待转换完毕后 再将已转换的温度值一一地从各个 DS18B20 取出 转换成 ascall 码后再发送到 PC 机上 如此循环 程序框图如下 读温度程序框图 福建工程学国脉信息学院本科毕业设计开题报告 18 3 温度比较报警子程序 此程序是将实际温度与设置的报警上下限比较 决定是否发出报警信号 由于 T 为实 际温度的绝对值 TH TL 也是温度的绝对值 因此判断大小关系时要通过其正负符号来确 定 温度比较报警子程序 福建工程学国脉信息学院本科毕业设计开题报告 19 4 5 2 上位机软件设计 PC 机程序中包括串口通信模块 绘图模块 命令按妞模块 温度显示模块等 一 串口通信模块 在本设计中 采用 MSComm 控件进行串口的通讯 MSComm 控件串口具有完善的串口数 据的发送和接收功能 通过此控件 PC 机可以利用串行口与其它设备实现轻松连接 简单 高效地实现设备之间的通讯 此控件的事件响应有两种处理方式 事件驱动方式 由 MSComm 控件的 OnComm 事件捕获并处理通讯错误及事件 查询方式 通过检查 CommEvent 属性的值来判断事件和错误 二 绘图模块 在 VB 中 绘图可以利用 Line 和 Circle 方法绘制几何图形 11 还可以利用 MSChart 控件绘制各种图表 而本设计就采用 MSChart 控件进形绘制温度变化曲线图 MSChart 控 件在绘制直方图 条形图 折线图 饼图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论