目录一、方案的选择与论证……………………………………………….…1………………………………..11.2液位传感的选择与论证…………………………………………21.3显示的选择论证..………………………………..……………….21.4加热控制的选择与论证…………………………………………21.5微控制器的选择与论证………………………………………………………2二、系统的具体设计与实现……………………………………………32.1系统的总体设计方案……………….………………………….32.2温度传感器模块………………………..…………………………42.3时钟模块……………………………………………….……………62.4报警模块……………………………………………………………..72.5液晶显示模块部分………………………………….……………82.6电磁阀控制模块……………………..……………………………92.7串行通讯与PC机控制模块……………………..……………92.8加热模块……………………..……………………………………..10三、系统软件设计…………………..………………………..………103.1程序流程图………………………………….………………….…11四、测试结果和结论…………………………………………………….12五、参考文献……………………………………………..………………….…12附录……………………………………………………………………..12摘要本系统以AT89S52为核心,选用符合测量温度范围要求的DS18B20单总线数字温度传感器,LCD128*64液晶显示器实现液晶显示液位和温度。当测量温度超过设定的温度上下限时,启动蜂鸣器和指示灯报警,并能同时打开加热装置自动加热或停止加热;当测量液面超过设定的液面上下限时,启动蜂鸣器和指示灯报警显示稳定,从而达到自动加水和排水的功能。且温度测量误差≤±0.5℃,温度值小数部分保留两位有效数字;使用串行通信与PC机连接,能用PC机进行在线控制,并能在PC机显示相应曲线图。增加了DS1302串行时钟芯片,在LCD128*64液晶显示器实现液晶显示当前日期、时间、星期的功能。一、方案选择与论证根据竞赛设计任务的总体要求,本系统可以划分为以下个基本模块,针对各个模块的功能要求,分别有以下一些不同的设计方案:1、温度传感器模块方案一:采用热敏电阻,热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的,也不能满足测量范围。在温度测量系统中,也常采用单片温度传感器,比如AD590,LM35等.但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温系统的硬件结构较复杂.另外,这种测温系统难以实现多点测温,也要用到复杂的算法,一定程度上也增加了软件实现的难度。方案二:采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号。便于单片机处理及控制,节省硬件电路。且该芯片的物理化学性很稳定,此元件线形性能好,在0—100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS1820和微控制器AT89S52构成的温度测量装置,它直接输出温度的数字信号到微控制器。每只DS18B20具有一个独有的不可修改的64位序列号,根据序列号可访问不同的器件。这样一条总线上可以挂接多个DS18B20传感器,实现多点温度测量,轻松的组建传感网络。综上分析,我们选用第二种方案。2、液位传感器模块方案一:此方案采用光电传感器来实现,光电传感器是利用光的转换来获取数据,在经过AD转换来实现可以在LCD可以显示的数据,这样的话,硬件和软件都会变得复杂,在加上光电传感器检查的原理可知,在此系统使用并不稳定。方案二:此方案采用液位传感器来实现,液位传感器所采集到的数据能直接显示到LCD上,不需要转换,这样的话,硬件和软件就能简化,而且液位传感器所检测到的数据稳定性好,精确度高。综上分析,我们采用了第二个方案。3、显示模块方案一:采用8位段数码管,将单片机得到的数据通过数码管显示出来。该方案简单易行,但所需的元件较多,且不容易进行操作,可读性差,一旦设定后,很难再加入其他的功能,显示格式受限制,且耗电量大,不宜用电池给系统供电。方案二:采用液晶显示器件,液晶显示平稳、省电、美观,更容易实现题目要求,对后续的功能兼容性高,只需将软件作修改即可,可操作性强,也易于读数,采用LCD128*64四行十六个字符的显示,能同时显示日期、时间、星期、温度和液位的控制,更能体现人机对话。4、加热控制模块方案一:此方案采用继电器来实现对220V交流的导通控制从而达到自动加热或停止加热的功能,由于继电器在控制大电流时容易抖动,工作不稳定。方案二:此方案采用光电偶合器COM3041与双向可控硅BTA12600B来实现对220V交流的导通控制从而达到自动加热或停止加热的功能,这样安全又稳定。综上分析,我们采用了第二个方案。5、微控制器模块方案一:此方案采用AT89C51八位单片机实现。它内存较小,只有4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,无在线下载编程功能,也无在线仿真功能。只能通过编程器烧写成以.hex为后缀名的文件。方案二:此方案采用AT89S52八位单片机实现。它内存较大,有8K的字节Flash闪速存储器,比AT89C51要多4K。它可在线编程,可在线仿真的功能,这让调试变得方便。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。综上所述,我们采用了第二个方案,即AT89S52。二、系统的具体设计与实现1、系统的总体设计方案采用AT89S52单片机作为控制核心对温度传感器DS18B20、液位传感器LLE102000、光电耦合器控制,读取温度信号并进行计算处理,分析并作出是否进行报警的判断,同时读取时钟芯片DS1302的时间,并送入液晶显示器LCD128*64显示,同时通过与PC机的连接来实现PC机对整个系统的控制和显示。图1系统设计框图CPUAT89S52按键控制温度传感器DS18B20液位传感器LLE102000时钟DS1302LCD128*64显示蜂鸣器报警灯加热、液位控制串行与PC机图2单片机控制和复位电路模块2、温度传感器模块DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下:▲独特的单线接口仅需要一个端口引脚进行通信;▲多个DS18B20可以并联在惟一的三线上,实现多点组网功能;▲无须外部器件;▲可通过数据线供电,电压范围为3.0~5.5V;▲零待机功耗;▲温度以9或12位数字;▲用户可定义报警设置;▲报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;▲负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;它有64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。该模块的功能是向单片机输出温度测量信号根据DS18B20的工作原理知用单根总线跟单片机的中断口INT1连接即可。图3温度传感模块硬件电路如3、时钟模块该模块的主要功能是向单片机提供时间的信息包括年、月、日、星期及时间。其是由DS1302、晶振、电容等组成。图4时钟模块电路图如键盘功能如下表1:表1键盘功能表键号功能SW1移动和设定时间SW2取消SW3加1SW4减1SW5闹钟设置SW6确定SW7上下报警植设置1设置时间流程:在运行状态任何时间按下SW1进入时间设置,时间恢复为默认值,设置依次为年、月、日、星期、小时、分钟,6个单元,每个单元先调个位再调十位,按SW5加1,按SW3跳转到下1个单元,设置完6个单元后时钟开始运行。2设置报警温度上下限:温度默认报警上限温度为37摄氏度,默认下限温度为15摄氏度。在运行状态任何时间按下SW2进入报警温度上下限,先设报警上限,按SW5加1,按SW6减1,按SW3确认,进入设置下限值,设置方法和设上限相同,按SW3确认退出。3任何时间通过按SW7切换到温度屏显示。4任何时候通过按SW4即时播报时间和温度。4、报警模块报警模块的工作原理是当温度传感器检测到的温度高于温度的上限或低于温度的下限设定值时单片机的中断口T0发出高电平信号促使PNP三极管导通带动继电器工作点亮发光二极管,蜂鸣器也发出响声,产生声光报警。电路图如图6所示。图65、液晶显示模块部分该模块是由JHD529M1液晶显示器件组成,其器件带中文字库是一种128X64显示模式,具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字,也可完成图形显示,低电压低功耗是其又一显著特点。其引脚功能为:由于本系统共用一个电源,所以第一,20脚为电源接地端;第二,19脚为电源正端;第三,脚为对比度选择;第4脚为显示数据或显示指令数据端;第5脚为DB7~B0的数据被写到IR或DR;第6脚为使能信号端;第7~14脚为DB7~B0的数据线端;第15脚为串/并口选择端;第17为复位端,低电平有效;第18脚为LCD驱动电压输出端。其模块连接图如下:液晶显示模块电路图6、电磁阀控制模块电磁阀控制模块电路图7、串行通讯与PC机控制模块MAX232是由maxium推出的一款兼容RS232标准的芯片。由于电脑串口rs232电平是-10v+10v,而一般的单片机应用系统的信号电压是ttl电平0+5v,max232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。主要特点:1、单5V电源工作2、LinBiCMOSTM工艺技术3、两个驱动器及两个接收器4、±30V输入电平5、低电源