基于单片机的冷库温度监控系统设计与实现.doc_第1页
基于单片机的冷库温度监控系统设计与实现.doc_第2页
基于单片机的冷库温度监控系统设计与实现.doc_第3页
基于单片机的冷库温度监控系统设计与实现.doc_第4页
基于单片机的冷库温度监控系统设计与实现.doc_第5页
免费预览已结束,剩余41页可下载查看

下载本文档

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

文档简介

辽 东 学 院 本 科 毕 业 论 文(设 计)基于单片机的冷库温度监控系统设计与实现Design and implementation of the cold storage temperature control system based on single chip microcomputer 学 生 姓 名: 学 院: 专 业: 班 级: 学 号: 指 导 教 师: 审 阅 教 师: 完 成 日 期: 辽 东 学 院Eastern Liaoning University独创性说明作者郑重声明:本毕业论文(设计)是我个人在指导教师指导下进行的研究工作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,毕业论文(设计)中不包含其他人已经发表或撰写的研究成果,也不包含为获得辽东学院或其他单位的学位或证书所使用过的材料。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。作者签名:_ 日期:_ _ 辽东学院本科毕业论文(设计)题目摘 要本设计基于单片机的冷库温度监控系统设计与实现,主要应用51单片机作为控制核心,1602 LCD显示、DS18B20作为温度传感器、继电器控制相结合的系统。实现了四个冷库的温度的独立监控系统充分发挥了单片机的性能。通过对“基于单片机的冷库温度监控系统”的研究,完成基于单片机的冷库温度监控系统的设计。本设计着重研究内容主要包括:实用系统分析、控制方案确定、功能设计、线路设计与线路板制作、元件采购与焊接、系统总装与调试等。系统具有硬件电路简单,软件功能完善,控制系统可靠,性价比较高等特点,具有一定的使用和参考价值。关键词: 单片机;1602液晶;DS18B20;冷库温控;- I -辽东学院本科毕业论文(设计)题目目 录摘 要I一、绪论1(一)本设计的意义及目的1(二)冷库的国内外现状1(三)本文主要内容2二、系统总体方案的设计3(一)现场模拟3(二)总体方案3三、单片机硬件部分设计4(一)温度测控系统选型4(二)核心控制芯片方案6(三)单片机外围电路的设计71复位电路设计72时钟电路设计93电源电路设计10(四)LED显示电路与键盘电路10(五)串行通信模块的设计14(六)光电隔离的设计15四、软件部分的设计18(一)单片机部分的软件设计18(二)上位机软件的设计201.系统设计思路202串口通讯设计213.可视化窗口设计254.操作界面28结 论30参 考 文 献31附录A 程序源代码33致 谢42- II -辽东学院本科毕业论文(设计)题目一、绪论(一)本设计的意义及目的在当今社会下,经济快速发展、科技水平不断提升、人民生活水平逐步提高,但与此同时,食品安全事件频频发生,这些因素导致了人们对食品安全越来越关注、对食品质量的要求也越来越高,尤其是食品储存阶段,不但要求食品经过冷冻、冷藏处理后保质保鲜,而且还希望食品的色泽保持不变。而食品的保质保鲜与食品冷冻、冷藏时的温度密切相关,不同类别的食品,其最佳冷冻或冷藏温度也差异很大。在大型冷库系统中,冷库个数较多,储存食品的种类繁多,每一个冷库都根据储存的食品种类,都有自己必须的工作温度。针对每个冷库储存冷藏、冷冻食品类不同的实际情况,要求管理人员必须准确控制大型冷库系统中每个冷库的工作温度,而管理人员控制冷库温度必须能够精确地监测每个冷库的实时温度,并对冷库异常情况进行及时获取、分析、处理。因此,针对这类需求情况, 发冷库温度监测与信息管理系统将具有广阔的应用前景。另外,在我国,食品安全问题不断发生,造成了严重的社会影响,间接得影响着社会的稳定,越来越多得引起了政府和群众百姓的广泛关注。我国现已颁布中华人民共和国食品安全法对此问题进行了非常严格法律规制,进一步规范了食品安全生产、销售渠道。冷藏室对冷冻食品的保鲜、保质起到了核心和关键作用,无论是冷藏车还是冷库,抑或是超市的冰柜,实时监控温度都具有重要意义。冷库温度监测与信息管理系统使用以后,可以精确测量和显示冷库系统中每个冷库的实时温度,当冷库运行出现异常时,还能及时进行报警处理,通知管理人员,有效的满足了食品保质保鲜的实际要求,同时节省了大量的人力和电力,提高了冷库的运行效率。不仅如此,通过串口通讯,在计算机监控软件上读取的历史温度记录数据,经过对这些数据的分析,还可以对许多冷冻、冷藏食品的质量以及节能等有关的问题进行研究,为更进一步的挖掘和研究冷库食品保质保鲜的新方法提供理论依据。所以,冷库温度监测与信息管理系统的研究具有较高的使用价值。(二)冷库的国内外现状冷库是发展冷藏业的基础设施,冷藏业以食品保质保鲜为主,将速冻食品、易腐畜禽、果蔬、水产经过预冷、加工、贮存和冷藏运输等流程,有效地保证了食品的质量、营养成分,达到食品保质保鲜,减少营养成分缺失的目的,避免了在食品生产、储存、销售过程中经济损耗现象的发生。国外冷库行业发展较快的国家主要有日本、美国、加拿大等国,其大型冷库温度实时监测管理的技术也相应发展很快。日本是亚洲最大的速冻食品生产国,大中型冷库数量非常多,其中-20以下的低温库在所有的冷库中占80%以上。冷库温度监测管理的技术也相应非常先进。在国外,70年代之前基本采用以氨为制冷剂的集中式制冷系统,70年代末期逐渐采用了以R22为制冷剂的分散式制冷系统。80年代以来,分散式制冷系统在国外发展很快,不管制冷技术如何改变,冷库温度监测管理的技术的发展趋势不变,釆集冷库温度的精度越来越高,报警方式也由传统的报警灯和蜂鸣器报警,添加了无线报警方式。由于我国人口众多,对食品的要求数量庞大,食品保质保鲜、储存过程中减少营养成分缺失的要求越来越高,因此,我国拥有果蔬藏冷库面积就高达300多万平方米,仓储能力高达200多万吨,其中机械冷藏库超过100万吨,普通库也多达100万吨。而果品蔬菜的保质保鲜一般需釆用最低温度为-3的高温库,水产、肉食类的保质保鲜需釆用温度在-2以下的低温库,我国的藏冷库既有大量的高温冷库,又有数目庞大的低温冷库,从普通冷库过渡到多品种、多规格的气调冷库,对冷库温度监测管理的技术提出了越来越高的要求。目前,我国科特时控的冷库温度监控系统、冷库湿度监控系统、冷藏车温度监控、冷藏车远程监控系统等都取得了很好的运用。未来,冷库温度监测管理的研究将会越来越深入,冷库温度监测与信息管理系统的运用也将越来越广泛。(三)本文主要内容本设计系统主要对四个冷库温度监测并进行实时的处理,系统中包括监测装置的设计和实现、以及计算机信息管理软件部分的设计与实现两部分内容。设计中监测装置包括两部分:一部分是冷库温度釆集处理、一部分是显示屏显示温度数值等两部分内容。计算机信息管理软件就是在使用计算机对冷库温度监控与管理。第一部分冷库温度采集处理,对冷库的选择、冷库温度的采集、冷库温度的处理、冷库温度的存储各个功能模块进行了阐述,是整个系统基本和起始的部分,为接下来各个部分的功能实现提供了基础。第二部分按键和显示屏的温度数值显示和设定,通过按键控制冷库的运行,显示屏显示每一个冷库的运行状态和温度信息。 第三部分计算机上的冷库温度监控与管理,即上位机(监控的计算机)与下位机(底层硬件电路和嵌入式软件)的通讯交互,计算机信息管理软件的设计与主要功能。最后,对本系统实现过程中的重点和难点进行了总结,创新之处和不足之处进行了说明,并进行了一些展望。二、系统总体方案的设计(一)现场模拟四个冷库分别进行温度采集和控制,采集温度通过温度传感器DS18B20,控制温采用继电器模拟控制八个个LED灯,每个冷库中有两种制冷模式,分别是普通制冷和快速制冷,分别用两个灯控制。(二)总体方案图 2.1 整体设计方案每个冷库一个点测量由单片机进行滤波运算,并在现场显示即为其测量值,这样大大提高了其测量的准确度。单片机将采集回来的温度与设定值进行比较,控制冷库现场的温度,中间通过光电隔离,使信号不被后边的控制电路影响。本设计的人机接口部分包括按键输入、1602液晶显示、上位机的温度显示及报警提示。按键可控式四个冷库的运行状态,液晶显示现场的温度和运行状态。人们可以通过上位机端远程监控每一个冷库的运行状态和现场温度以及故障报警等。三、单片机硬件部分设计(一)温度测控系统选型市场上有多种传感器可供选择:方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。方案二:选用DS18B20:DS18B20单总线数字温度计提供9位温度读数,指示器件的温度,信息经过单线接口送入DS18B20,中央处理器到DS18B20仅需连接一条线和地。读写和完成温度变换所需的电源可以有数据线本身提供,不需要外接电源。可以直接将温度传给处理器处理显示数据。且目前市场价10元左右。通过比较以上两种方案,决定采用方案二,方案二电路图设计简单,相对其它器件容易控制,性价比高。而且可以多点采集温度,更容易实现智能控制。温度传感器特性和参数图3.1 DS18B20封装图下表为DS18B20的引脚定义及描述DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5V;零待机功耗;温度以9或12位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;64位ROM和单线接口高速缓存存储器存储器和控制器8位CRC生成器温度灵敏原件低温触发器高温触发器配置寄存器电源检测图3.2 DS18B20内部结构图DS18B20的一线工作协议流程是:初始化ROM操作指令存储器操作指令数据传输。其工作时序包括初始化时序、写时序和读时序,如图所示。DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。例如125的数字输出为07D0H,25.0625的数字输出为0191H,25.0625的数字输出为FF6FH,55的数字输出为FC90H。图3.3 温度传感器(二)核心控制芯片方案目前,市场上以MCS-51系列单片机应用最广,配合其生产的芯片业最多。而且51系列已能完成本设计所需要求,价格较低,所以本设计选用51系列单片机AT89C52作为核心芯片。兼容标准MCS-51指令系统的AT89C52单片机是一个低电压,高性能CMOS8位单片机,片内含8K bytes的课反复擦写的制度程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,片内置通用8位中央处理器和Flash存储单元,功能强大的89C52单片机可为您提供许多高性低比的系统控制应用领域。89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定计数器,2个全双工串行通信口,2个读写口线,89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。其引脚如图4-3其主要功能特性如下:*兼容性MCS51指令系统*8k可反复擦写(1000次)Flash ROM*32个双向I/O口*2568bit内部RAM*3个16位可编程定时/计数器中断*时钟频率024MHz*2个串行中断*可编程UART串行通道*2个外部中断源*共6个中断源*2个读写中断口线*3级加密位低功耗空闲和掉电模式图3.4 AT89C52引脚图(三)单片机外围电路的设计1复位电路设计复位电路的基本功能是:可以使单片机初始化,也可以是死机状态下的单片机重新启动。系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。复位电路分为上电复位和手动复位两种:不管哪种复位只要在RESET引脚有持续两个机械周期以上的高电平就可以是单片机复位。图3.5 上电复位这种上电复位功能是利用电容器充电来实现的,当加电时,电容C充电,电路中有电流流过,构成回路,在电阻R上产生压降,RESET引脚上为高电平;当电容C充满电后,电路相当于断开,RESET的电位与地相同,复位结束。可见复位的时间与充电的时间有关,充电时间越长复位的时间越长,增大电容或电阻都可以增加复位时间。图3.6 按键电平复位按键式复位电路与上电复位电路的原理相同,但是它还可以通过按键实现复位,按下按键后,通过R1和R2形成回路,是RESET引脚产生高电平。按键时间决定了复位的时间。图3.7 按键脉冲复位按键脉冲式复位电路是利用RC微分电路在RESET端产生正脉冲来实现复位的。综合本设计的要求,最终方案选取的是按键脉冲复位电路。2时钟电路设计时钟电路是单片机的心脏,它控制着单片机的工作节奏。单片机工作的时候,是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲的来源是单片机控制中的时序电路发出的,这种时钟信号可以有两种方式产生:内部时钟方式和外部时钟方式。内部时钟方式:89C51内部有一个高增益反相放大器,用于构成内振荡器,引脚XTAL1和XTAL2分别是放大器的输入端和输出端。在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟发生器。图3.8 振荡电路本设计总C1和C2选择30pF,晶振为12MHz。3电源电路设计图3.9 电源电路LM29405 输出电压固定的低压差三端稳压器,输出电压5V,输出电流1A,最小输入输出电压差小于0.8V,最大输入电压26V,工作温度-40+125C,满足单片机和控制电路的需求。(四)LED显示电路与键盘电路在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。数字式接口:液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻:液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗低:相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。图3.10 显示1602正反视图1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。图3.11 写操作时序图3.12 读操作时序表3-1:基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无键盘电路图设计,通过按键控制冷库的运行状态,按键是低电平有效。图3.13 按键电路图(五)串行通信模块的设计RS-232是单端输入/输出多用于计算机通讯接口,RS-232电平为负逻辑电平:高电平(“1”)为-15-3V,低电平(“0”)为315V图3.14 串口通讯线通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。RS-232C 对电器特性、逻辑电平和各种信号线功能都作了规定。 在TxD和RxD上: 逻辑1(MARK)=-3V-15V 逻辑0(SPACE)=+3+15V 在RTS、CTS、DSR、DTR和DCD等控制线上: 信号有效(接通,ON状态,正电压)=+3V+15V 信号无效(断开,OFF状态,负电压)=-3V-15V 以上规定说明了RS-232C标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传号) 的电平低于-3V,逻辑“0”(空号)的电平高于+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电 平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在(315)V之间。 RS-232C 与TTL转换:RS-232C 是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA RS-232C 与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。MAX232芯片可完成TTLEIA双向电平转换。图3.15 串口通信电路图(六)光电隔离的设计单片机对工作环境要求比较高,所以应设法为单片机提供一个良好的工作环境,通常采用以下措施:1.良好的工作电源:交流电网是电子设备的强干扰源。因此在可靠性设计中必须考虑的重要影响因素。在选用电源时应考虑其容量,电压的输入范围及其纹波噪声,可以使用交流电源滤波器及交流稳压器对电源变压器进行屏蔽和隔离。2.隔离安放单片机:由于环境多变,空气温度,湿度,震动,油滴等原因都可能使单片机失效,因此应尽量将控制部分单独安放在隔离区内。采用适当减震措施与方法处理。尽量减少接插件,而采用再接焊接的链接方式。最大限度的为单机片提供一个相对干净的空间。系统信号的滤除:系统中的控制信号非常重要,它关系到整个控制系统的性能和控制精度。噪声源通过电容,电磁耦合会对传感器形成干扰,因此,对于这些干扰信号要及时驱除。对于数字量和开关量的滤除,可以用光电隔离的方法,阻断外部干扰信号通过数据总线进入控制系统。对于单片机输出的控制信号均用光电耦合的方法进行传输。光耦的作用:(一)信号隔离:其目的在于从电路上把干扰源和易受干扰的部分隔离开来,使测控装置与现场仅保持信号联系,而不直接发生电的联系。隔离的实质是把引进的干扰通道切断,从而达到隔离现场干扰的目的。测控装置与现场信号之间、弱电和强电之间,常用的隔离方式有光电隔离、继电器隔离、变压器隔离、隔离放大器等。另外,在布线上也应该注意隔离。(二)光电耦合器:将发光元件和受光元件组合在一起,通过电-光-电这种转换,利用“光”这一环节完成隔离功能,使输入和输出在电气上是完全隔离的。根据受光元件的不同可分为晶体管输出型和晶闸管输出型两类。光电耦合器具有三个特点:信号传递采取电-光-电的形式,发光部分和受光部分不接触,能够避免输出端对输入端可能产生的反馈和干扰,抑制噪声干扰能力强;具有耐用、可靠性高和速度快等优点,响应时间一般为数 以内,高速型光电耦合器的响应时间有的甚至小于10ns。(三)固态继电器:固态继电器按使用场合可以分为交流型(AC-SSR) 和直流型(DC-SSR)两类,它们分别在交流或直流电源上做负载的开关,不能混用。(四)隔离放大器:为完成地线隔离,将放大器加上静电和电磁屏蔽浮置起来,这种放大器叫隔离放大器,或叫隔离器,其输入和输出电路与电源没有直接的电路耦合关系。常用的隔离放大器有Analog Devices公司的AD277J、AD202、AD204、AD289、AD290、AD210、AD281等。(五)线性光电隔 离放大器:利用发光二极管的光反向送回输入端,正向送至输出端,从而提高了放大器的精度和线性度。放大器的输入端和输出端是用光隔离的,所以不存在电气连接。常见的线性光电隔离放大器有Burr-Brown公司的ISO100、3650和3652。图3.16 光电隔离及动作部分电路图四、软件部分的设计(一)单片机部分的软件设计开始程序初始化按键选择冷库一冷库二冷库三冷库四模式选择显示初始化刷新显示制冷控制采集温度数据等待中断图4.1 主程序流程图图4.2 中断子程序流程图温度控制程序的设计应考虑如下问题:软件程序所要完成的任务:1.键盘扫描、识别、温度显示2.温度采样、数字滤波3.数据处理本设计的要求是能够实时的测温并显示所测的温度以及根据要调节的温度,使用一定的算法是所控制的温度和所调节的相符。在软件设计时,根据控制系统工作由实时测量,实时决策,实时控制组成,将程序分解成模块来处理:(1)主程序:主程序只需要进行一些AT89C52本身的初始化,然后等待中断的产生,初始化包括中断允许寄存器IE的设置,对中断优先级IP的设定,TO初始化,等待中断。(2)TO中断服务程序 TO中断服务程序是温度控制系统的主体程序,用于启动转换,读入采样数据,数字滤波,越限温度报警和越陷处理,计算等。从TO中断服务程序中,还需要用到一系列的子程序。如温度采样值的子程序,数字滤波子程序,限处理子程序,计算子程序,标度转换程序和温度显示程序。(二)上位机软件的设计1.系统设计思路(一)确定思路步骤1确定系统需求2规划系统3建立各项目文件4设计各界面5编程把各界面连接,并调试程序。(二)结构框架设计图4.3 结构框架设计2串口通讯设计随着计算机技术的发展,串口通信在诸多领域得到了广泛的应用,计算机可以通过串口来获得设备的各种数据。然后利用计算机强大的功能进行处理,再根据处理的结果发送数据来控制设备。在串口的几种编程方式中,利用嵌入式汇编语言编写计算机的串口通信程序需要员对低级语言的了解和掌握:windows api 串口编程虽然实现了设备无关性,但是编程过于繁琐:Microsoft 公司提供了MSComm控件,使得开发串口程序变得十分简单。Visual Basic 是近年来发展最快的一种计算机语言,其简洁和实用性已经受到众多计算机用户和程序员的欢迎,尤其是其6.0版本,功能强大且易于掌握,是一种优秀的可视化开发环境,在VB应用程序中调用MSComm 控件也十分容易,由于VB的通用控件MSComm友好、功能强大,提供了功能完善的串口数据的发送和接收功能,同时编程速度快是众人皆知的,所以在数据通讯量不是很大时,在单片机通讯领域广泛地使用VB的MSComm通信控件来开发上层通讯软件。VB5.0/6.0的MSComm通信控件提供了一系列标准通信命令的接口,它允许建立串口连接,可以连接到其他通信设备(如Modern),还可以发送命令、进行数据交换以及监视和响应。在通信过程中可能发生的各种错误和事件,从而可以用它创建全双工的、事件驱动的、高效实用的通信程序。下面就对其通信控件作MSComm进行一定的说明。一般用VB开发串行通信程序有两种方法:一是利用Windows的通信API函数;另一种是采用VB标准控件MSComm来实现。利用API编写串口通信程序较为复杂,需要掌握大量通信知识,其优点是可实现的功能更丰富、应用面更广泛,更适合于编写较为复杂的低层次通信程序。MSComm控件的通信功能实现,实际上是调用了API函数,而API函数是由Comm。Dv解释并传给设备驱动程序去执行的,对于VB程序开发者只需知道MSComm控件的属性和事件的用法技可以实现串口的操作。由于MSComm控件不属于VB6.0工具箱中的最基本的控件,要调用该控件,首先要在VB环境中添加该部件,即在菜单“工程”的选项“部件”中控件列表中添选择Microsoft Comm Control6.0即可,通过如上步骤,工具栏中就会出现我们需要的通信控件MSComm,选择该控件,再放置到窗体上就能在程序中方便的使用了。MSComm控件MSComm控件通过串口端口传输和接受数据,为应用程序提供串行通信功能。MSComm控件提供下列两种处理通讯的方式:事件驱动通讯这是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知。例如:在Camier Detect(CD)或Request To Send(RTS)线上一个字符到达或一个变化发生时,捕获并处理这些通信事件。OnComm 事件还可以检查和处理通讯错误。 Private Case MSComm CommEvent 错误 Case conEventBreak 收到BreakCase comEventCTSTO CTS TimeoutCase comEventDSRTO DSR TimeoutCase comEventFrame Framing ErrorCase comEventOverrun 数据丢失Case comEventRxOver 接收缓冲区溢出Case comEventRxParity Parity错误Case comEventTxFull 传输缓冲区已满Case comEventDCB 获取DCB时以外错误事件Case comEvCD CD线状态变化Case comEvCTS CTS线状态变化Case comEvDSR DSR线状态变化Case comEvRing Ring Indicator变化Case comEvReceive 收到Rthreshold#ofcharsCase comEvSend 传输缓冲区有Sthreshold个字符Case comEvEof 输入数据中发现EOF字符 End SelectEnd Sub查询方式在程序的每个关键功能之后,可以通过检查CommEvent属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。例如:如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符时调制解调器的“确定”响应。每个使用的MSComm控件对应一个串口端口。如果应用程序需要访问多个串行端口,必须使用多个MSComm控件。可以在Windows“控制面板”中改变端口地址和终端地址。尽管MSComm有很多重要的属性,但必须熟悉几个属性:(1)Commport设置或返回串口端口号,其取值范围为199,缺省为1。程序必须指定所要使用的串行端口号,Windows系统会自动使用所设置的通信端口与外界进行通讯。程序也可以借助词属性返回所使用的端口号。端口号可以设置为1到16,超过16会产生错误信息。(2)Setting设置或返回串口端口的波特率、奇偶校验位、数据位数。停止位。如:MSComm.setting=9600,N,8,1.表示所使用的通讯端口以每秒位的速度进行数据传输,不做奇偶校验,每个数据单元是位,停止位为位。设置完成之后,所传输和接受的字符串便以此为准,彼此才能正常顺利的通信,否则双方不能正确的接收到所传输的数据信号。(3)Portopen:打开或关闭串行口,格式为:MSComm.Port Open=TRUE/FALSE。(4)InBufferSize:设置或返回接收缓冲区的大小,缺省为1024字节。(5)InbufferCount:返回接收缓冲区内的等待读取的字节个数,可通过设置该属性为0来清除接收缓冲区。 (6)Rthreshold:该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生代码为MSComm EV RECEIvE的onConml事件(7)Input:该属性表示从接收缓冲区移走一串字符。(8)OutBufferSize:设置或返回发送缓冲区,缺省为512字节。(9)OutBufferCounter:返回发送缓冲区内等待发送的字符数,可用来清空缓冲区。(10)EOFEnable:若置TRUE。则当输入中出现EOF,就停止输入并产生OnComm事件。(11)CommEvent属性。返回最近的通讯事件或错误的数字代码。当CommEvent属性值为常数ComEvRecive-2时,收到Rthreshold个字符,就会触发OnComm事件,直到用Input属性从接收缓冲区中取出数据。利用MSCormn控件通信的步骤通常分为以下几步:(1)加入MSConma控件。(2)设定通信端口号,即ConmlPort属性。(3)设定通信协议,即Handshaking属性。(4)设定传输速度等参数,即Settings属性(5)设定其它参数。(6)开启通信端口,即将PorK)pen属性设置为True(7)使用Input和OutPut属性,输入和输出数据。(8)使用MSComm完毕以后,关闭通信端口,即将PorK)pen属性设置为False在本设计中,采用从键盘输入数据,为此需要屏蔽键盘以保证输入是数字在09之间的数字,而不会出现乱码,界面需要自己建立,在Visual Basic中“新建工程”中选择“EXE标准”点击打开,出现界面,然后根据设计的需要在界面中用工具箱中的工具画出所需要的图形,并在属性框中设置其属性,在本设计中先用Frame工具画一个框图,在框图中用LaNe T具按顺序摔好画五个框,在I_able属性框中的Caption中依次输入:波特率,串口号,数据位,校验位,停止位,并分别在它们后面加“:”然后依次在用Combobox工具在其后面加入,然后在其右下角添加“确定”和“取消”按钮,操作完成之后开始编写程序。编写完成之后保存。然后调试改程序,查找错误直到运行成功。图4.4 上位机编程环境3.可视化窗口设计(一) 主要控件的介绍Visual Basic是近年来发展最快的一种计算机语言,其简洁和实用性已经受到众多计算机用户和程序员的欢迎,下面介绍本设计中用到的主要的控件。由于MSCowan控件在串行口通信设计中已介绍,在本章中不再介绍,主要介绍以下控件:1 Toolbar控件(1)Toolbar控件概述Visual Basic 60提供了专门用于制作工具栏的控件Toolbar,它可制作出功能强大的工具栏,并且使用Toolbar控件来创建工具栏非常方便,容易。Toolbar控件包含一个用来创建工具栏的Button对象集合。这些按钮与应用程序菜单中各项命令相对应,可以通过Button对象添加到Button集合中来创建工具栏。每个BuUon对象都可有可选文本或一幅图象,及用Image属性为每个Button对象加一幅图象,或用Caption属性显示文本,或者二者兼而有之在设计时可用Toolbar控件的属性页将Button对象添加到控件中。在运行时可用Add和Reillove方法添加按钮或从Button集合中删除按钮。Toolbar控件还为其中的按钮对象提供分组功能并可加入omboBox控件,TextBox控件等其他控件。设计时要在其中的按钮添加其他控件,只需将需要的控件拖入工具栏即可(2)Toolbar控件的添加工具箱的标准控件中不包含Toolbar控件,使用它时,必须把Toolbar控件添加进去。添加方法如下:点击Project菜单的Components菜单项。会弹出选择控件的窗El,在部件添加窗口中选中“MicrosoftWindowsCotmnonControls60”即可将Toolbar和其他一些控件添加到工具箱之中。2 TextBox控件TextBox控件经常被用来在运行时显示用户输入的信息,或者显示在设计或运行时为其Text属性所赋的字符串。Toolbar控件用于可编辑文本,但可将其Locked属性设置为True,使其成为只读的。还可用文本框实现多行显示、数据控件的尺寸自动换行以及添加基本格式的功能。Toolbar控件非常适于作为简单的文本编辑器。3 ImageList控件(1)ImageList控件概述ImageList控件为其他Windows公共控件保管图象,这里所指的控件通常包括ListView、TreeView、TabStrip和Toolbar控件。ImageList控件还可用于那些需要将Pictrue对象赋予其Pictrue属性的控件上,比如PictrueBox、Image和ConmmndButton控件。可以把ImageList控件视为一种图象仓库,它提供了单一的、一致的图象目录,这样就节省了开发的时间。该控件使用ImageList控件对象集合中的位图(hIIp)或图标(ico)文件。在设计时和运行时均可添加和删除图象ImageList控件还提供了Overlay、Draw和ExtractIcon方法,利用它们可以创建合成的图象:用hDC属性在对象上绘制图象;并利用该控件中保存的位图创建图标。ImageList控件包含了Listlmage对象和Listlmages集合。每个ListImage对象可用集合的Index或Key属性值加以引用。在设计时和运行时均可在控件中添加和删除图象。(二)窗体的设计在了解了Visual Basic语言的几个基本的属性后,我们开始创建VB界面。在Visual Basic中新建工程”中选择”EXE标准“点击打开,出现界面,然后根据设计的需要在界面中用工具箱中的工具画出所需要的图形,并在属性框中设置其属性,在本设计中先用Frame工具画一个框图,在框图中用Lable工具按顺序排好画五个框,在Lable属性框中的Caption中依次输入:波特率,串口号,数据位,校验位,停止位,并分别在它们后面加。:”然后依次在用Combobox工具在其后面加入,然后在其右下角添加”确定”和”取消”按钮,操作完成之后开始编写程序。编写完成之后保存,然后调试修改程序,查找错误直到运行成功。界面创建好后,下一步开始进行数据库的设计。Visual Basic提供了处理数据库的强大功能,在Visual Basic中处理数据库的基本形式是通过提供的数据控件,利用数据控件可以方便的创建应用程序来显示、编辑和修改多种数据库的信息。在本设计中,采用Microsoft Access数据库设计温度的链表。此数据库提供用户创建数据驱动的应用程序而不用去编写任何代码的功能。我们先来介绍一下Access数据库的使用。打开Access界面,弹出个对话框,选择新建数据库中的空Access数据库。点击确定进入”文件新建数据库”界面,选择保存位置,定义好文件名,点击”创建”按钮,在此设计中,选择保存位置为”我的文档:毕业设计“定义文件名为”湿度值”,进入”温度值表:数据库”界面,在此界面中单击”使用设计器创建表”然后点击菜单中的”设计”,即进入“表l:表”的对话框,根据设计的需要分别在“字段名称数据类型”中键入温度,名称,序号。输入完成之后关闭,弹出一个对话框,选择”确定”之后,又弹出表,根据需要键入相应的数值,数据表建立好之后,把它放在VB编程的环境下,在编写程序时,把打开数据库的路径写清楚,以便调用数据库。常用的数据库访问和操作方法有三种,包括使用数据控件和数据绑定控件、使用数据访问对象DAO(Data access Object)、使用ADO数据访问对象和ADOData控件。图4.5 上位机窗体设计4.操作界面上位机是通过串口通讯的,所以在启动上位机之前,确保串口线连接至电脑。启动上位机选择COM口,打开串口后上位机显示每一个冷库的温度,以及报警灯。图4.6 正常运行下的上位机界面图4.7 冷库1故障报警时上位机界面结 论本设计是基于51单片机的冷库智能控制系统,实现了冷库温度监控系统设计与实现。经过不断的努力最总系统模型搭接成功实现了四个冷库的温度控制结果理想。在经过一段时间的学习之后,我们需要了解自己的所学应该如何应用在实践中,因为任何知识都源于实践,归于实践,所以要将所学的知识在实践中来检验。毕业设计期间,在老师的辛勤的指导下,通过自身的不断努力,无论是思想上,学习上都取得了很大的进步为今后的的发展积累了宝贵经验,学会用科学的精神去解决问题。很多事情看起来是很简单的问题,但实际做起来就不简单了。运用科学的方法去解决问题,这是我这次毕设给我带来的思想上的改变。在以后的学习上,使自已在大学所以的知识在这次得到实践,对单片机有了进一步的认识。自己定会更加的努力,丰富自己,励志做祖国栋梁。参 考 文 献1齐怀琴,高精度温度测量仪的研究电子测量与仪器学报,2001,(1):20-232李喜宏,微型节能保鲜冷库【M】天津:科技文献出版社,20036,20-1503李福良,基于模拟比较技术的高精度测温方法自动化与仪器仪表,20036,32344李小波,多点、多分度号、远距离温度采集和记录系统自动化与仪表,2002A,26285朱华贵,分布式多路远程温度检测系统的设计与实现乐山师范学院学报,200412,34,-,366宋书锋,基

温馨提示

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

评论

0/150

提交评论