免费预览已结束,剩余35页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
昆 明 学 院 2014 届毕业论文(设计)论文(设计)题目 基于RS-485总线的多点温度计 子课题题目 无 姓 名 学 号 所属院系 电气工程及其自动化 专业年级 2010级 指导教师 2014年5 月i 基于RS-485总线的多点温度计摘 要温度是一个非常重要的物理量,也是最基本的环境参数。因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误就可能引起生产安全、产品质量、产品产量等一系列问题。在实际中总是处处需要测量温度来保证仓库物品的质量和保证系统正常运行。 加上现在温度变化大,迫切需要更精密和优良还要符合现代集散控制系统的温度检测装置。为此设计了本系统,系统是一个8点的实时温度采集系统。采用51单片机作为主机和从机。主机作为控制器和显示器,从机作为温度采集器。数据的传输采用RS-485总线。关键词:温度;RS-485 ;51单片机;温度计 ;多点温度采集AbstractTemperature is a very important physical quantities, as well as the most basic environmental parameters Because it directly influences the combustion reaction extrusion crystallization fermentation roasted calcine distillation concentration and air flow temperature and other physical and chemical process control error may cause production safety product quality products and a series of problems Always everywhere need to measure temperature in practice to guarantee the quality of warehouse items and ensure the normal operation of the system Along with temperature change is big, now urgently need to be more precise and excellent also conforms to the modern distributed control system of temperature detection device Therefore this system is designed, the system is a real-time temperature acquisition system at 8 point by 51 single chip microcomputer as the host and from the host machine as the controller and display, from the machine as temperature acquisition and data transmission using RSKeywords: temperatur; RS 485;51 microcontroller;;The thermometer;8 point temperature collection.目录第一章 选题意义及发展近况11.1 选题的意义11.2 发展近况11.2.1 RS485接口11.2.2RS485布网2第二章 系统方案的选择42.1 关键参数和系统要求42.1.1 关键技术42.1.2系统要求:42.2 温度测量器件的选择42.3 系统方案的设计52.3.1 方案152.3.2 方案252.3.3 方案352.4 系统设计概述5第三章 硬件系统设计63.1硬件特性简介63.1.1 MCS-51单片机63.1.3 MAX487芯片83.1.4 1602 LCD显示器93.1.5 RS-485总线标准103.1.6 其他硬件113.2 硬件设计113.2.2 主控机设计123.2.3 显示设计123.2.4 按键设计133.2.5 从机设计13第四章 软件设计144.1 主控单片机程序144.1.1 端口配置154.1.2 中断配置164.1.3 LCD1602配置174.1.4 485通信配置194.2 从机单片机程序204.2.1 端口配置204.2.2中断配置214.2.3 DS18B20配置214.2.4 485通信配置22第五章 Proteus仿真225.1 proteus仿真介绍22参考文献26附录27主控程序清单:271、主函数27串口函数29液晶函数29中断函数31从机程序:31主函数312、DS18B20函数333、串口函数:34中断函数34谢辞35第一章 选题意义及发展近况1.1 选题的意义温度是一个非常重要的物理量,也是最基本的环境参数。因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误就可能引起生产安全、产品质量、产品产量等一系列问题。因此对温度的检测的意义就越来越大。温度采集系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。像太阳能热水器、电力、石油、农业大棚经常需要对环境温度进行检测,并根据实际的要求对温度进行控制。例如,许多太阳能热水器中,需要通过温度检测来控制其水泵运作;在农业大棚中,通过温度检测来判断是否合适农作物种植与生长;肉类存储中,要求温度不高于一定数值以利于肉类保鲜,空调检测温度调节室温等。不管工业还是生活都对温度有一定要求。所以温度在无论生活中是一个比较重要的物理量,做好温度检测可以很大程度上提高我们的生活质量和减少企业损失。所以智能仪表就显得尤为重要了。1.2 发展近况智能仪表是随着80年代初单片机技术的成熟而发展起来的,现在世界仪表市场基本被智能仪表所垄断。究其原因就是企业信息化的需要,企业在仪表选型时其中的一个必要条件就是要具有联网通信接口。最初是数据模拟信号输出简单过程量,后来仪表接口是RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能。随后出现的RS485解决了这个问题。下面我们就简单介绍一下RS485。 1.2.1 RS485接口 RS485采用差分信号负逻辑,2V6V表示“0”,- 6V- 2V表示“1”。RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:(1)共模干扰问题: RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。(2)EMI问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。 由于PC机默认的只带有RS232接口,有两种方法可以得到PC上位机的RS485电路:(1)通过RS232/RS485转换电路将PC机串口RS232信号转换成RS485信号,对于情况比较复杂的工业环境最好是选用防浪涌带隔离珊的产品。(2)通过PCI多串口卡,可以直接选用输出信号为RS485类型的扩展卡。 RS485电缆 在一般场合采用普通的双绞线就可以,在要求比较高的环境下可以采用带屏蔽层的同轴电缆。在使用RS485接口时,对于特定的传输线路,从RS485接口到负载其数据信号传输所允许的最大电缆长度与信号传输的波特率成反比,这个长度数据主要是受信号失真及噪声等影响所影响。理论上RS485的最长传输距离能达到1200米,但在实际应用中传输的距离要比1200米短,具体能传输多远视周围环境而定。在传输过程中可以采用增加中继的方法对信号进行放大,最多可以加八个中继,也就是说理论上RS485的最大传输距离可以达到9.6公理。如果真需要长距离传输,可以采用光纤为传播介质,收发两端各加一个光电转换器,多模光纤的传输距离是510公里,而采用单模光纤可达50公里的传播距离。1.2.2RS485布网 网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络。在构建网络时,应注意如下几点: (1)采用一条双绞线电缆作总线,将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。有些网络连接尽管不正确,在短距离、低速率仍可能正常工作,但随着通信距离的延长或通信速率的提高,其不良影响会越来越严重,主要原因是信号在各支路末端反射后与原信号叠加,会造成信号质量下降。 (2)应注意总线特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。下列几种情况易产生这种不连续性:总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装,再者是过长的分支线引出到总线。 总之,应该提供一条单一、连续的信号通道作为总线。在RS485组网过程中另一个需要主意的问题是终端负载电阻问题,在设备少距离短的情况下不加终端负载电阻整个网络能很好的工作但随着距离的增加性能将降低。理论上,在每个接收数据信号的中点进行采样时,只要反射信号在开始采样时衰减到足够低就可以不考虑匹配。但这在实际上难以掌握,美国MAXIM公司有篇文章提到一条经验性的原则可以用来判断在什么样的数据速率和电缆长度时需要进行匹配:当信号的转换时间(上升或下降时间)超过电信号沿总线单向传输所需时间的3倍以上时就可以不加匹配。 一般终端匹配采用终端电阻方法, RS-485应在总线电缆的开始和末端都并接终端电阻。终接电阻在RS-485网络中取120。相当于电缆特性阻抗的电阻,因为大多数双绞线电缆特性阻抗大约在100120。这种匹配方法简单有效,但有一个缺点,匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。另外一种比较省电的匹配方式是RC匹配。利用一只电容C隔断直流成分可以节省大部分功率。但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。 还有一种采用二极管的匹配方法,这种方案虽未实现真正的“匹配”,但它利用二极管的钳位作用能迅速削弱反射信号,达到改善信号质量的目的,节能效果显著。最近两年一些公司基于部分企业信息化的实施已完成,工厂中已经铺设了延伸到车间每个办公室、控制室的局域网的现状,推出了串口服务器来取代多串口卡,这主要是利用企业已有的局域网资源减少线路投资,节约成本,相当于通过tcp/ip把多串口卡放在了现场。 现场总线网络:现场总线技术是当今自动化领域技术发展热点之一,被誉为自动化领域的计算机局域网,它的出现标志着自动化控制技术又一个新时代的开始。现场总线是连接设置在控制现场的仪表与设置在控制室内的控制设备的数字化、串行、多站通信的网络。其关键标志是能支持双向、多节点、总线式的全数字通信。现场总线技术近年来成为国际上自动化和仪器仪表发展的热点,它的出现是传统的控制系统结构产生了革命性的变化,是自控系统朝着智能化、数字化、信息化、网络化、分散化的方向迈进,形成新型的网络集成式全分布式控制系统-现场总线控制系统FCS(Fieldbus Control System)。但是现在的现场总线的各种标准并行存在并且都有自己的生存领域,还没有形成真正统一的标准,关键是看不到什么时候能形成统一的标准,技术也不够成熟。另外现场总线的仪表种类还比较少可供选择的余地小,价格也偏高,从最终用户的角度看大多还处于观望状态,都想等到技术成熟之后在考虑,现在实施的少。 RS485网络:RS485/MODBUS是现在流行的一种布网方式,其特点是实施简单方便 ,而且现在支持RS485的仪表又特多,特别是在油品行业RS485/MODBUS简直是一统天下,现在的仪表商也纷纷转而支持RS485/MODBUS,原因很简单,象原来的 HART仪表想买一个转换口非常困难 而且价格昂贵,RS485的转换接口就便宜的多而且种类繁多。至少在低端市场RS485/MODBUS还将是最主要的组网方式,近两三年内不会改变。 第二章 系统方案的选择2.1 关键参数和系统要求2.1.1 关键技术本系统的关键技术有:8点温度采集,温度测量范围0 99,温度测量精度2级,RS-485通信设计,系统程序编写等。2.1.2系统要求:本系统作为温度采集系统,首先对系统的稳定性有很高的要求,其次作为温度变量对实时性也有一定要求。2.2 温度测量器件的选择本系统采用51单片机作为控制器,最好选择可以直接与单片机通讯的数字式温度传感器,避免了A/D转换,节省开发周期和投入。所以选择达拉斯半导体的数字温度传感器DS18B20作为数字温度测量器件。DS18B20的参数:、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 、测温范围 55+125,。、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多可并联8个。、工作电源: 3.05.5V/DC (可以数据线寄生电源) 、在使用中不需要任何外围元件、 测量结果以912位数字量方式串行传送(精度可调)、精度0.5(-1085)2.3 系统方案的设计2.3.1 方案1鉴于系统的技术要求和系统要求所以温度传感器采用DS18B20,主控和显示采用51单片机作为处理器,测量点也采用51单片机作为从机,通信方式采用RS-485总线通信。方案分析:温度采集点由系统为DS18B20单独供电,稳定 性高,成本投入主要为控制器和供电的投入。 2.3.2 方案2鉴于系统的技术要求和系统要求所温度传感器采用DS18B20,主控显示机采用51单片机作为处理器,测量点采用多路模拟开关作为选择开关,通信方式采用RS-485总线通信。方案分析:虽然节约了单片机投入成本但是加大了线材投入。线路复杂而且系统可靠性和稳定性都大幅度下降。2.3.3 方案3鉴于系统的技术要求和系统要求所温度传感器采用DS18B20,主控显示机采用51单片机作为处理器,测量点直接采用多点组网方式。DS18B20的供电直接依赖于主控制器。方案分析:这种方式最节省成本,但是效果最差。系统最不稳定。2.4 系统设计概述综合考虑本系统的需求,最后采用方案1。根据系统设首先做出设计框图。具体实施方案设计框图:图2.4-1 方案框图设计方案简述:主控设备采用51单片机,LCD显示器采用1602显示器,考虑到I/0口够用键盘使用独立按键,测量点电源独立供电;从机采用51单片机作为通信控制器件,温度测量选用DS18B20。TTL与RS-485电平转换采用MAX487芯片。 第三章 硬件系统设计3.1硬件特性简介3.1.1 MCS-51单片机本系统采用宏晶科技推出的STC90C516RD+系列PDIP-40封装5V单片机作为系统所选单片机。STC90C516RD+系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,内部集成MAX810专用复位电路,时钟频率在12MHz以下时,复位脚可直接接地。1.增强型6 时钟/ 机器周期,12 时钟/ 机器周期 8051 CPU2.工作电压:5.5V - 3.8V(5V 单片机)3.工作频率范围:0-40MHz,相当于普通8051的 080MHz.4.用户应用程序空间 64K/字节5.片上集成 1280字节RAM6.通用I/O口(35/39 个),复位后为: P1/P2/P3/P4 是准双向口/ 弱上拉(普通8051 传统I/O 口)P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器 / 仿真器可通过串口(P3.0/P3.1)直接下载用户程序,8K 程序3 - 5 秒即可完成一片8.EEPROM 功能9.看门狗10.内部集成MAX810专用复位电路,外部晶体12M以下时,可省外部复位电路,复位脚可直接接地。11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用12.外部中断4路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒13.通用异步串行口(UART),还可用定时器软件实现多个UART14.工作温度范围:0-75/-40-+8515.封装: PDIP-40图3.1.1-1 单片机外形及引脚3.1.2 DS18B20温度传感器图3.1.2-1 DS18B20外形和引脚独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 C至+125 。华氏相当于是-67 F到257华氏度 -10 C至+85 C范围内精度为0.5 C。温度传感器可编程的分辨率为912位,温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数)。由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。3.1.3 MAX487芯片MAX487接口芯片是Maxim公司的一种RS485芯片。MAX485、MAX487、MAX491以及MAX1487是用于RS-485与RS-422通信的低功耗收发器,每个器件中都具有一个驱动器和一个接收器。MAX483、MAX487、MAX488以及MAX489具有限摆率驱动器,可以减小EMI,并降低由不恰当的终端匹配电缆引起的反射,实现最高250kbps的无差错数据传输。MAX481、MAX485、MAX490、MAX491、MAX1487的驱动器摆率不受限制,可以实现最高2.5Mbps的传输速率。这些收发器在驱动器禁用的空载或满载状态下,吸取的电源电流在120uA至500uA之间。另外,MAX481、MAX483与MAX487具有低电流关断模式,仅消耗0.1mA。所有器件都工作在5V单电源下。采用单一电源+5 V工作,额定电流为300 A,采用半双工通讯方式。它完成将TTL电平转换为RS485电平的功能。MAX487芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;RE和DE端分别为接收和发送的使能端,当RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX487工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100的电阻。MAX487是用于RS-485与RS-422通信的低功耗收发器。MAX487的驱动器摆率不受限制, 可以实现最高2.5Mbps的传输速率。这些收发器在驱动器禁用的空载或满载状态下,吸取的电源电流在120A至500A之间。所有器件都工作在5V单电源下。驱动器具有短路电流限制,并可以通过热关断电路将驱动器输出置为高阻状态。接收器输入具有失效保护特性,当输入开路时,可以确保逻辑高电平输出。具有较高的抗干扰性能。10/35 参数:半双工;速率:2.5Mbps;限摆率:NO;低电流关断模式:NO;接收允许控制:YES;静态电流300uA;负载个数:32;引脚数:83.1.4 1602 LCD显示器图3.1.4-1 LCD1602外形和引脚工业字符型液晶,能够同时显示1602即32个字符。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个57或者511等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。1602LCD是指显示的内容为162,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。1602采用标准的16脚接口,其中:第1脚:GND为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。3.1.5 RS-485总线标准RS-485标准是由两个行业协会于1983年共同制订合开发的,即EIA电子工业协会和TIA通讯工业协会。EIA开始时在它所有的标准前加上“RS”前缀(推荐标准Recommendedstandard的缩写)。这个名称一直延用至今,现在EIA-TIA已正式用“EIA/TIA”取代“RS”以明确其来源。修订后命名为TIA/EIA-485-A。不过我们还是习惯地称之为RS-485。RS-485由RS-422发展而来。两者是工业应用中最成功的标准。而RS-422是一个差分标准,是为了弥补RS232的不足提出来的,改进了RS-232通讯距离短和速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到了10Mbps,在速率低于1000Kbps时传输距离延长到4000英尺,并且允许在一条平衡线上连接最多10个接收器,可以说RS-422是一种单机发送、多机接收的单向传输规范。RS-485是在RS-422的基础上,为了扩展应用范围和通讯能力,增加了多点、双向通信能力,也就是说,允许多个发送器连接到同一条总线上,同时,增加了发送器的驱动能力和通讯冲突的保护特性,通过差分传输扩展总线的共模范围。RS-485满足了所有的RS-422规范,但反之则不成立。RS-485规范:RS-485实质上是一个电气接口规范,它只规定了平衡驱动器合接收器的电特性,而没有规定插件、传输电缆与及通信协议。只是对应于七层模型中的物理层。RS-485的接口规范特点:平衡传输、差动工作模式 多点通信驱动器带载最小输入电压:1.5V 驱动器带载最大输入电压:5V最大输出短路电流:250mA 驱动器输出阻抗: 54接收器输入门限:200mV 接收器最小输入阻抗:12K7V至12V总线共模范围 最大输入电流1.0mA/-0.8mA(12Vin/-7Vin)接收器输出逻辑高:200mV 接收器输出逻辑低:200mV最大总线负载:32个单位负载 允许收发器数目:32Tx、32Rx最大传输速率:10Mbps 最大电缆长度:4000英尺(约1.2千米)RS-485标准定义了一个基于单对平衡线的多点、双向(半双工)的通讯链路,提供了高噪声抑制、高的传输速率、长传输距离、宽共模范围和低成本的通信平台。3.1.6 其他硬件本系统还采用到其他的若干原件包括按钮、电阻、晶振、电容、导线等。这些元件的选择没有硬性要求,选用优质一般优质的即可。3.2 硬件设计3.2.1电源设计通常我们接入使用的电源都是市电220V工厂接的一般是工业380V三相四线电,而单片机的工作电压为5V直流电,要想单片机正常工作就必须要先设计一个电源。电源的设计我们采用一个变压器,一个桥式整流,一个7805稳压管,和一些滤波电容组成。首先从仓库的电源获取到220V 50HZ的交流电,经过TR1变压器变为6.3V左右的交流电,再经过整流桥BRIDGE进行一次桥式整流,整流后的电压在幅值上还是有较大的波动所以加一个大电容滤波。在经过7805稳压芯片输出的波形就比较理想了。C2 、D12、 C20都是为了稳定电压。设计如图1所示,经过整流滤波后的波形还是比较理想的。在proteus里面进行设计仿真如下:图3.2.1-1 电源设计3.2.2 主控机设计主控单片机主要要完成显示工作、控制从机工作和响应按键工作。所以在I/O口的分配上要有引脚接LCD显示器、接键盘、接通信线缆等。所以I/O的分配如下表3.2.2-1 单片机I/O口分配引脚功能分配P0.0P0.8 +P2.5P2.7LCD1602数据口 + 控制口P2.0 + P3.0 + P3.1485输入输出选择 + 数据接收 + 数据发送P3.2外部中断触发引脚P1.0P1.7 + P2.4单通道选择 + 循环按键图3.2.1-3 主控单片机的I/O连接图3.2.3 显示设计本系统的显示分为两部分:实时温度显示器和信号传输指示灯。其中实时温度显示采用LCD1602液晶显示器(如图3.2.3-1)。图3.2.3-1 LCD1602显示器和I/O连接信号传输指示灯采用普通发光LED二极管左边为接受机的接收信号指示,右边为发送机的发送信号指示。图3.2.3-2信号灯3.2.4 按键设计系统按键采用9个独立按键,如图3.2.3-1所示。其中编号NO.1NO.8的按键是控制与18从机优先且唯一通信的按键。左侧的ROLL ALL按键是取消通信优先级切换到循环显示的按键。图3.2.3-1 按键3.2.5 从机设计从机在系统里面要完成温度数据的采集工作。比较简单。就挂接一个DS18B20温度传感器。通信方面直接接到MAX487芯片。表3.2.5-1 从机引脚分配引脚号作用P2.0接DS18B20P2.3接LED 信号灯P3.0/P3.1 + P2.7数据接收/发送 + 485输入/出控制图3.5.2-1 从机(监测点)单片机第四章 软件设计4.1 主控单片机程序主控单片机主要负责和从机通信并更新显示LCD1602显示器,同时还要及时响应按键。为了设计好主机程序首先设计相出程序流程图,按照程序流程图一步步编写主机的程序就比较便捷明了。 图4.1-1 主控机程序流程图4.1.1 端口配置根据STC90C516RD+单片机的数据手册可以知道以下寄存器信息,按照给的这些信息就可以配置单片机串行通信。是它能与其他单片机进行通信。使用到的寄存器有:SCON寄存器,串行控制寄存器。具体的设置如下面的表表4.1.1-1串行控制寄存器表4.1.1-2串口工作方式设定表4.1.1-3串行波特率设置计算公式:在这里用传统51的速率(12T),最后的配置程序如下:SM0 = 0;SM1 = 1;/串口工作方式1,1开始位+8数据位+1停止位REN = 1;/接受允许位TMOD = 0x20;/T1定时器方式二自动重装8位定时器TH1 = 0xFD;/装入初值TR1 = 1;/启动定时器1;4.1.2 中断配置STC90C516RD+单片机的中断数据如下:表4.1.2-1 中断源表4.1.2-2 中断触发方式表4.1.2-3 中断允许控制寄存器表4.1.2-4 中断优先级控制寄存器EA:CPU总中断允许控制位;ES:串行口1中断允许位EX:外部中断RI:串行口接受中断标志TI:串行口发送标志位最后的配置如下所示:EA = 1;/开总中断ES = 1;/开串行口中断EX0=1;/打开外部中断0PX0 = 1;/外部中断优先级设为1(高)PS = 0; /串行口中断设为0(低)4.1.3 LCD1602配置根据数据手册可以找到以下信息:图4.1.3-1 LCD1602的时序图表4.1.3-2 信号量真值表最后根据数据手册和实际需要配置如下:/LCD1602液晶写指令函数void Lcd_1602_Write_code(unsigned char LD)Lcd_1602_RS = 0;/开写指令传送P0 = LD;/传送数据delay(5);/延时一下Lcd_1602_E = 1;/打开使能信号输入指令delay(5);/延时一下Lcd_1602_E = 0;/关闭使能/LCD1602液晶写数据函数void Lcd_1602_Write_data(unsigned char LD)Lcd_1602_RS = 1;/打开数据传送P0 = LD;/送入数据delay(5);/延时一下Lcd_1602_E = 1;/打开使能信号delay(5);/延时一下Lcd_1602_E = 0;/关闭使能信号void Lcd_1602_Init()/初始化函数Lcd_1602_RW = 0;/打开写数据Lcd_1602_E = 0;/关闭使能Lcd_1602_Write_code(0x38);/设置16*2显示Lcd_1602_Write_code(0x0e);/打开显示无光标Lcd_1602_Write_code(0x06);/光标自加一 Lcd_1602_Write_code(0x01);/数据指针和显示清零4.1.4 485通信配置图4.1.4-1 MAX485芯片图4.1.4-2 MAX485芯片链接图表4.1.4-1 输入输出真值表表4.1.4-2 输入输出状态表通信波特率设为9600kbps,首先把RE/DE连接,在单片机发送数据时拉高(MAX487输入模式),接受数据时拉低(MAX487输出数据)。程序如下:sbit RS485_IO = P20;/位定义P2.0口为485输入输出选择#define RS485_IN RS485_IO = 1;/拉高485输入,单片机数据输出#define RS485_OUT RS485_IO = 0;/拉低485输出单片机输入4.2 从机单片机程序首先设计程序流程图,再按照流程图一步步实现程序。图4.2-1 监测点单片机流程图4.2.1 端口配置SM0 = 0;SM1 = 1;/串口工作方式1,10位数据传送REN = 1;/接受允许位TMOD = 0x20;/T1定时器方式二自动重装8位定时器TH1 = 0xFD;TR1 = 1;/启动定时器1;4.2.2 中断配置ES = 1;/允许串口中断EA = 1;/打开总中断控制器4.2.3 DS18B20配置DS18B20的访问方式如下:经过单总线接口访问DS18B20协议如下:1、初始化2、ROM操作命令3、存储器操作命令4、处理/数据图4.2.3-1 DS18B20写时序图图4.2.3-2 DS18B20读时序图表4.2.3-1 温度转换对照表Ds18b20_Init(); /复位 Ds18b20_Write(0xcc); /跳过ROM命令 Ds18b20_Write(0x44);/温度转换命令 Ds18b20_Init(); /复位 Ds18b20_Write(0xcc); /跳过ROM命令 Ds18b20_Write(0xbe); /读DS18B20温度暂存器命令 LBS = Ds18b20_Read();/读取低位数据MBS = Ds18b20_Read();/读取高位数据4.2.4 485通信配置通信波特率设为9600kbps,和主机的配置是一样的,首先把RE/DE连接,在单片机发送数据时拉高(MAX487输入模式),接受数据时拉低(MAX487输出数据)。 第五章 Proteus仿真5.1 proteus仿真介绍1、Proteus仿真全图,包括了主机、从机、显示、通信、按键、电源等所有模块。图5-1 系统未运行2、系统初始化,用一点时间等待从机和DS18B20初始化。图5-2 系统初始化系统初始化完成,从机开始读取温度;主机开始请求数据,并更新LCD显示。这是初始化完成后第一次数据更新显示的是第一路温度。图5-3 第一点温度这是第二次读取温度和更新LCD显示,图示为第二路温度。图5-4 第二点温度这是第八路温度读取和LCD更新显示,图为第八路温度显示。图5-5 第八点温度第八路显示完后就循环到第一路显示,依次显示,当按下单路选择按键时就显示按键对应的一路,按下循环按键后又开始循环显示。15/35 参考文献1吴亦锋.单片机原理与接口技术M,电子工业出版社,20102周立功.RS-485选型及应用指南J,广州周立功单片机发展有限公司,2004,摘自:3徐亦朱(译).DS18B20中文数据手册Z,达拉斯半导体, 20074王文成.基于单片机的粮仓多点温度监测系统设计J, 农机化研究第七期,2010附录主控程序清单:1、主函数#include c51_uart.h#include lcd_1602.h#include #include C51_IT.Hsbit RS485_IO = P20;sbit C51_Uart_RX = P30;sbit Signal_LED = P23;sbit Key1 =P10;sbit Key2 =P11;sbit Key3 =P12;sbit Key4 =P13;sbit Key5 =P14;sbit Key6 =P15;sbit Key7 =P16;sbit Key8 =P17;sbit Key_All = P24; #define RS485_IN RS485_IO = 1;#define RS485_OUT RS485_IO = 0;unsigned char LBS,MBS,LMS,LBSC,MBSC,RX_OK,Key_Flag,Slave_Count;unsigned int Mi,TempL,TempH,Mi,Dy,TempLC,TempHC;unsigned char Num_Code=0,1,2,3,4,5,6,7,8,9;void main()Lcd_1602_Init();Lcd_1602_Firstdata1();Uart_Init();/初始化串行口interrupt_init();EA=0;Slave_Count=1;RX_OK=0;Key_Flag=0;for(Dy=0;Dy10;Dy+)Lcd_1602_Write_code(0x80+0x4B);Lcd_1602_Write_data( );Lcd_1602_Write_data( ); Lcd_1602_Write_data( );Lcd_1602_Write_code(0x80+0x4B);Lcd_1602_Write_data(.);Lcd_1602_Write_data(.); Lcd_1602_Write_data(.);Lcd_1602_Init();Lcd_1602_Firstdata();EA=1;while(1)if(RX_OK=1)for(Dy=0;Dy5000;Dy+);RX_OK=0;EA=0;RS485_IN;/输入485 SBUF = Slave_Count;while(!TI);TI =0;EA = 1;RS485_OUT; for(Dy=0;Dy1000)break;MBS=SBUF;RI =0;Mi=0;while(!RI)Mi+;if(Mi1000)break;LMS=SBUF;RI =0;Signal_LED=1;if(LMS = (LBSMBS)RX_OK=1;Lcd_1602_Write_code(0x80+0x40+3);Lcd_1602_Write_data(Num_CodeSlave_Count);if(Key_Flag!=1) Slave_Count+; if(Slave_Count=9)Slave_Count=1;LBSC=LBS;MBSC=MBS;TempL = (LBS&0x0f)*625;TempH = (MBS&0x07)4);Lcd_1602_Write_code(0x80+0x40+5);Lcd_1602_Write_data(Num_CodeTempH/10);Lcd_1602_Write_code(0x80+0x40+6);Lcd_1602_Write_data(Num_CodeTempH%10);Lcd_1602_Write_code(0x80+0x40+7);Lcd_1602_Write_data(.);Lcd_1602_Write_code(0x80+0x40+8);Lcd_1602_Write_data(Num_CodeTempL/1000);Lcd_1602_Write_code(0x80+0x40+9);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年初级会计职称考试多选题模拟题练习题及答案
- 《关爱成长法治护航》读后感
- 2026年高考北京卷政治历年真题及答案
- 2026年保密教育线上培训考试真题试卷+解析及答案
- 2026年安徽省黄山市重点学校初一入学数学分班考试试题及答案
- 第二单元 理解权利义务 大单元教学设计-2025-2026学年统编版道德与法治八年级下册
- 第六单元名著导读《钢铁是怎样炼成的》教学设计-2023-2024学年统编版语文八年级下册
- 初中科学浙教版八年级下册第2章 微粒的模型与符号第4节 组成物质的元素教案设计
- 精液品质检查教学设计中职专业课-畜禽繁殖与改良-畜牧类-农林牧渔大类
- 第21课《古代诗歌五首》教学设计-2025-2026学年统编版语文七年级下册
- 2026年中国超高丁腈氢化丁腈橡胶市场数据研究及竞争策略分析报告
- 2026河南豫能控股股份有限公司及所管企业招聘31人备考题库及参考答案详解(精练)
- 内镜黏膜下剥离术(ESD)诊疗与护理规范
- 2026四川宜宾传媒集团有限公司及下属子公司第一批员工招聘13人笔试备考题库及答案解析
- 2026北京事业编考试题库
- 2025年陕西国防工业职业技术学院单招职业技能考试试题及答案解析
- GB 15322.1-2026可燃气体探测器第1部分:工业及商业用途点型可燃气体探测器
- 2025年扬州市职业大学单招职业技能考试题库附答案解析
- 2026年光储充一体化充电站项目可行性研究报告
- 新版部编人教版七年级下册道德与法治全册教案(完整版)教学设计含教学反思
- 中药饮片GSP培训课件
评论
0/150
提交评论