904953422基于单片机控制的粮仓多点温度监控系统设计毕业设计.doc

上传人:文库蛋蛋多 文档编号:3931203 上传时间:2023-03-28 格式:DOC 页数:17 大小:918.50KB
返回 下载 相关 举报
904953422基于单片机控制的粮仓多点温度监控系统设计毕业设计.doc_第1页
第1页 / 共17页
904953422基于单片机控制的粮仓多点温度监控系统设计毕业设计.doc_第2页
第2页 / 共17页
904953422基于单片机控制的粮仓多点温度监控系统设计毕业设计.doc_第3页
第3页 / 共17页
904953422基于单片机控制的粮仓多点温度监控系统设计毕业设计.doc_第4页
第4页 / 共17页
904953422基于单片机控制的粮仓多点温度监控系统设计毕业设计.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《904953422基于单片机控制的粮仓多点温度监控系统设计毕业设计.doc》由会员分享,可在线阅读,更多相关《904953422基于单片机控制的粮仓多点温度监控系统设计毕业设计.doc(17页珍藏版)》请在三一办公上搜索。

1、毕业论文题 目: 粮仓多点温度监控系统设计系 别:电气工程系专 业:电气自动化 摘 要目前许多场合都要对温度进行控制。如仓库,不同的储藏室储存物品的温度都不同;再比如医院,为了使病人的治疗效果最好,需要对每一个病房的温度进行控制。该文研究的多点温度监控系统能够对多个位置的温度进行设置、检测,根据温度设置值与检测值来控制调温设备运转,调节温度。 目录 1引言. 1 设计要求. 41.1 监控要求. 41.2 受控对象的数学模型. 42 系统的硬件配置. 42.1 单片机和系统总线. 4 AT89S51单片机历史版本AT89S51单片机-主要特性 AT89S51具有如下特点:40个引脚,4kByt

2、esFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。8031CPU与MCS-51兼容4K字节可编程F

3、LASH存储器(寿命:1000写/擦循环)全静态工作:0Hz-24KHz三级程序存储器保密锁定128*8位内部RAM32条可编程I/O线两个16位定时器/计数器6个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路AT89S51单片机-管脚说明 VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内

4、部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对

5、外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读

6、选通)P3口同时为闪烁编程和编程校验接收一些控制信号。I/O口作为输入口时有两种工作方式即所谓的读端口与读引脚读端口时实际上并不从外部读入数据而是把端口锁存器的内容读入到内部总线经过某种运算或变换后再写回到端口锁存器只有读端口时才真正地把外部的数据读入到内部总线上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作这是由硬件自动完成的不需要我们操心1然后再实行读引脚操作否则就可能读入出错为什么看上面的图如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q为1加到场效应管栅极的信号为1该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为

7、1也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1若先执行置1操作则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入由于在输入操作时还必须附加一个准备动作所以这类I/O口被称为准双向口89C51的P0/P1/P2/P3口作为输入时都是准双向口接下来让我们再看另一个问题从图中可以看出这四个端口还有一个差别除了P1口外P0P2P3口都还有其他的功能RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不

8、变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管

9、是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。AT89S51单片机-相关词条 AT89C51单片机 AT89S52单片机 AT89C2051单片机AT89S51单片机-参考资料 2.2 硬件介绍. 53 粮仓温度监控系统的组成框图. 104 粮仓温度监控系统结构图及总述. 125 粮仓温度监控系统软件设计. 135.1 单片机粮仓温度监控系统软件结构图135.2 单片机监控

10、流程图. 145.3 粮仓温度变换程序模块. 145.4 粮仓温度非线性转换程序模块. 156 通信协议的设计. 176.1 软件设计. 176.1.1 通信协议概述. 176.2 通信协议说明. 186.2.1信号帧分类. 186.2.2信号帧格式. 186.2.3 通信协议处理流程. 196.3 PC 上位机的软件设计. 226.3.1 PC软件设计方法的选择. 226.3.2 PC软件通信方式的选择. 226.3.3具体实现方法. 246.4 单片机软件设计. 276.4.1波特率. 276.5 通信协议设计结论. 286.5.1通信可靠性分析. 286.5.2通信速度分析. 287 P

11、rotel99设计原理图. 308 硬件电路板的制作. 339 设计总结. 35谢 辞. 36参考文献. 37附 录1 381 引言设计题目:粮仓温度智能监控系统 我选择8031单片机 AD590温度传感器 ,HS1100/HS1101湿度传感器,技术参数 温度检测范围 : -30-+50 测量精度 : 0.5 湿度检测范围 : 10%-100%RH 检测精度 : 1%RH 显示方式 : 温度:四位显示 湿度:四位显示 报警方式 : 三极管驱动的蜂鸣音报警 多点温度监控系统的设计l 系统的总体结构及功能 本系统的总体结构框图如图1所示,为了满足多通道数据采集和处理,系统采用了一台上位机和多个下

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

13、度值发送到下位机,下位机将实际温度与预置温度进行比较后输出调温设备控制信号,并将实际温度与调温设备运转状态发送到上位机。2 硬件电路设计21 下位机电路设计 下位机电路主要由三部分构成:温度采集电路、RS 485总线接口电路、调温设备的控制电路,其电路原理图如图2所示。211 温度采集电路 温度传感器采用DSl8820,其是一种单总线智能型温度传感器,只有三线接口,分别为地线、数据线、电源线。DSl8820输出信号为数字信号,处理器与DSl8820通过数据线来完成双向通信,因此采用DSl8820使得电路十分简单。温度变换功率可以来源于外电源,也可以来源于数据总线,总线本身也可以向所挂接的DSl

14、8820供电。DSl8820的电压范围为+3O+55 V,测温范围为一55+125,固有的测温分辨率为O5,最高精度可达0067 5,最大的转换时间为200 ms。一条总线上面可以挂接多个Dsl8820实现多点测温。本系统中每台下位机只接一个DSl8820。 采用单片机的P37口与DS18820进行通信,采集温度信号,由于其是双向通信,内部结构是开漏,所以在总线上要加一个10。k上拉电阻。212 RS 485总线接口电路 本系统上位机与下位机之间采用RS 485总线通信,其通信距离可达1 200 m。总线驱动芯片采用MAX485,RO接单片机的RXD,DI接TXD,MAX485芯片的发送和接收

15、功能转换由芯片的RE,DE端控制。DE=1时,MAX485处于发送状态;RE=O,DE=0时,芯片处于接收状态。将RE,DE接在单片机的一根口线P34上。 在上电复位时,为了避免分机咬总线的情况,总线上的各分机应处于接收状态。而在上电复位时,单片机各端口处于高电平状态,硬件电路稳定也需要一定的时间,则可能向总线发送信息,为了避免这种情况,将P34口接一个74HCl4反相器,使MAX485上电时处于接收状态。另外在数据传输之前,先要通过一个低电平起始位实现握手,给R0外接10 k上拉电阻,防止干扰信号误触发产生负跳变,使单片机进入接收状态。总线上面挂接多个分机,其中任何一只芯片故障就可能将总线“

16、拉死”,因此在MAX485的A,B口线与总线之间各串接一只20的电阻实现总线隔离。如果是最后一台分机,则在差分端口A,B之间接120 的平衡匹配电阻,减少由于不匹配而引起的反射,并且能够吸收噪声,抑止干扰,保证通信质量。注意不能在中间分机节点上并接平衡匹配电阻。213 输出控制电路 上位机向下位机发送命令和预置温度,下位机接收到之后,解析命令,并将预置温度与实际温度比较,根据命令和比较结果,利用P35口控制调温设备。当P35输出低电平时,U1导通发光,使晶体管导通,从而T1导通,驱动继电器K工作,使调温设备导通工作。当P35为高电平时,U1不导通,晶体管不导通,T1也截止,继电器不通电,调温设

17、备不工作。22 上位机电路 上位机电路包括RS 485总线接口电路、键盘电路和液晶显示电路。其中总线接口电路与下位机总线接口电路基本一致。其电路原理图如图3所示。下面介绍键盘电路和显示电路。 221 键盘电路 上位机电路中提供6个按键用于温度设置、温度查询、系统时间设置、工作待机设置。它们是“ONOFF”键、“+”键、“”键、“SET”键、“ENQ”键、“TIME”键,分别与AT89S51的P20,P21,P22,P23,P24,P25相连。“SIET”键用于选择下位机,之后可按“ONOFF”键使对应的下位机工作待机,也可按“+”,“一”键给该分机设置预置温度。“ENQ”键用于查询下位机的预置

18、温度、实际温度值和调温设备运转状态。设置系统时间需先按“TIME”键选择时或分,然后利用“+”,“一”键设置系统时间。222 显示电路 上位机系统采用162字符型液晶模组(LCM),其为按键操作提供可视化依据,内部集成了LCD控制器、LCD驱动器、LCD显示装置。LCM与单片机的接口电路比较简单,单片机的P1口接LCM的数据总线,P35,P36,P37用于控制LCM。LCM的第一行显示系统时间,第二行显示分机的设置温度、实际温度和工作状态。如果在1 m内没有任何操作,则液晶显示屏上开始循环显示各个点的实际温度值、预置温度值以及工作状态,每一个点的数据在液晶屏上显示的时间是8 s。3 RS 48

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

20、温度值(1 B)、检验码(1 B)。命令信息和命令应答信息就是指从机的工作状态。 主机采用轮询方式访问各从机,在发出指令后,主机进入查询状态,等待从机应答。从机不断查询总线,如主机访问地址与从机地址相符,并且校验通过,则执行指令,并保存设置温度值,然后将相关信息以上行数据包格式发回主机。如不是本机地址或校验码错误,则丢弃指令及数据。传输过程中的误码校验采用校验和的方式,即先将要发送的数据包的所有字节相加,然后截短到一个字节长度。4 系统软件设计41 下位机程序设计 下位机程序主要包括DSl8820传感器温度采集子程序、串行通信子程序、输出控制子程序。主程序循环调用温度采集子程序和输出控制子程序

21、,利用串行中断来接收上位机发送的信息并回复主机(上位机),接收数据包的长度是4 B,发送数据包的长度也是4 B。其串行中断接收发送程序流程图如图4所示。42 上位机程序设计 上位机程序主要包括键盘扫描子程序、串行通信子程序、液晶显示子程序。 利用T0产生50 ms定时中断来进行时间换算、实时更新液晶显示屏上的信息;在主程序中利用循环来查询按键、向下位机发送数据;利用串行中断来接收下位机的回复数据。上位机接收数据过程与下位机接收数据过程一样,其主程序流程图如图5所示。系统采用一问一答的通信方式,上位机是主机,在向从机(下位机)发送完数据之后要调用延时程序等待从机的回复。5 结 语 该系统能够实现

22、多点温度检测控制,操作方便,配置简单,有效地节省了人力物力,实现自动化,具有通用性,可用于多种场合,具有很好的实用价值。51单片机温度控制与测量2009-06-01 12:46本装置的功能是对温度进行实时监控与控制。由温度传感器DS18B20对温度进行采样和转换送入单片机,并与设定的报警温度上下限值进行比较,通过LCD显示出来。如果实际温度超过设定的上下限值,一方面由LCD显示信息,并发出报警声;另一方面自动控制继电器(RELAY)接通或断开,从而控制加热源的开与断,达到对温度进行实时控制电路图阅读全文类别:程序设计 | 评论(4) | 浏览(706 ) 单片机简单时钟设计2009-06-01

23、 12:17电路本毕业设计设计了一个宽量程多点智能化的粮仓温湿度监测应用系统。随着科学技术的日新月异,人类社会取得了长足的进步!在居家生活、工农业生产、气象、环保、国防、科研、航天等部门,经常需要对环境中的湿度和温度进行测量及控制。本系统采用技术成熟的SHT11芯片作为测量湿度和温度的传感器。SHT11是内部集成 C总线接口的单片全校准数字式新型相对湿度和温度传感器。SHT11具有数字式输出、免调试、免标定、免外围电路及全互换的特点。SHT11全量程标定,并且可以二线数字输出。SHT11的湿度测量范围为0100%Rh,温度测量范围为-40+123.8,湿度测量精度为3.0%Rh,温度测量精度为

24、0.4,响应时间4s;内部自带信号调理电路和A/D转换电路。控制系统芯片采用技术成熟,功能强大、价位低廉大众化的AT89C51单片机。LED显示电路,声光报警电路都由AT89C51单片机控制。同时设计了能给系统提供稳定工作电压的电源电路。为了提高系统的抗干扰性能,对湿度、温度的检测采用了硬件抗干扰和软件抗干扰的综合方法。硬件采抗干扰措施采用集成看门狗芯片DS1232,它使系性能得到了改善。最后设计了系统各个功能部分的软件程序。在设计中,对误差产生的原因也进行了一些理论上的分析,并证明了这种设计方案是可行的。由本设计课题做成的温湿度检测系统结构简单、价格便宜、量程宽,具有较高的可靠性、安全性及实

25、用性。关键词:单片机 SHT11温湿度传感器 C总线接口第一章 绪论1.1 课题背景与应用意义 1.1.1 温湿度与粮食品质的关系 1.1.2 检测温湿度的意义1.2 国内外发展趋势1.3 系统主要性能指标1.4 主要工作任务1.5本章小结第二章 系统方案选择和工作原理2.1 系统概述2.2 系统设计方案选择2.3 系统工作原理2.4 本章小结第三章 系统硬件设计3.1 AT89C51构成的最小系统 3.1.1 晶振回路 3.1.2 复位电路3.2 温湿度传感器的选择 3.2.1 温湿测量相关概念 3.2.2 温湿度传感器的选择 3.2.3 SHT11的传输特性 3.2.4 C总线简介3.3

26、温湿度测量回路的设计3.4 显示电路的设计 3.4.1 LED两种接法 3.4.2 LED两种显示方法3.5 报警电路设计3.6 电源电路设计第四章 系统软件设计4.1 主程序的设计4.2 C模块程序设计4.3 LED显示程序设计4.4 报警电路程序设计4.5 本章小结第五章 系统的抗干扰措施5.1 硬件抗干扰措施5.2 软件抗干扰措施5.3 本章小结第六章 总结附录A 系统原理图附录B 系统程序补充多点温度监控具有重要的现实意义。例如,在粮仓需要对粮食进行多点温度监控,以避免粮食的腐烂和变质;在造纸、纺织等行业中,需要测量旋转滚筒表面的多点温度。但在传统的多点温度监控系统中大都采用模拟温度传

27、感器(例如AD590)一般经前端放大、A/D 变换和数据修正等过程。经实践应用分析发现:传统电路设计上存在电源干扰、滤波不可靠,线路过于复杂、无屏蔽措施等不可靠因素。而采用单总线数字温度传感器DS18B20 可将温度直接转化为串行数字信号供微机处理,而且在单总线上可以挂多片DS18B20,微机只需一根端口线就能与多片DS18B20 进行通行。因此,由单片机和DS18B20 构成的分布式多点温度监控系统改变传统的温度采样模式,具有可靠性高、线路简单、测量精度高、功能便于扩展等优点。系统总体结构原理 粮食在储藏期间,由于受环境、气候和通风条件等因素的变化,粮仓内温度或湿度会发生异常,这极易造成粮食

28、的霉烂、或发生虫害。那么针对粮食储藏的特殊性,我们选择了粮仓内的温度和湿度作为主要监测参数,把粮虫发生情况作为辅助参数。 整个监测系统由上位管理主机(HOST)、USB/CAN转换器和多个智能节点组成。节点的数量由大型仓库里的粮库数量决定,一般在采用标准帧进行CAN通信时,节点不超过110个;采用扩展帧CAN进行CAN通信时,节点数量原则上无限制。整个监测网络采用总线式拓扑结构,其结构原理图如图1所示。 上位管理机采用PC机,主要完成整个监测网络系统的参数设置、粮库的状态查询、数据处理、粮情分析、超限实时报警和报表打印等功能。下位智能节点由单片机、数据采集电路和CAN通控制驱动电路构成。 下位

29、机不仅要实时监测本粮库内各个测试点的温度、湿度和粮虫发生情况,并保存和显示结果,还要负责接收上位管理机的命令,根据上位机的要求上传数据。 USB/CAN转换器负责将上位机通过USB口输出的命令转换成CAN总线数据格式后,再下传到CAN总线;或者将下位机通过CAN总线上传的数据转换成USB数据格式后,再送到PC机。2 下位机硬件电路结构 下位机以单片机AT89S52为核心,通过扩展显示电路、数据采集电路和CAN通信模块构成一个完整硬件体系,如图2所示。21 数据采集电路 数据采集电路由温度采集电路、湿度采集电路和粮虫检测电路构成。温度检测采用Dallas公司生产的单总线数字温度传感器DS18B2

30、0,它不仅能直接输出串行数字信号,而且具有微型化、低功耗、高性能、易于微处理器连接和抗干扰能力强等优点。DS18B20数字温度传感器对于实测的温度提供了9-12位的数据和报警温度寄存器,它的测温范围为-55+125,其中在-10+85的范围内的测量精度为0.5。由于每个DS18B20有唯一的一个连续64位的产品号,所以允许在一根电缆上连接多个传感器,以构成大型温度测控网络。图2电路中,设计了两条测温单总线,每条单总线用一只场效应管提供电源,每条总线上可并联十几只数字温度传感器DS18B20。 湿度检测采用湿度传感器HIH3610和DS2438组合模块。HIH-3610是美国Honeywell公

31、司生产的相对湿度传感器,该传感器具有精度高、响应快速、高稳定性、低温漂、抗化学腐蚀性能强及互换性好等优点。HIH-3610采用热固聚酯电容式传感头,在芯片内部集成了信号处理功能电路,可以完成将相对湿度值变换成电容值,再将电容传转换成线性的电压输出。因此它输出的模拟湿度信号,不能直接送单片机处理,必须经过A/D转换。DS2438也是Dallas公司的单总线器件,具有A/D功能。HIH3610和DS2438可以组合在一起,构成单总线数字湿度传感器模块。 粮虫检测器,当检测到粮食虫害发生时,粮虫检测器输出负脉冲,送微处理器记数和处理。系统采用一个8输入与非门,可带8台粮虫检测器。22 显示电路 显示

32、电路和微控制器的连接采用I2C总线,由于AT89S52单片机内部没有集成I2C总线模块,故采用软件模拟的方法实现I2C通讯。显示驱动器采用具有I2C总线的器件SAA1064,可动态驱动4位8段LED显示器。它内部具有显存和自动刷新功能,可免去微控制器的频繁刷新任务,腾出大量时间做其他事情。23 CAN通信模块 CAN是现场总线中唯一被批准为国际标准的现场总线。其信号传输介质为双绞线。通信速率最高可达1Mbps/40m,直接传输距离最远可达10Km/5Kbps。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。当节点严重错误时,具有自动关闭的功能,以切断该节点于总线的联

33、系,使总线上的其它节点及其通信不受影响,具有较强的抗干扰能力。 图2中的CAN控制驱动模块由CAN控制器SJA1000、光耦6N137模块和CAN驱动器82C50构成。SJA1000负责与微控制器进行状态、控制和命令等信息交换,并承担网络通信任务;82C50为CAN控制器和总线接口,提供对总线的差动发送和对CAN控制器的差动接收功能。光耦6N137起隔离作用。3 系统软件设计 系统软件由上位机主程序和下位监控程序构成,上位机主程序用VB语言开发,采用模块化设计,具体的功能模块如图3所示。利用VB编写的应用软件人机界面友好,便于维护和管理。 下位机的软件由下位机主程序、温度采集程序、湿度采集程序

34、、粮虫检测中断程序和CAN收发中断服务程序等构成。由于篇幅所限这里仅给出了下位机主程序和CAN通信中断服务程序的流程图,分别如图4和图5所示。在下位机主程序里,系统要首先进行单片机的初始化、CAN的初始化、开外部中断、开启计数器和使能CAN接收中断的过程,是系统处于就绪状态,然后调用数据采集程序和数据处理程序,实时采集粮库现场的参数并予以处理,处理后的数据要保存起来供上位机随时查询,同时送显示器显示。 粮虫检测中断程序主要完成粮库发生粮虫后的处理,一方面要判断粮虫计数器是否计满,计满清零并保存数据;一方面设置粮库发生虫害标志,并供上位机查询和显示。 CAN收发中断服务程序负责上下位机的命令和数

35、据传送。当上位机发送命令时,CAN接收一个报文,CAN的中断使能标志置1,产生接收中断,CPU立即响应,进入中断服务程序,然后系统再根据上位机的具体命令,向上位机传送该节点工作状态或采集的数据。 4 结论 由于系统采用了全数字化的温度、湿度传感器,直接输出的是表示温度和湿度的数字信号,不存在由模拟量到数字量转换的中间环节,所以该系统具有稳定可靠、测量精度高、一致性好、无需任何调整、信号线长短不会影响其性能等优点,还有单总线也带来安装方便、线路清晰、节省线材等长处。上下位机通信采用CAN总线通信方式,提高了系统内部的速率和实时性,降低了误码传送的概率。粮虫检测器的设计使该系统除了能实时监测温度和湿度外,也能监测粮食虫害的发生情况。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号