本系统的总体结构框图如图1所示

一. 系统总原理及大致思路

1.1 本系统采用了一台上位机和多个下位机的集总式结构。上位机采用AT89S51单片机,下位机采用AT89C2051单片机。

1.1.1 上位机与下位机之间采用RS 485总线通信。其中上位机系统配置液晶显示屏、按键。按键用于调整各个点的预置温度和系统时间,查询各个点的预置温度值、实际温度值以及调温设备运行情况,输入下位机的控制信息。液晶显示屏用于显示系统时间,以及各点的预置温度值、实际温度值和调温设备运行情况,如1 min 内没有任何操作,则液晶显示屏上开始循环显示各个点的实际温度值、预置温度值以及调温设备运转情况,每一个点的数据在液晶屏上显示的时间是8 s 。下位机负责温度采集和控制调温设备运转,温度传感器采用DSl8B20。

1.1.2 上位机首先将预置温度值发送到下位机,下位机将实际温度与预置温度进行比较后输出调温设备控制信号,并将实际温度与调温设备运转状态发送到上位机。

1.2 本系统的总体结构设计原理框图如图1所示,

二. 硬件电路设计

2.1 上位机电路

上位机电路包括RS 485总线接口电路、键盘电路和液晶显示电路。其中总线接口电路与下位机总线接口电路基本一致。其电路原理图如图3所示。

下面先介绍键盘电路和液晶显示电路,RS 485总线接口电路稍后介绍。

2.1.1 键盘电路(需要电路图?)

上位机电路中提供6个按键用于温度设置、温度查询、系统时间设置、工作/待机设置。它们是“ON /OFF ”键、“+”键、“—”键、“SET ”键、“ENQ ”键、“TIME ”键,分别与AT89S51的P2.0,P2.1,P2.2,P2.3,P2.4,P2.5相连。“SIET ”键用于选择下位机,之后可按“ON /OFF ”键使对应的下位机工作/待机,也可按“+”,“一”键给该分机设置预置温度。“ENQ ”键用于查询下位机的预置温度、实际温度值和调温设备运转状态。设置系统时间需先按“TIME ”键选择时或分,然后利用“+”,“一”键设置系统时间。

2.1.2 显示电路(需要电路图?)

上位机系统采用16×2字符型液晶模组(LCM),其为按键操作提供可视化依据,内部集成了LCD 控制器、LCD 驱动器、LCD 显示装置。LCM 与单片机的接口电路比较简单,单片机的P1口接LCM 的数据总线,P3.5,P3.6,P3.7用于控制LCM 。LCM 的第一行显示系统时间,第二行显示分机的设置温度、实际温度和工作状态。如果在1 m 内没有任何操作,则液晶显示屏上开始循环显示各个点的实际温度值、预置温度值以及工作状态,每一个点的数据在液晶屏上显示的时间是8 s。

2.2下位机电路设计

下位机电路主要由三部分构成:温度采集电路、RS 485总线接口电路、调温设备的控制电路,其电路原理图如图2所示。

2.2.1 温度采集电路

温度传感器采用DSl8B20,其是一种单总线智能型温度传感器,只有三线接口,分别为地线、数据线、电源线。DSl8B20输出信号为数字信号,处理器与DSl8B20通过数据线来完成双向通信,因此采用DSl8B20使得电路十分简单。温度变换功率可以来源于外电源,也可以来源于数据总线,总线本身也可以向所挂接的DSl8B20供电。DSl8B20的电压范围为+3.O ~+5.5 V,测温范围为一55~+125℃,固有的测温分辨率为O .5℃,最高精度可达0.067 5℃,最大的转换时间为200 ms。一条总线上面可以挂接多个Dsl8820实现多点测温。本系统中每台下位机只接一个DSl8B20。

采用单片机的P3.7口与DS18B20进行通信,采集温度信号,由于其是双向通信,内部结构是开漏,所以在总线上要加一个10。k Ω上拉电阻。

2.2.2 RS 485总线接口电路

本系统上位机与下位机之间采用RS 485总线通信,其通信距离可达1 200 m。总线驱动芯片采用MAX485,RO 接单片机的RXD ,DI 接TXD ,MAX485芯片的发送和接收功能转换由芯片的RE ,DE 端控制。DE=1时,MAX485处于发送状态;RE=O,DE=0时,芯片处于接收状态。将RE ,DE 接在单片机的一根口线P3.4上。

在上电复位时,为了避免分机咬总线的情况,总线上的各分机应处于接收状态。而在上电复位时,单片机各端口处于高电平状态,硬件电路稳定也需要一定的时间,则可能向总线发送信息,为了避免这种情况,将P3.4口接一个74HCl4反相器,使MAX485上电时处于接收状态。另外在数据传输之前,先要通过一个低电平起始位实现握手,给R0外接10 k Ω上拉电阻,防止干扰信号误触发产生负跳变,使单片机进入接收状态。总线上面挂接多个分

机,其中任何一只芯片故障就可能将总线“拉死”,因此在MAX485的A ,B 口线与总线之间各串接一只20Ω的电阻实现总线隔离。如果是最后一台分机,则在差分端口A ,B 之间接120 Ω的平衡匹配电阻,减少由于不匹配而引起的反射,并且能够吸收噪声,抑止干扰,保证通信质量。注意不能在中间分机节点上并接平衡匹配电阻。

2.2.3 输出控制电路

上位机向下位机发送命令和预置温度,下位机接收到之后,解析命令,并将预置温度与实际温度比较,根据命令和比较结果,利用P3.5口控制调温设备。当P3.5输出低电平时,U1导通发光,使晶体管导通,从而T1导通,驱动继电器K 工作,使调温设备导通工作。当P3.5为高电平时,U1不导通,晶体管不导通,T1也截止,继电器不通电,调温设备不工作。

3 RS 485通信协议

为实现上位机与多台下位机通信可靠稳定,上位机与下位机通信波特率都为9 600 b/s ,通信方式均为串行工作方式3,每帧通信数据包括1个起始位,1个停止位,8个数据位,1个奇校验位。通信模式采用主/从方式,上位机为主机,下位机为从机,主机地址为1,从机地址是2,3,4,„;主机与从机之间采用一问一答方式,从机之间不能相互通信。每个上行/下行的数据包的字节个数都是一样的,从机收到数据包后向主机回复一个数据包。每个数据包长度为4 B,下行数据包格式:地址信息(1 B)、命令信息(1 B)、温度设置值(1 B)、检验码(1 B);上行数据包格式:主机地址信息(1 B)、命令应答信息(1 B)、实测温度值(1 B)、检验码(1 B)。命令信息和命令应答信息就是指从机的工作状态。

主机采用轮询方式访问各从机,在发出指令后,主机进入查询状态,等待从机应答。从机不断查询总线,如主机访问地址与从机地址相符,并且校验通过,则执行指令,并保存设置温度值,然后将相关信息以上行数据包格式发回主机。如不是本机地址或校验码错误,则丢弃指令及数据。传输过程中的误码校验采用校验和的方式,即先将要发送的数据包的所有字节相加,然后截短到一个字节长度。

4 系统软件设计

4.1 下位机程序设计

下位机程序主要包括DSl8820传感器温度采集子程序、串行通信子程序、输出控制子程序。主程序循环调用温度采集子程序和输出控制子程序,利用串行中断来接收上位机发送的信息并回复主机(上位机) ,接收数据包的长度是4 B,发送数据包的长度也是4 B。其串行中断接收发送程序流程图如图4所示。

4.2 上位机程序设计

上位机程序主要包括键盘扫描子程序、串行通信子程序、液晶显示子程序。

利用T0产生50 ms 定时中断来进行时间换算、实时更新液晶显示屏上的信息;在主程序中利用循环来查询按键、向下位机发送数据;利用串行中断来接收下位机的回复数据。上位机接收数据过程与下位机接收数据过程一样,其主程序流程图如图5所示。系统采用一问一答的通信方式,上位机是主机,在向从机(下位机) 发送完数据之后要调用延时程序等待从机的回复。

5 结 语

该系统能够实现多点温度检测控制,操作方便,配置简单,有效地节省了人力物力,实现自动化,具有通用性,可用于多种场合,具有很好的实用价值。

一. 系统总原理及大致思路

1.1 本系统采用了一台上位机和多个下位机的集总式结构。上位机采用AT89S51单片机,下位机采用AT89C2051单片机。

1.1.1 上位机与下位机之间采用RS 485总线通信。其中上位机系统配置液晶显示屏、按键。按键用于调整各个点的预置温度和系统时间,查询各个点的预置温度值、实际温度值以及调温设备运行情况,输入下位机的控制信息。液晶显示屏用于显示系统时间,以及各点的预置温度值、实际温度值和调温设备运行情况,如1 min 内没有任何操作,则液晶显示屏上开始循环显示各个点的实际温度值、预置温度值以及调温设备运转情况,每一个点的数据在液晶屏上显示的时间是8 s 。下位机负责温度采集和控制调温设备运转,温度传感器采用DSl8B20。

1.1.2 上位机首先将预置温度值发送到下位机,下位机将实际温度与预置温度进行比较后输出调温设备控制信号,并将实际温度与调温设备运转状态发送到上位机。

1.2 本系统的总体结构设计原理框图如图1所示,

二. 硬件电路设计

2.1 上位机电路

上位机电路包括RS 485总线接口电路、键盘电路和液晶显示电路。其中总线接口电路与下位机总线接口电路基本一致。其电路原理图如图3所示。

下面先介绍键盘电路和液晶显示电路,RS 485总线接口电路稍后介绍。

2.1.1 键盘电路(需要电路图?)

上位机电路中提供6个按键用于温度设置、温度查询、系统时间设置、工作/待机设置。它们是“ON /OFF ”键、“+”键、“—”键、“SET ”键、“ENQ ”键、“TIME ”键,分别与AT89S51的P2.0,P2.1,P2.2,P2.3,P2.4,P2.5相连。“SIET ”键用于选择下位机,之后可按“ON /OFF ”键使对应的下位机工作/待机,也可按“+”,“一”键给该分机设置预置温度。“ENQ ”键用于查询下位机的预置温度、实际温度值和调温设备运转状态。设置系统时间需先按“TIME ”键选择时或分,然后利用“+”,“一”键设置系统时间。

2.1.2 显示电路(需要电路图?)

上位机系统采用16×2字符型液晶模组(LCM),其为按键操作提供可视化依据,内部集成了LCD 控制器、LCD 驱动器、LCD 显示装置。LCM 与单片机的接口电路比较简单,单片机的P1口接LCM 的数据总线,P3.5,P3.6,P3.7用于控制LCM 。LCM 的第一行显示系统时间,第二行显示分机的设置温度、实际温度和工作状态。如果在1 m 内没有任何操作,则液晶显示屏上开始循环显示各个点的实际温度值、预置温度值以及工作状态,每一个点的数据在液晶屏上显示的时间是8 s。

2.2下位机电路设计

下位机电路主要由三部分构成:温度采集电路、RS 485总线接口电路、调温设备的控制电路,其电路原理图如图2所示。

2.2.1 温度采集电路

温度传感器采用DSl8B20,其是一种单总线智能型温度传感器,只有三线接口,分别为地线、数据线、电源线。DSl8B20输出信号为数字信号,处理器与DSl8B20通过数据线来完成双向通信,因此采用DSl8B20使得电路十分简单。温度变换功率可以来源于外电源,也可以来源于数据总线,总线本身也可以向所挂接的DSl8B20供电。DSl8B20的电压范围为+3.O ~+5.5 V,测温范围为一55~+125℃,固有的测温分辨率为O .5℃,最高精度可达0.067 5℃,最大的转换时间为200 ms。一条总线上面可以挂接多个Dsl8820实现多点测温。本系统中每台下位机只接一个DSl8B20。

采用单片机的P3.7口与DS18B20进行通信,采集温度信号,由于其是双向通信,内部结构是开漏,所以在总线上要加一个10。k Ω上拉电阻。

2.2.2 RS 485总线接口电路

本系统上位机与下位机之间采用RS 485总线通信,其通信距离可达1 200 m。总线驱动芯片采用MAX485,RO 接单片机的RXD ,DI 接TXD ,MAX485芯片的发送和接收功能转换由芯片的RE ,DE 端控制。DE=1时,MAX485处于发送状态;RE=O,DE=0时,芯片处于接收状态。将RE ,DE 接在单片机的一根口线P3.4上。

在上电复位时,为了避免分机咬总线的情况,总线上的各分机应处于接收状态。而在上电复位时,单片机各端口处于高电平状态,硬件电路稳定也需要一定的时间,则可能向总线发送信息,为了避免这种情况,将P3.4口接一个74HCl4反相器,使MAX485上电时处于接收状态。另外在数据传输之前,先要通过一个低电平起始位实现握手,给R0外接10 k Ω上拉电阻,防止干扰信号误触发产生负跳变,使单片机进入接收状态。总线上面挂接多个分

机,其中任何一只芯片故障就可能将总线“拉死”,因此在MAX485的A ,B 口线与总线之间各串接一只20Ω的电阻实现总线隔离。如果是最后一台分机,则在差分端口A ,B 之间接120 Ω的平衡匹配电阻,减少由于不匹配而引起的反射,并且能够吸收噪声,抑止干扰,保证通信质量。注意不能在中间分机节点上并接平衡匹配电阻。

2.2.3 输出控制电路

上位机向下位机发送命令和预置温度,下位机接收到之后,解析命令,并将预置温度与实际温度比较,根据命令和比较结果,利用P3.5口控制调温设备。当P3.5输出低电平时,U1导通发光,使晶体管导通,从而T1导通,驱动继电器K 工作,使调温设备导通工作。当P3.5为高电平时,U1不导通,晶体管不导通,T1也截止,继电器不通电,调温设备不工作。

3 RS 485通信协议

为实现上位机与多台下位机通信可靠稳定,上位机与下位机通信波特率都为9 600 b/s ,通信方式均为串行工作方式3,每帧通信数据包括1个起始位,1个停止位,8个数据位,1个奇校验位。通信模式采用主/从方式,上位机为主机,下位机为从机,主机地址为1,从机地址是2,3,4,„;主机与从机之间采用一问一答方式,从机之间不能相互通信。每个上行/下行的数据包的字节个数都是一样的,从机收到数据包后向主机回复一个数据包。每个数据包长度为4 B,下行数据包格式:地址信息(1 B)、命令信息(1 B)、温度设置值(1 B)、检验码(1 B);上行数据包格式:主机地址信息(1 B)、命令应答信息(1 B)、实测温度值(1 B)、检验码(1 B)。命令信息和命令应答信息就是指从机的工作状态。

主机采用轮询方式访问各从机,在发出指令后,主机进入查询状态,等待从机应答。从机不断查询总线,如主机访问地址与从机地址相符,并且校验通过,则执行指令,并保存设置温度值,然后将相关信息以上行数据包格式发回主机。如不是本机地址或校验码错误,则丢弃指令及数据。传输过程中的误码校验采用校验和的方式,即先将要发送的数据包的所有字节相加,然后截短到一个字节长度。

4 系统软件设计

4.1 下位机程序设计

下位机程序主要包括DSl8820传感器温度采集子程序、串行通信子程序、输出控制子程序。主程序循环调用温度采集子程序和输出控制子程序,利用串行中断来接收上位机发送的信息并回复主机(上位机) ,接收数据包的长度是4 B,发送数据包的长度也是4 B。其串行中断接收发送程序流程图如图4所示。

4.2 上位机程序设计

上位机程序主要包括键盘扫描子程序、串行通信子程序、液晶显示子程序。

利用T0产生50 ms 定时中断来进行时间换算、实时更新液晶显示屏上的信息;在主程序中利用循环来查询按键、向下位机发送数据;利用串行中断来接收下位机的回复数据。上位机接收数据过程与下位机接收数据过程一样,其主程序流程图如图5所示。系统采用一问一答的通信方式,上位机是主机,在向从机(下位机) 发送完数据之后要调用延时程序等待从机的回复。

5 结 语

该系统能够实现多点温度检测控制,操作方便,配置简单,有效地节省了人力物力,实现自动化,具有通用性,可用于多种场合,具有很好的实用价值。


相关文章

  • 基于FPGA的出租车计费器设计
  • 基于FPGA的出租车计费器设计 学院:电信 专业:电子学 年级: 2011级 学号:121 姓名:柳燃 基于FPGA的出租车计费器设计 柳燃 摘要:本文介绍了一种采用FPGA芯片进行出租车计费器设计的实用方法.基于FPGA,具体采用EPC2 ...查看


  • 原码一位乘法器
  • 课 程 设 计 报 告 课程设计名称:课程设计题目: 院(系):专 业:班 级:学 号:姓 名:指导教师:完成日期: 计算机组成原理课程设计 定点原码一位乘法器的设计 目 录 第1章 总体设计方案 ..................... ...查看


  • 彩灯控制电路设计
  • 辽 宁 工 业 大 学 题目: 彩灯控制电路设计 院(系): 电子与信息工程学院 专业班级: 学 号: 学生姓名: 指导教师: 教师职称: 起止时间: 课程设计(论文)任务及评语 目录 第1章 循环彩灯控制电路的设计及要求 ........ ...查看


  • EDA课程设计多路彩灯控制器
  • 课程设计 题 目: 班 级: 姓 名: 学 号: 指导教师: 成 绩: 语言 多路彩灯控制器 电子与信息工程学院 信息与通信工程系 目录 目录 ················································ ...查看


  • 课程设计8086电子时钟设计
  • 微机原理及其接口技术 课 程 设 计 题目: 8086电子时钟设计 前 言 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动乎.动脑和理论联系实际的特点,是培养在校工科大学 ...查看


  • 激光干涉光刻技术研究
  • 编号 激光干涉光刻技术研究 Laser interference photolithography technology research 学 生 姓 名 王新舜 专 业 电子科学与技术 学 号 1112129 指 导 教 师 分 院 光电 ...查看


  • 多旋翼自主飞行器报告(C题)
  • 选题编号: C题 全国大学生电子设计竞赛 设计报告 选题名称:多旋翼自主飞行器 主办单位:辽宁省教育厅 比赛时间:201*年*月*日08时起 201*年*月*日20时止 摘要 多旋翼飞行器也称为多旋翼直升机,是一种有多个螺旋桨的飞行器.本设 ...查看


  • 2013全国电子大赛论文
  • 2013全国电子设计大赛瑞萨杯 2013年全国大学生电子设计竞赛 简易旋转倒立摆控制及控制装置( [本科组] 2013年9月4日 C题) 摘 要 旋转倒立摆是一个具有多变量.高阶.非线性.强耦合等系统特性的本征不稳定系统,涉及有关力学.数学 ...查看


  • 频率计数器
  • 一.实验目的 本应用系统实验的目的是通过在"单片机原理及应用"课堂上学习的知识,以及查阅资料,培养一种自学的能力.并且引导一种创新的思维,把学到的知识应用到日常生活当中.在设计的过程中,不断的学习,思考和同学间的相互讨论 ...查看


热门内容