还剩60页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
摘要船舶柴油机冷却水的温度是影响柴油机工作的重要热工参数精确控制冷却水的温度,对于提高柴油机的动力性、减少废气的产生、减少燃料消耗量等方面都有着重要的意义本设计的单片机系统采用了AT89C51作为微处理器,采用铂电阻pt100作为温度传感器,与运算放大器op27相结合构成精密测温电路,采用了ADC0809芯片作为精密测温电路与单片机的转换通道键盘矩阵采用2行3列非编码方式,显示部分为3位LED数码管显示,看门狗电路采用了较为常见的X25045芯片系统输出环节通过单片机输出口传递输出控制信号,经光电藕合4N25和模拟开关CD4052后去控制继电器的通断,进而控制三相伺服交流步进电机电机的旋转,当实际温度偏高时,单片机输出控制信号使正转继电器通电,伺服电机正转,改变三通调节阀的开度,增加流过淡水冷却器的淡水量,使淡水温度降低;当实际温度偏低时,单片机输出控制信号使反转继电器通电,伺服电机反转,改变三通调节阀的开度,增加旁通冷却水流量,使淡水温度升高,最终起到温度控制的作用本设计引入了功率模糊控制信号的智能温度控制系统,有效地克服了水温的时滞特性,大大地降低了冷却水温度的超调量,并提高了系统的响应速度;采用屏蔽与隔离技术,提高了控制系统在恶劣环境中的抗干扰能力;采用指令冗余及数字滤波技术,提高了系统的软件抗干扰能力关键词船舶柴油机;冷却水温度;单片机;数码管显示AbstractThetemperatureofcoolingwaterofmarinedieselengineisanimportantreference.Itisverysignificanttocontrolthetemperatureofcoolingwateraccurately.Forimprovingthepowerperformanceofdieselenginedecreasingtheexhaustingandsavingfiiel.ThedesignoftheSCMsystemusesAT89C51asthemicroprocessorusingplatinumresistancept100asatemperaturesensorandoperationalamplifiersop27combinedconstituteprecisetemperaturemeasurementcircuitusingADC0809chipasprecisiontemperaturemeasurementcircuitandmicrocontrollerconversionchannels.Keyboardmatrixusingtworowsthreenon-codingmodethedisplaypartofthethreeLEDdigitaltubedisplaythewatchdogcircuitusesmorecommonX25045chip.SystemoutputlinkpassingthroughthemicrocontrolleroutputportoutputcontrolsignaltheopticalcouplingandanalogswitchesCD40524N25goaftercontrolrelayoffandthencontrolthree-phaseACservomotorsteppermotorrotationwhentheactualtemperatureishighthemicrocontrolleroutputcontrolsignalforwardrelayisenergizedtheservomotoristransferredchangedwayregulatingvalveopeningincreasingfreshwaterflowingfreshwatercoolersothatfreshwatertemperaturedecreases;whentheactualtemperatureislowthemicrocontrolleroutputcontrolsignalreverserelayisenergizedreversingtheservomotorthree-wayvalvetochangetheopeningdegreeofthebypasscoolingwaterflowincreasesthefreshwatertemperaturethetemperaturecontrolendplayarole.Thisdesignintroducesafuzzycontrolsignalpowerintelligenttemperaturecontrolsystemeffectivelyovercomethedelaycharacteristicsofthewatertemperaturewhichgreatlyreducesthecoolingwatertemperatureovershootandimprovessystemresponsespeed;usingshieldingandisolationtechnologyimprovethecontrolsystemintheharshenvironmentoftheanti-jammingcapability;usinginstructionredundancyanddigitalfilteringtechnologytoimprovethesystemssoftwareanti-jammingcapability.KeyWords SMarineEngine;TemperatureofCenterCoolingWaterSystem;SCM;Digitaldisplay目录TOC\o1-3\h\z\u第1章绪论
11.1课题背景
11.2船舶柴油机冷却水温度控制技术发展历程
21.3主要研究内容
31.
3.1硬件电路设计
41.
3.2软件设计4第2章系统基本构成与性能指标
52.1系统构成框图
52.
1.1温度传感器电路
52.
1.2单片机控制电路
62.
1.3键盘与显示电路
62.
1.4看门狗电路
62.
1.5驱动电路
72.
1.6报警电路
72.2系统主要技术指标
72.3系统主要功能
72.
3.1报警功能
82.
3.2按键输入功能
82.4小结8第3章系统硬件电路设计
93.1单片机控制电路设计
93.
1.1AT89C51微处理器
93.
1.2看门狗电路设计
123.
1.3单片机最小系统的设计
143.2温度采集电路设计
153.
2.1温度传感器的选择
153.
2.2温度采集电路连接
163.
2.3A/D转换电路的设计
173.3键盘与显示电路设计
193.4报警电路设计
203.5抗干扰措施
233.6小结25第4章系统软件设计
264.1温度控制算法的确定
264.
1.1系统传递函数和温度控制算法:
264.
1.2算法介绍:
284.2单片机软件设计:
314.3小结32结论33参考文献34致谢35附录Ⅰ英文资料36附录Ⅱ部分程序代码48附录Ⅲ电路原理图56附录Ⅳ元器件清单57第1章绪论
1.1课题背景船舶柴油机冷却水温度控制技术是轮机自动化技术的重要组成部分轮机自动化,是指用各种自动化仪器仪表、控制元件、逻辑元件,以及计算机系统等组成的各种自动控制和监测系统它可以对船舶机舱内动力装置的运动参数进行自动控制,对机器设备的运行状态进行监测和报警,也可以对主要机器设备进自动操作等我们知道,船舶主柴油机动力装置运转时,有许多机械、设备等的运动部件将会产生热量,而燃烧的燃气和压缩的空气也会散发出大量的热量,为了保证受热部件的温度不致于过高而影响其正常工作,或者不致于因热负荷过大而使其损坏,必须及时而有效地将这些多余的热量散发出去因此,冷却水系统的功用,就是对需要及时散热的机械和设备提供足够的冷却水进行冷却,以保证其在一定合适的温度范围内安全、可靠地工作目前,船舶柴油机冷却水温度的自动控制系统大多采用的是电子式控制方.式,使用的是模拟式调节仪表,主要以电子器件的逻辑运算输出控制信号,来驱动继电器对电动机进行转向控制,从而达到对温度的控制从整体上看主要存在以下两个明显就缺点:
①采用的元器件比较落后,导致电路较为复杂,使用的逻辑元器件也较多,增加了备件管理和维护工作的难度;
②由于系统整体比较复杂,同时模拟仪表的实现功能的限制,因此这些温度控制器都采用了最简单的控制规律,不能提供很好的控制性能由于冷却水流经一定长度的管路,需要一定的时问,同时控制信号的执行部件,如电动机、三通阀门等都使得系统具有较大的时滞特性和非线性特性传综合以上的各种不利因素,我们认为,此类控制系统已经无法满足日益提高的控制性能需求,必须采用新的控制方式鉴于此,我们提出了基于单片机控制的船舶柴油机冷却水温度控制方法我们知道,单片微处理器具有高精确度、高灵敏度、高响应速度,以及耗能少、机构小、可以连续测量、自动控制、安全可靠等优点,非常适合嵌入式控制同时,其逻辑控制运算是由软件来进行的,可以容易的实现各种控制规则,甚至是比较复杂的控制算法的实现,而且不受外界的工作环境的影响,因此,基于单片机的温度控制器可以安全可靠地运行,来智能地控制冷却水的温度稳定在某一给定值,或者给定值附近,使得船舶柴油机冷却水温度测控满足现代远洋船舶的要求
1.2船舶柴油机冷却水温度控制技术发展历程船舶柴油机冷却水温度控制技术,在20世纪中得到了飞速发展其大致发展历程如下1.直接作用式控制方式在20世纪50年代末期,船舶柴油机冷却水温度控制是采用直接作用方式这是一种早期的反馈式控制方式其特点是,他们都不需要外加能源,而是根据在冷却水管路中的测量元件内充注的工作介质的压力随温度成比例变化而产生的力来汽接驱动二通调节阀,进而改变流经淡水冷却器的淡水流量和旁通淡水流量,从而进行温度调节的这种控制方式的缺点也是显而易见的,测量元件内充注的工作介质对密封性要求很高,如果造成测量元件内充注的工作介质泄漏,那么其本身的压力就不能随温度成比例进行变化,因而使得温度控制失去作用同时,其控制精度不高,冷却水温度变化较大,对船舶柴油机的稳定运行不利2.气动式控制方式在20世纪70年代末期,船舶柴油机冷却水温度控制是采用气动式作用方式其特点是,利用感温元件和温度变送器,把气缸冷却水温度的变化成比例地转变成气压信号的变化送至调节器,与调节器的给定信号相比较,其偏差信号经调节作用规律运算后,成为调节器输出的控制气压信号去调节温度它也存在着以下的一些问题,例如系统对气体的密封性和压力要求同样很高,对运输和储存气体的管系的密闭性要求也很高,如果控制气压信号有所损失,使得控制精度降低,效果减小因此,这种控制方式现在也很少采用了3.电动式控制方式:在20世纪80年代中期,船舶柴油机冷却水温度控制是采用气动式作用方式也是目前远洋船舶上主要采用的温度控制方式它的作用方法是,利用安装在船舶柴油机气缸冷却水进口或者出口管路中的感温元件,通常为电阻数值与温度变化在一定范围内成线性变化的热敏电阻,经分压器分压把冷却水温度成比例地转换为电压信号,这个测量信号与由电位器整定的给定值电压信号相比较得到偏差信号,再经过比例微分作用,输出一个控制信号并将此控制信号送至脉冲宽度调制器,将连续的控制信号变成断续的脉冲信号去调节冷却水温度尽管此类电动控制系统的控制精度和效果可以在一定程度上满足了船舶营运者的需求,但是这并不说明这种控制方一式是完美无缺的首先,这些控制系统的调节器采用了较为简单的控制规律,比如比例微分PD控制规律或者比例积分PI控制规律,若采用PD控制会出现静态误差,使系统长时间偏离最佳工作点运行,若采用PI控制,则对于冷却水温度这样具有较大惯性的被控对象会因为缺乏超前的控制作用而产生较大的超调量,使得系统动态特性较差,而且调节阀的开度改变以后,温度传感器不能马上反映出调节作用的结果,存在滞后,难以得到满意的控制效果其次这种控制系统的测量和控制部分,是利用一些电子器件进行逻辑运算输出的,它的缺点就是一旦逻辑输出部分机械部件出现故障,则整个测控系统的控制能力和精度就会出现故障,其工作效果大打折扣而冷却效果的下降,将会产生严重的后果,如船舶主柴油机气缸和活塞温度升高、润滑油随温度的升高而粘度降低造成机械运动的磨损,缩短了柴油机的使用寿命等
1.3主要研究内容“基于单片机的船舶柴油机冷却水温度控制系统”是以现代远洋船舶上广泛应用的船舶中央冷却系统为研究模型,以船舶柴油机冷却水的温度测量和控制为研究对象进行的首先,我们介绍一下现代远洋船舶绝大多数所采用的中央冷却系统的工作过程利用船舷外的海水泵输送海水进入中央冷却系统,来冷却低温淡水,被冷却后的低温淡水再去冷却船舶主柴油机气缸套和气缸盖的高温淡水因此,这种冷却系统中就有两个冷却水回路:一个是低温回路,就是由舷外海水来冷却低温淡水的回路,因为海水的流入和流出不是一个闭合的过程,因此又称为开式冷却;另一个是高温回路,就是由低温淡水来冷却高温淡水的回路,因为低温淡水和高温淡水的流动是一个循环利用的过程,因此又称为闭式冷却在这种冷却系统中,由于舷外海水不再接触各种热交换器和船舶主柴油机的冷却空间,因而避免了海水引起的腐蚀,提高了设备和系统的安全可靠性以及设备使用寿命我们设计的“基于单片机的船舶柴油机冷却水控制系统”应该重点解决以下内容其一,攻关任务:研究船舶柴油机冷却水温度控制系统,开发出具有智能控制装置,实现对温度进行测量和控制;其二,目标:提供具有温度测控功能的智能控制设备一套;其三,研究的技术关键
①多点测量:分别在船舶柴油机中央冷却系统的高温淡水的进口和出口、低温淡水的进口和出口处安装了温度传感器采用“进口处温度测控,出口处报警”的方式,这样,使整个系统各循环回路的温度均可自动调节,提高了整个系统的适应性和控制精确性:
②通讯方式:在系统设计中,我们分析了多种单片机与上层控制计算机的通讯方式,最终实现了RS-232串口通讯接口,有利于系统今后的扩展;
③控制算法:分析了几种在温度控制中常见的控制算法,根据各自的优缺点,以及针对冷却水的固有特性的分析,实现了带有smith补偿的PID控制;另外,搭建整个系统的计算机控制中心上位机,应用现有的船舶网络进行系统通讯和数据传输
1.
3.1硬件电路设计在硬件路设计中主要设计了单片机控制电路、温度检测电路、A/D转换电路、键盘与显示电路、驱动电路、声光报警电路、看门狗电路单片机部分采用ATMEL公司的AT89C51控制芯片,是一种高性能、低电压、低功耗的8位CM05微型处理器在控制软件的支持下,CPU对外围电路进行控制、计算,将温度检测电路输入的温度测量数值进行处理,并扫描、显示,同时将计算得到的控制结果输出给控制电路对执行机构进行操作,完成整套控制过程温度传感器采用的是铂电阻Pt100,带有不锈钢钢套,具有良好的精度指标和稳定性,由于温度系统对温度精度要求不高,在0~150℃的范围内可以按照具有线形关系处理,性能优良,成本低A/D转换电路中采用了比较常用的ADC0809芯片ADC0809是一种8位逐次逼近式A/D转换器,它由8通道模拟开关和A/D转换两部分组成,其转换时间大约为100μs,转换精度为
0.4℃由于冷却水是大惯性的传热介质,ADC0809的此项性能指标己经满足了温度控制的时间和精度,因此,我们选择ADC0809作为模拟/数字转换芯片,使系统成本较低由于CPU管脚的数量有限,因此对键盘和显示电路的设计,我们采用了8279可编程的键盘显示一专用扩展I/O接口芯片,它本身能够提供键盘、显示控制所需的扫描信号,因此可以代替单片机完成键盘、显示的控制声光报警电路部分采用了一片时基集成电路NE555,AT89C51的引脚输出端为高电平,扬声器SP,三极管当系统被测温度出现高于上限或者低于下限的情况时,AT89C51启动自身定时器,这样,NE555时基电路根据其复位端的信号变化,在它的输出端产生频率的输出,输出信号给继申器J动作信号,继电器常开开关闭合,推动扬声器SP工作,获得声音报警信号,报警灯同步闪亮AT89C51根据采样的温度数值对其进行相应规则的计算、处理、判断后,得出控制结果,输出相应的控制信号,经过光电隔离器后,去控制继电器动作,再经过继电器控制三相伺服交流步进电机,因而使冷却水温度得到控制
1.
3.2软件设计软件设计是实现船舶柴油机冷却水温度智能控制的关键所在,在系统的软件设计的过程中,采用了模块化的设计思想系统软件由主程序模块、A/D转换模块、中断程序模块、键盘与显示模块、串行通信模块和智能控制算法模块等第2章系统基本构成与性能指标
2.1系统构成框图该系统主要由单片机控制电路、温度检测电路、A/D转换电路、键盘与显示电路、声光报警电路、驱动电路等部分组成见图
2.
12.
1.1温度传感器电路在系统设计时,我们采用了具有良好性能的感温元件,铂热电阻Pt100,用来测量冷却水的温度同时,为了保证测量的准确性,我们采用了多点测量的方法,即在高温回路中高温冷却淡水的进口和出口、低温回路中低温冷却淡水的进口和出口都安装了温度传感器,分别测量这几点的温度,然后单片机控制多路开关,分别采集这几点的温度数值在某一时刻,单片机采集的是某个点的温度实际数值,然后与该点的设定数值相比较,再输出控制信号,因此,并不会增加单片机的运算负荷,使得单片机完全有能力承担控制中心的任务由于采用了这种多点测量的方法,克服了在以往温度控制中,只能单一的测量冷却水进口或者出口的实际温度,出现偏差的现象,这也证明了本课题设置的科学性和合理性
2.
1.2单片机控制电路本课题中AT89S5l是控制电路的核心,它的功能是配合相应的外围电路实现温度采集,同时处理采集的信号,实现智能控制算法,输出越限报警及阀门开度调节信号;另外,结合键盘显示专用芯片8279,实现信息的输入与显示功能单片机测控平台是整个温度控制系统的重要组成部分,是联系温度信号采集和计算机管理控制中心的枢纽一方面,它要获取温度传感器组的测量数据,并且与温度设定值进行比较,同时输出控制信号到执行机构;另一方面,它要将温度测量数据和设定数据上传到计算机管理控制中心连接打印机
2.
1.3键盘与显示电路由于CPU管脚的数量有限,因此对键盘和显示电路的设计,我们采用了8279可编程的键盘显示一专用扩展I/O接口芯片,它木身能够提供键盘、显示控制所需的扫描信号,因此可以代替单片机完成键盘、显示的控制其中,键盘矩阵采用2行3列非编码方式,采用软件查询方法来设计,低电平有效为了消除按键抖动对系统的干扰,在键盘软件设计中,我们采用了20ms的延时程序显示部分为3位LED数码管显示,显示的内容是温度数值的,十位、个位和小数点后一位,软件设计中采用动态扫描显示的方法,以减少硬件成本和增加系统可靠性键盘控制的方式是采用8279扫描键盘,判断是否有按键按下,进而判断按键的内容,送至AT89C51处理显示程序的执行过程是:首先AT89C51通过P口选通8279,低电平有效,然后把将要显示的数字,其相应的字型码送至DB口,接下来设置位选信号,利用SL
0、SL
1、SL2二分别设置0或者l,分别选择要显示的}二印数码管共阴极,8279将要显示的数字通过OPTB和OUTA口显示在LED数码管上同时,我们将要显示的数字的二进制代码转换成7段码形式,编写成数据表格的形式,存储在单片机内部存储空间里,这样,单片机将A/D转换的结果与表格的指针相结合,直接将A/D转换结果显示出来,可以减轻系统计算量,提高系统的数据处理和显示速度
2.
1.4看门狗电路系统设计了硬件看门狗电路,采用了较为常见的X25045芯片具有掉电数拒保护功能和系统故障复位功能,如果系统突然失去电力,测量数值可以保存在看门狗电路的EEPROM中,在系统重新工作时,可以重新从看门狗的存储单元里读取数据,保证了数据的安全,同时,如果系统出现死机或者程序跑飞而进入某个死循环,由该看狗电路向CPU控制器发出复位信号,使系统重新开始运行从而保证了系统安全、可靠地运行
2.
1.5驱动电路AT89C51根据采样的温度数值对其进行相应规则的计算、处理、判断后,得出控制结果,从AT89C51的P2口输出相应的控制信号,此控制信号为
0、1低、高电平连续脉冲信号,经过光电隔离器4N25和CD4052后,去控制继电器动作,再经过继电器控制三相伺服交流步进电机,步进电机是以脉冲方式进行工作的,线圈中每输入一个脉冲,转子就旋转一个步距角,因此,可以由电机的正转或者反转来调节三通调节阀的开度,因而使冷却水温度得到控制其中,口输出的高低电平的占空比,有PID控制算法来决定,从而实现了系统闭环自动温度控制
2.
1.6报警电路采用了一片时基集成电路NE555,AT89C51的引脚输出端为高电平,扬声器SP,三极管当系统被测温度出现高于上限或者低于下限的情况时,AT89C51启动自身定时器,这样,NE555时基电路根据其复位端的信号变化,在它的输出端产生频率的输出,输出信号给继申器J动作信号,继电器常开开关闭合,推动扬声器SP工作,获得声音报警信号,报警灯同步闪亮
2.2系统主要技术指标通过3位LED输出显示;主要采用单片机控制电路、显示板电路;具有冷却水温度显示,冷却水水温异常报警,自动调节水温,存储数据功能;监测水温的范围40~90℃;整体电路供电5V
2.3系统主要功能在制定系统总体方案时,根据要求对方案进行了总体优化,力求使系统功能实用、性能稳定、具有较高的性价比系统主要的功能就是对船舶柴油机冷却水温度采集后能实时显示,并可以根据预设的程序,单片机判断出是否需要驱动报警电路、是否需要驱动三通交流阀,调节冷却水温度
2.
3.1报警功能为了系统的安全运行,我们对冷却水温度进行上限或下限声光报警处理,我们采用了如下的判断报警方法:以冷却水温度设定值T设为参考数值,则温度变化的上限是T:=T设+5℃,下限是T=T设-5℃.当测量到的冷却水温度持续增加,高于上限时,即T,时,则上限报警状态值THA=l;当测量到的冷却水温度持续减少,低于下限时,即时,则下限报警状态值TLA=l这样,当出现上、下报警状态值THA,TLA为1的情况时,就会触发系统报警电路当温度测量数值偏离设定数值士5℃时,系统会自动报警,以提醒轮机管理人员注意,及时查明故障原因和解决问题
2.
3.2按键输入功能用户可以自行设定任何一个测量点的温度数值,数字小键盘输入、三位LED数码管显示,其显示数值范围是000一999,代表温度范围是0一
99.9℃在小键盘上有六个按键,分别是“设置状态”按键、“运行状态”按键、“数值增加”按健、“数值减少”按键、以及“高温”按键和“低温”按键当系统开机运行时,其温度设定值由软件编制时事先设置好,当需要改变数值时,用户首先按下键盘的“设置状态”按键,使显示部分切换到设定值的显示,然后由键盘的“高温”或者“低温”键切换到需要更改的温度显示,此时,三位LED数码数码管中的最低一立开始闪烁,再由“数值增加”或“数值减少”按键输入所需设置的数值,可以改变了设定数值当设定好新的数值后,用户再次按下“运行状态”按键,切换列系统运行状态,这时三位LED数码管所显示的就是测量温度数值
2.4小结本章首先介绍了船舶柴油机冷却水温度控制系统的组成,并对系统各组成部分功能作了简要说明,对系统主要技术指标及各部分组成芯片作了简要介绍系统结构设计方案主要侧重于使用维护方便,性能可靠稳定等特点第3章系统硬件电路设计本章将详细介绍船舶柴油机冷却水温度控制系统的各部分硬件电路工作原理并对主要芯片原理与应用作以介绍
3.1单片机控制电路设计该电路主要完成系统的各种控制功能,主要键盘输入、LED液晶显示、声光报警、看门狗电路四部分组成
3.
1.1AT89C51微处理器本系统因为应用于船舶系统中,周围信号干扰强,最好系统使用尽可能少的外围扩展芯片,提高系统运行的可靠性,所以就要求使用的单片机具有片内足够大的ROM和RAM目前AT89C51是应用最广范的单片机之一,它具有很高的性能价格比AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器有较强的功能的AT89C51单片机能够被应用到控制领域中它的主要特点有1)4K字节闪烁存储器,128字节随机存取数据存储器2)32个I/O口,2个16位定时/计数器3)1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路4)AT89C51还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式闲散方式停止中央处理器的工作,能够允许随机存取数据存储器、定时/计数器、串行通信口及中断系统继续工作掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位5)内部具有5个中断请求源,具有两个中断优先级,可实现两级中断服务程序嵌套每一个中断源可以用软件独立地控制为允许中断或关中断状态,每一个中断源的中断级别均可用软件来设置6)与MCS-51兼容7)寿命1000写/檫循环,数据保留时间10年8)可编程串行通道9)低功耗的闲置和掉电模式10)片内振荡器和时钟电路振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出该反向放大器可以配置为片内振荡器石晶振荡和陶瓷振荡均可采用如采用外部时钟源驱动器件,XTAL2应不接有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度芯片檫除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式在闲置模式下,CPU停止工作但RAM,定时器,计数器,串口和中断系统仍在工作在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止AT89C51引脚图如图
3.1所示
1.该芯片各引脚的功能1)P0口P0口是一组8位漏极开路双向I/O口,即地址/数据总线复用口作为输出口时,每一个管脚都能够驱动8个TTL电路当“1”被写入P0口时,每个管脚都能够作为高阻抗输入端P0口还能够在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻P0口在闪烁编程时,P0口接收指令,在程序校验时,输出指令,需要接电阻2)P1口P1口一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口因为内部有电阻,某个引脚被外部信号拉低时输出一个电流闪烁编程时和程序校验时,P1口接收低8位地址3)P2口P2口是一个内部带有上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL电路对端口写“1”,通过内部的电阻把端口拉到高电平,此时,可作为输入口因为内部有电阻,某个引脚被外部信号拉低时会输出一个电流在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据在访问8位地址的外部数据存储器时,P2口线上的内容在整个运行期间不变闪烁编程或校验时,P2口接收高位地址和其它控制信号4)P3口P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路对P3口写如“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流P3口除了作为一般的I/O口外,更重要的用途是它的第二功能P3口还接收一些用于闪烁存储器编程和程序校验的控制信号5)RST复位输入当震荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位6)ALE/PROG当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节即使不访问外部存储器,ALE以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的要注意的是每当访问外部数据存储器时将跳过一个ALE脉冲时,闪烁存储器编程时,这个引脚还用于输入编程脉冲如果必要,可对特殊寄存器区中的8EH单元的D0位置禁止ALE操作这个位置后只有一条MOVX和MOVC指令ALE才会被应用此外,这个引脚会微弱拉高,单片机执行外部程序时,应设置ALE无效7)PSEN程序储存允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器读取指令时,每个机器周期两次PSEN有效,即输出两个脉冲在此期间,当访问外部数据存储器时,这两次有效的PSEN信号不出现8)EA/VPP外部访问允许欲使中央处理器仅访问外部程序存储器,EA端必须保持低电平需要注意的是如果加密位LBI被编程,复位时内部会锁存EA端状态如EA端为高电平,CPU则执行内部程序存储器中的指令闪烁存储器编程时,该引脚加上+12V的编程允许电压VPP,当然这必须是该器件是使用12V编程电压VPP9)XTAL1震荡器反相放大器及内部时钟发生器的输入端10)XTAL2震荡器反相放大器的输出端存储器结构MCS-51产品有一个独立的程序存储器和数据存储器地址空间外部程序存储器和数据存储器可最大寻址64K程序存储器程序存储器是只读存储器(ROM),用于存放程序和表格之类的固定常数AT89C51单片机的片内程序存储器为4KB的Flash存储器,地址范围为0000H~0FFFHAT89C51有16条地址线,可以外扩的程序存储器空间最大为64KB,地址范围为0000H~FFFFH数据存储器AT89C51的片内数据存储器(RAM)共有128个单元,字节地址为00H~7FH地址为00H~1FH的32个单元是4组通用工作寄存器区,每个区包含8B的工作寄存器,编号为R7~R0用户可以通过指令改变PSW中德RS
1、RS0这两位来切换当前的工作寄存器区指令可对地址为20H~2FH的16个单元的128位进行位寻址,这16个单元也可以进行字节寻址地址为30H~7FH的单元为用户RAM区,只能进行字节寻址,用作存放数据及作为堆栈区特殊功能寄存器AT89C51中的CPU对片内各功能部件的控制是采用特殊功能寄存器集中控制方式特殊功能寄存器的字节地址映射在片内RAM中80H~FFH区域中,共有21个,离散的分布在该区域中其中有些特殊功能寄存器还可以进行位寻址凡是可以进行位寻址的特殊功能寄存器,其字节地址的末位只能是0H或8H定时器AT89C51有三个16位定时器T
0、Tl、T2TO、T1与AT89S52及AT89C52单片机工作方式相同,定时器T2有三种工作方式捕获方式,自动重装载方式向上或向下计数和波特率发生器方式操作方式由T2CON的控制位来选择
4.振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出该反向放大器可以配置为片内振荡器石晶振荡和陶瓷振荡均可采用如采用外部时钟源驱动器件,XTAL2应不接有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度
5.芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成在芯片擦操作中,代码阵列全被写“1”并保持ALE管脚处于低电平10ms来完成在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式在闲置模式下,CPU停止工作但RAM,定时器,计数器,串口和中断系统仍在工作在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止
3.
1.2看门狗电路设计看门狗又叫watchdogtimer是一个定时器电路一般有一个输入叫喂狗kickingthedogorservicethedog一个输出到MCU的RST端MCU正常工作的时候每隔一端时间输出一个信号到喂狗端给WDT清零如果超过规定的时间不喂狗一般在程序跑飞时WDT定时超过就会给出一个复位信号到MCU使MCU复位防止MCU死机看门狗的作用就是防止程序发生死循环,或者说程序跑飞X25045是美国Xicor公司的生产的标准化8脚集成电路,它将EEPROM、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片芯片X25045其引脚图如图3-2所示表格1芯片X25045引脚功能管脚符号功能1CS片选择输入2SO串行输出,数据由此引脚逐位输出3SI串行输入,数据或命令由此引脚逐位写入X250454SCK串行时钟输入,其上升沿将数据或命令写入,下降沿将数据输出5WP写保护输入当它低电平时,写操作被禁止6Vss地7Vcc电源电压8RESET复位输出硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来那么定时时间到后就会使单片机复位常用的WDT芯片如MAX8135045IMP813等.本课题中应用的正是X25045芯片,具体硬件连接电路图如图
3.3所示看门狗电路的作用就是防止程序发生死循环,或者说程序跑飞工作原理在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位所以在使用有看门狗的芯片时要注意清看门狗
3.
1.3单片机最小系统的设计单片机最小系统或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统对51系列单片机来说,最小系统一般应该包括单片机、晶振电路、复位电路图
3.4为单片机最小系统单片机的最小化系统是指单片机能正常工作所必须的外围元件,主要可以分成时钟电路和复位电路,我们采用的是AT89C51芯片,它内部自带4K的FLASH程序存储器,一般情况下,这4K的存储空间足够我们使用,所以我们将AT89C51芯片的第31脚固定接高电平(PCB画板时已经接死),所以我们只用芯片内部的4K程序存储器单片机的时钟电路有一个12M的晶振和两个30P的小电容组成,它们决定了单片机的工作时间精度为1微秒晶振电路典型的晶振取
11.0592MHz因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合/12MHz产生精确的uS级时歇方便定时操作特别注意对于31脚EA/Vpp,当接高电平时,单片机在复位后从内部ROM的0000H开始执行,当接低电平时复位后直接从外部ROM的0000H开始执行51单片机最小系统电路
1.51单片机最小系统晶振Y1也可以采用6MHz或者
11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快
2.51单片机最小系统起振电容C
7、C8一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好
3.2温度采集电路设计本系统的主要功能是对船舶柴油机冷却水温度信号进行采集由热电阻PT100与电桥共同构成温度测量电路输出电压信号然后经过放大电路以脉冲的方式输出供给A/D转换电路该电路主要芯片是OP27,通过芯片OP27对所采集到的心电信号进行放大最后通过A/D转换电路实现A/D转换,以脉冲方式输出供给单片机数据处理本节主要确定了电路参数并对温度采集电路进行了设计
3.
2.1温度传感器的选择船舶上测量较低温度的场合通常采用热电阻式温度传感器热电阻传感器是利用导体的电阻随温度的变化的特性,对温度和与温度有关的参数进行监测的装置其优点是1测量精度高,因为一些材料如PT铂等的电阻温度特性稳定,复现性好;2有较大的温度测量范围,尤其是在低温测量方面;3易于使用在自动测量和远距离测量中本课题采用热电阻PT100作为测量水温的传感器由于其具有以下特点1有高且稳定的温度系数和大的电阻率,提高了灵敏度和保证测量精度;2有良好的输出特性,即电阻随温度的变化接近于线性关系;3在使用范围内,其化学、物理性能保持稳定;4有良好的工艺性,便于生产,价格便宜在0~850℃范围内,PTl00电阻值随温度变化之间的关系可近似用下式表示Rt=RO1+At+Bt23.1式中R
0、Rt分别为0℃和t℃时的电阻值
3.
2.2温度采集电路连接为了避免或减小导线电阻对测温的影响,工业中热电阻多采用“三线制”接法,由热电阻PT100与电桥共同构成测量电路.其结构如图3-6所示图中热电阻Rt的三根导线粗细相同,长度相同,阻值都是r,即Ra=Rb=Rc=r.其中一根导线串联在电桥的电源上,对电桥的平衡无影响,另外两根分别串联在相邻的两臂上,使相邻两臂的阻值都增加相同的阻值r这样,导线对热电阻测温毫无影响电桥测得的电压偏差(3-1)测温电路选择0P27作为放大器oP27是一种低噪音、高精准、高速运算放大器适应的温度范围较广,本课题选用的放大器适宜的工作温度范围为-25℃~85℃,完全能够适应船舶环境,这无疑提高了温度测量的精度信号放大部分属于V-V放大,将电桥等效成差分放大电路,可得运算放大器的增益另外,可通过调节桥臂上的电位器RT3使电桥平衡对于本课题,设要求测量的温度范围为0一150℃,由3-1式得Rt=157.32Ω当电桥平衡时,由3.2式得,△u=27.937mV因此,当要求放大电路输出O-5V电压时,其放大倍数为A=178.
9743.
2.3A/D转换电路的设计模数转换电路的作用是将传感器电路输出的模拟量信号转换为适合单片机处理的数字信号,并输入给单片机本课题采用的是ADC0809A/D转换芯片A/D转换电路中采用了比较常用的ADC0809芯片ADC0809是一种8位逐次逼近式A/D转换器,它由8通道模拟开关和A/D转换两部分组成,其转换时间大约为100vsADC0809引脚图如图
3.6所示主要特性1)8路输入通道,8位A/D转换器,即分辨率为8位2)具有转换起停控制端3)转换时间为100μs时钟为640kHz时,130μs(时钟为500kHz时)4)单个+5V电源供电5)模拟输入电压范围0~+5V,不需零点和满刻度校准6)工作温度范围为-40~+85摄氏度7)低功耗,约15mW内部结构ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成外部特性(引脚功能)ADC0809芯片有28条引脚,采用双列直插式封装,如图所示下面说明各引脚功能IN0~IN78路模拟量输入端2-1~2-88位数字量输出端ADDA、ADDB、ADDC3位地址输入线,用于选通8路模拟输入中的一路ALE地址锁存允许信号,输入,高电平有效START A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)EOC A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)OE数据输出允许信号,输入,高电平有效当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量CLK时钟脉冲输入端要求时钟频率不高于640KHZREF(+)、REF(-)基准电压Vcc电源,单一+5VGND地具体硬件连接图如图
3.7所示从图3-8中可以看到,ADC0809的启动信号START由片选线P2.7与写信号/WR的“或非”产生,这要求一条向ADc0809的写指令来启动转换模拟通道的地址A、B、C由74Ls373的高三位来提供ALE与START相连,即按打入的通道地址启动转换输出允许信号E0由读信号/RD与片选线P2.7“或非”产生操作使数据输出
3.3键盘与显示电路设计由于CPU管脚的数量有限,因此对键盘和显示电路的设计,我们采用了8279可编程的键盘显示一专用扩展I/O接口芯片,它木身能够提供键盘、显示控制所需的扫描信号,因此可以代替单片机完成键盘、显示的控制其中,键盘矩阵采用2行3列非编码方式,采用软件查询方法来设计,低电平有效为了消除按键抖动对系统的干扰,在键盘软件设计中,我们采用了20ms的延时程序显示部分为3位LED数码管显示,显示的内容是温度数值的,十位、个位和小数点后一位,软件设计中采用动态扫描显示的方法,以减少硬件成本和增加系统可靠性键盘控制的方式是采用8279扫描键盘,判断是否有按键按下,进而判断按键的内容,送至AT89C51处理显示程序的执行过程是:首先AT89C51通过P口选通8279,低电平有效,然后把将要显示的数字,其相应的字型码送至DB口,接下来设置位选信号,利用SL
0、SL
1、SL2二分别设置0或者l,分别选择要显示的}二印数码管共阴极,8279将要显示的数字通过OPTB和OUTA口显示在LED数码管上同时,我们将要显示的数字的二进制代码转换成7段码形式,编写成数据表格的形式,存储在单片机内部存储空间里,这样,单片机将A/D转换的结果与表格的指针相结合,直接将A/D转换结果显示出来,可以减轻系统计算量,提高系统数据处理显示速度下面介绍键盘与显示电路在小键盘上有六个按键,分别是“设置状态”按键、“运行状态”按键、“数值增加”按健、“数值减少”按键、以及“高温”按键和“低温”按键当系统开机运行时,其温度设定值由软件编制时事先设置好,当需要改变数值时,用户首先按下键盘的“设置状态”按键,使显示部分切换到设定值的显示,然后由键盘的“高温”或者“低温”键切换到需要更改的温度显示,此时,三位LED数码数码管中的最低一立开始闪烁,再由“数值增加”或“数值减少”按键输入所需设置的数值,可以改变了设定数值当设定好新的数值后,用户再次按下“运行状态”按键,切换列系统运行状态,这时三位LED数码管所显示的就是测量温度数值
3.4报警电路设计NE555是属于555系列的计时IC的其中的一种型号,555系列IC的接脚功能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时IC,只需少数的电阻和电容,便可产生数位电路所需的各种不同频率之脉波讯号1主要特点NE555是一个能产生精确定时脉冲的高稳度控制器,其输出驱动电流可达200MV在多谐振荡器工作方式时,其输出的脉冲占空比由两个外接电阻和一个外接电容确定;在单稳态工作方式时,其延时时间由一个外接电阻和一个外接电容确定,可延时数微秒到数小时只需简单的电阻器、电容器,即可完成特定的振荡延时作用操作电源范围极大,可与TTL,CMOS等逻辑电路配合,也就是它的输出电平及输入触发电平,均能与这些系列逻辑电路的高、低电平匹配其输出端的供给电流大,可直接推动多种自动控制的负载计时精确度高、温度稳定度佳,且价格便宜工作电压范围
4.5V16V2引脚位配置,如图
3.9所示555引脚图555的8脚是集成电路工作电压输入端,电压为5—18V,以VCC表示;从分压器上看出,上比较器6脚A1的5脚接在R1和R2之间,所以5脚的电压固定在2VCC/3上;下比较器A2接在R2与R3之间,A2的同相输入端电位被固定在VCC/3上表
3.2555引脚功能管脚号管教名称管脚功能描述1Pin1接地,地线或共同接地,通常被连接到电路共同接地2Pin2触发点,这个脚位是触发NE555使其启动它的时间周期触发信号上缘电压须大于2/3VCC,下缘须低于1/3VCC3Pin3输出,当时间周期开始555的输出输出脚位,移至比电源电压少
1.7伏的高电位周期的结束输出回到O伏左右的低电位于高电位时的最大输出电流大约200mA4Pin4重置,一个低逻辑电位送至这个脚位时会重置定时器和使输出回到一个低电位它通常被接到正电源或忽略不用5Pin5控制,这个接脚准许由外部电压改变触发和闸限电压当计时器经营在稳定或振荡的运作方式下这输入能用来改变或调整输出频率6Pin6重置锁定,Pin6重置锁定并使输出呈低态当这个接脚的电压从1/3VCC电压以下移至2/3VCC以上时启动这个动作7Pin7放电,这个接脚和主要的输出接脚有相同的电流输出能力,当输出为ON时为LOW,对地为低阻抗,当输出为OFF时为HIGH,对地为高阻抗8Pin8V+,这是555个计时器IC的正电源电压端供应电压的范围是+
4.5伏特最小值至+16伏特最大值3参数功能特性供应电压
4.5-18V供应电流3-6mA输出电流225mAmax上升/下降时间100ns4工作原理555定时器由3个阻值为5kΩ的电阻组成的分压器、两个电压比较器C1和C
2、基本RS触发器、放电三极管TD和缓冲反相器G4组成虚线边沿标注的数字为管脚号其中,1脚为接地端;2脚为低电平触发端,由此输入低电平触发脉冲;6脚为高电平触发端,由此输入高电平触发脉冲;4脚为复位端,输入负脉冲(或使其电压低于
0.7V)可使555定时器直接复位;5脚为电压控制端,在此端外加电压可以改变比较器的参考电压,不用时,经
0.01uF的电容接地,以防止引入干扰;7脚为放电端,555定时器输出低电平时,放电晶体管TD导通,外接电容元件通过TD放电;3脚为输出端,输出高电压约低于电源电压1V—3V,输出电流可达200mA,因此可直接驱动继电器、发光二极管、指示灯等;8脚为电源端,可在5V—18V范围内使用555定时器工作时过程分析如下5脚经
0.01uF电容接地,比较器C1和C2的比较电压为UR1=2/3VCC、UR2=1/3VCC当VI1>2/3VCC,VI2>1/3VCC时,比较器C1输出低电平,比较器C2输出高电平,基本RS触发器置0,G3输出高电平,放电三极管TD导通,定时器输出低电平当VI1<2/3VCC,VI2>1/3VCC时,比较器C1输出高电平,比较器C2输出高电平,基本RS触发器保持原状态不变,555定时器输出状态保持不来当VI1>2/3VCC,VI2<1/3VCC时,比较器C1输出低电平,比较器C2输出低电平,基本RS触发器两端都被置1,G3输出低电平,放电三极管TD截止,定时器输出高电平当VI1<2/3VCC,VI2<1/3VCC时,比较器C1输出高电平,比较器C2输出低电平,基本RS触发器置1,G3输出低电平,放电三极管TD截止,定时器输出高电平555集成电路开始是作定时器应用的,所以叫做555定时器或555时基电路但后来经过开发,它除了作定时延时控制外,还可用于调光、调温、调压、调速等多种控制及计量检测此外,还可以组成脉冲振荡、单稳、双稳和脉冲调制电路,用于交流信号源、电源变换、频率变换、脉冲调制等由于它工作可靠、使用方便、价格低廉,目前被广泛用于各种电子产品中,555集成电路内部有几十个元器件,有分压器、比较器、基本R-S触发器、放电管以及缓冲器等,电路比较复杂,是模拟电路和数字电路的混合体555集成电路有双极型和CMOS型两种CMOS型的优点是功耗低、电源电压低、输入阻抗高,但输出功率较小,输出驱动电流只有几毫安双极型的优点是输出功率大,驱动电流达200毫安,其他指标则不如CMOS型的为了系统的安全运行,我们对冷却水温度进行上限或下限声光报警处理,我们采用了如下的判断报警方法:以冷却水温度设定值T设为参考数值,则温度变化的上限是T:=T设+5℃,下限是T=T设-5℃.当测量到的冷却水温度持续增加,高于上限时,即T,时,则上限报警状态值THA=l;当测量到的冷却水温度持续减少,低于下限时,即时,则下限报警状态值TLA=l这样,当出现上、下报警状态值THA,TLA为1的情况时,就会触发系统报警电路上图中左侧是实现超限声光报警的电路我们采用了一片时基集成电路NE555,将其接成振荡工作状态,同时,将NE555的复位端“4”与AT89C51的引脚反相连接当系统被测参数在正常范围内时,AT89C51的引脚输出端为高电平,经过反相后为低电平,这样,NE555的复位端“4”处于低电平零电位,NE555电路处于稳态,被迫停止振荡,则输出端“3”恒为低电平,扬声器SP无声,9014三极管NPN极性截止,报警灯不亮,使报警电路不工作;当系统被测温度出现高于上限或者低于下限的情况时,即上、下报警状态值THA,TLA为l,AT89C51启动自身定时器,使其引脚输出端输出连续脉冲波形或连续方波,这样,NE555时基电路根据其复位端“4”的信号变化,在它的输出端“3”产生频率的输出,输出信号给继申器J动作信号,继电器常开开关闭合,推动扬声器SP工作,获得声音报警信号,报警灯同步闪亮报警电路电路连接如图
3.
103.5抗干扰措施在单片机测控系统的设计中,其硬件可靠性设计应该考虑以下几个方面:
1.元器件的选择:系统的可靠性是建立在系统中各个组成元器件的可靠性基础上的,所以,在选择元器件时,应该参照以下几个原则进行l充分分析系统的功能需求,根据系统所要达到的性能要求来合理选择半导体器件2由于船舶机舱内的高温、海水腐蚀和振动等不利条件,应该选择温漂小、独立封装、稳定性好的元器件3减少焊点数量可降低接触不良、短路等故障,因此,应该尽量选用集成度高的电路,减少使用分立元器件
2.提供稳定、可靠的外部工作环境单片机对工作环境的要求比较高,而船舶上的运行环境却不甚理想,所以应该设法为单片机提供一个良好的工作环境,通常可以采取以卜一些措施:l良好的工作电源:交流电网是电子设备的强干扰源,因此在可靠性设计一中也是必须慎重考虑的重要影响因素在选用电源时,应考虑其容量、电压的输入范围及其纹波噪声Ripple:就是电源在将交流电转换为直流电时,输出的直流电并不是一条纯净的直线,而是依附着一些周期性和随机性的交流信号,它的数量级一般很小,可以使用交流电源滤波器及交流稳压器对电源变压器进行屏蔽和隔离,绝对不能使电源工作在满负荷状况下,一般情况下,应选择电源输出功率大于实际功率的50%一100%的电源;同时,在电路板的电源与地之间要并联去藕电容,应该注意的是,对系统中的数字信号和模拟信号的电路要分别供电,这是由于数字电路的门槛电压较高,电源的波动对它影响不大,但是模拟信号却有很大的影响,因此,若是要求高精度的控制作用,必须对模拟信号采用稳压电源模块供电2隔离安放单片机:由于艇舶_L环境多变,机舱中的空气温度较高、湿度及震动都较大,同时海水的飞溅、机舱中的油滴等,都会使单片机的控制失效,腐蚀、锈蚀印刷电路板和IC集成电路插座等因此,应尽量将控制部分单独安放在隔离区内,可以用油封或嵌入式及采取适当的减震措施等方法处理,并且尽量减少接插件和IC插座的使用,而采用直接焊接的连接方式,最大限度地为单片机提供一个相对“干净”的空间3系统信号的滤除:系统中的控制信号非常重要,它关系到整个控制系统的性能和控制精度本系统可能的外部噪声是连接在交流电源上的电动机以及继电器、电磁阀门等,这些噪声源通过电容、电磁藕合会对传感器形成干扰因此对于这些干扰信号要及时去除在系统的输入输出通道中主要有模拟量、数字量和开关量对于数字量和开关量的滤除,可以用光电隔离的方法,使系统输入输出通道与传感器和执行部件在电气连接上相互隔离,从而可以阻断外部干扰信号通过数据总线进入控制系统对于模拟信号,为了避免电磁干扰和内部线缆间模拟信号的串扰,可以将信号进行A/D转换模拟/数字转换,将模拟信号转成数字信号,然后就可以用光电藕合的力一法进行传输,如果要求高精度控制,也可以采用隔离变压器实现信号的隔离和传输
(4)多路模拟开关的抗干扰:在本测控系统中,温度测量的回路是多路的对于多路的参量进行A/D转化时,采用了共用的A/D转换电路因此,选用多路模拟开关轮流切换各被测回路与A/D转换电路之间的通路,以达到多点测控的目的多个输入信号经多路转换器接至A/D转换器的方法可以用抗干扰较强的差动接法多路转换器的输入常常受到各种环境噪声的污染,尤其易受到共模噪声的干扰在多路转换器的输入端接入共模扼流圈,抑制外部传感器引入的高频共模噪声转换器高频采样时产生的高频噪声,影响测量精度和程序正常运行,同时单片机运行速度很高,它对多路转换器也会产生干扰,因此,在单片机与A/D之间可以采用光电藕合器件隔离在多通道乙间切换时,会发生瞬变现象,使输出端产生短暂的尖峰电压为了消除这种现象引入的误差,在多路转换器输出端与放大器之间接一个采样保持器电路,或用软件延时的办法进行延时采样
3.6小结本章设计了系统的各部分硬件电路,并对主要芯片引脚及功能作了必要的介绍采用PT100温度传感器测量温度信号,利用AT89C51微处理器作为系统的数据处理与控制核心设计中液晶显示电路采用的并行显示方式,硬件连接电路比较简单第4章系统软件设计
4.1温度控制算法的确定在现实世界中,很多系统,如本课题的冷却水温度控制系统,具有高度非线性、时变、干扰、强藕合、时滞等特征PID控制是迄今为止应用最广泛的一种控制算法,在工业过程控制中占90%以上,因为这种控制方法原理简单、通用性强、控制效果也很理想,但是在时滞系统中的控制效果不理想
4.
1.1系统传递函数和温度控制算法:根据硬件设计的原理图可以画出系统控制框图,如图
4.1所示图中,TS是系统给定温度值是以BCD码,由键盘或者上位机输入程序(S)的作用就是将TS的BCD码转换成单片机可以识别的二进制码,由软件来承担DZ是本系统的温度控制算法,将由下文给出由于本系统的执行机构需要的是扮制量的增量,即驱动的是步进电动机,因此,控制算法D(Z)的输入是给定温度数值r与系统测量数值yt之间的差值,经过单片机的软件计算,输出的是控制增量△uk被控对象的输出是ct,输入是步进电机的输出ut同时,由温度传感器及信号处理模块等组成了反馈回路我们通过对冷却水温度调节过程进行了详细的分析,很容易发现,船舶柴油机冷却水的温度控制系统还具有明显的纯滞后特性这是由于温度传感器安装在柴油机冷却水的进口和出口处,而控制作用却是在相对较远的三通调节阀上实现的因此,当执行机构施加了控制作用以后,冷却水的温度并不是马上发生变化,无法反映控制作用,而是要等到冷却水流过了淡水冷却器,两路水流混合后,再到达温度传感器处,被测温度的变化才能反映出控制效果因此,我们确定冷却水温度控制系统的传递函数时,必须要考虑到此纯滞后特性一般来说,冷却水温度变化滞后于控制作用的时间为t,则t应该由以下的表达式给出,即t=L/V其中,L是冷却水流经管路的长度,单位是米m,v是冷却水流动速度,单位是米/秒m/S滞后时间t的单位秒s在不同船舶的中央冷却系统中,系统的管路长度和水流速度都是不同的,要根据具体的情况进行具体分析和计算目前,应用在远洋船舶上的大多数模拟式冷却水温度调节器都是采用的相对简单的控制规律比如,MR-Ⅱ型调节器采用了即调节规律比例微分调节规律,由于此类调节器的调节作用中没有积分调节作用,而积分环节的作用是消除静态误差,提高系统的无差度因此,在系统中必然会产生静态误差,因而就会出现长时间使被控对象脱离最佳工作点的情况,使得执行机构反复进行执行动作,加速了执行机构的磨损等;而另一种常见的冷却水温度调节器TELEPERM型,采用的是内调节规律比例积分调节规律,没有微分作用,而微分环节的作用是能够反映偏差信号的变化趋势或者变化速率,并且能够在偏差信号数值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少了系统的调节时间因此,此类调节器没有了微分作用,而且冷却水温度又是属于惯性环节较大的控制对象,使系统超调会比较大,调节时间长,汲易变成积分饱和,使系统的动态特性变差,甚至出现长时间振荡鉴于现有的此类控制器的种种控制规律存在的问题,我们在本温度控制系统中采用了PID控制规律比例积分微分作用,使得系统没有静态误差,动态特性也得到良好改善同时由于上文中分析的冷却水温度的这种纯滞后特性的影响,我们对控制对象的描述是用一阶惯性加纯滞后环节因此,温度控制系统的传递函数可以表达为其中,K为控制对象的静态增益:为惯性环节时间常数;c=t,为纯滞后时间我们知道,对于带纯滞后时间对象的反馈系统当频率高时是不稳定系统,纯滞后降低了系统的稳定性当纯滞后时间比较小时,可以直接采用PID控制;但是,当≥T
0.5时,再采用常规的PID控制,就无法取得良好的控制效果了,特别是当纯滞后时间较大时会产生系统的持续振荡在本系统中,纯滞后时间与惯性环节时间常数的比值,远远大于所要求的
0.5,这就要求我们必须选择另外一种控制算法因此,我们选择了基于smith预估器补偿的PID控制算法
4.
1.2算法介绍:本系统采用基于smith预估器补偿的PID控制算法下面我们分别介绍一下这两种控制算法的主要特点lPID控制算法:PID控制算法我们已经非常熟悉,PID控制算法即比例、积分、微分控制,是目前应用最为广泛的一种控制规律P1D控制的基本算法是这样的:PID控制器是一种线性控制器,它是根据给定值rt与实际输出值Ct构成了控制偏差,如下式:4-1然后将偏差的比例、积分和微分通过线性组合构成控制量,对波控对象进行控制的,其控制规律如下:4-2将上式4-2改写成传递函数形式如下:4-3式中:—比例系数;—积分时间常数;—微分时间常数总体来说,PID控制器的各个校正环节的作用如下:
①比例环节:比例环节可以及时成比例地反映控制系统的偏差信号et偏差数值一旦产生,控制器就会立即产生控制作用,用以减少和纠正偏差,及时性和快速性
②积分环节:积分环节的作用主要是用来消除控制系统静态误差,提高系统的整体无差度积分作用的强弱主要取决于系统的积分时间常数,当的数值越大,则系统的积分作用越弱;当的数值越小,则系统的积分作用越强
③微分环节:微分环节能够及时反映系统偏差信号的变化趋势或者数值变化速率,并且能够在偏差信号变得过大之前,在控制系统中引入一个有效得早期修正信号,从而可以加快系统的动作速度,减小调节过程的时间,因而减小了系统的超调量,增加系统的稳定性在计算机控制系统中,使用的是数字PID控制器即,计算机控制是一种采样控制方法,它只能根据采样时刻的偏差数值来计算控制量,因此,在式子
4.3中的积分项和微分项下能直接进行计算,必须进行数字离散化处理之后,才能被计算机应用因此,我们把式子
4.2进行一系列转化:以一系列的采样时刻点kT代表连续时间t,以求和的方式代替积分运算,以求增量商值的方法来代替微分运算,进行如下近似变换:4-4式中:T—叫作系统采样周期显然,在上述的离散化处理过程中,只有采样周期足够短才能保证近似转化有足够的计算精确度将式子4-4代入到式子4-2中,就可以推导出数字PID的控制算法表达式为:(4-5)式中k—采样时刻序号,k=0,l,2,…:uk—第k次采样时刻的计算机输出数值;ek—第k次采样时刻的输入偏差数值;ek一1—第k-l次采样时刻的输入偏差数值;同时,又由于上文介绍的,本系统的执行机构需要的是控制量的增量,即驱动的是步进电动机,因此,所使用的控制算法是增量式PID控制算法由式子4-5提供的增量PID控制算式,根据递推原理可以得到以下两个相近的算式(4-6)两式相减可得以下关系式(4-7)式中(4-8)式子(4-8)称为增量式PID控制算法我们可以将式子4-8进一步改写为以下关系式:(4-9)式中可以看出,A、B、C都是与采样周期T、比例系数、积分时间常数微分时间常数等有关的系数由于在计算机控制系统中是采用的恒定的采样周期T,这样,当我们进行计算时,只要确定了比例系数,积分时间常数、微分时间常数T,这三个数值,只要使用前后三次测量数值的偏差,就可以使用计算机执行软件计算出控制增量来,准确性高至于、、这三个数值的确定,将在后文中介绍2纯滞后补偿算法一一smith预估器:由上文介绍,本系统的简化传递函数为:但是由于被控对象具有明显的纯滞后特性,会导致系统的控制作用不及时,引起系统产生超调或者振荡的现象,所以我们采用了smith纯滞后补偿算法,利用计算机的计算性能好的特点来实现被控对象滞后补偿smith预估器是得到广泛应用的时滞系统的控制方法该方法的基本思路是:预先估计出系统在基本扰动下的动态特性,然后由预估器对时滞进行补偿,力图使破延迟了的被调量超前反映到调节器,使调节器提前动作,从而抵消掉时滞特性所造成的影响,减小系统超调量,提高系统的稳定性,加速调节过程,从而提高了系统的快速性smith补偿的原理是:与PID控制器并联一个补偿环节,用于补偿纯滞后的产生,这个补偿环节就是Smith:预估器,其传递函数如下所示:带有纯滞后补偿的系统框图如下图
4.2图
4.2smith纯滞后补偿控制系统如图
4.2所示,增加的补偿环节与被控对象组成了一个广义对象,其传递函数是:用srnith预估器进行纯滞后补偿之后,被控对象的纯滞后坏节被移到反馈回路之外,而系统的传递函数是简单的一阶惯性环节,在进行肛三调节时,不再存在因滞后带来的一系列问题,能够得到良好的调节效果,因而系统是稳定的同时,纯滞后环节中,存在函数在以往冷却水温度调节器是模拟仪表时,是很难实现的环节,但是现在用单片机控制时,可以很容易用执行软件计算的形式来实现
4.2单片机软件设计:系统的单片机应用软件包括主程序、采样A/D转换子程序、带Smith顶估器的PID算法子程序、报警处理于程序、键盘和显示子程序、RS-232串行口通信子程序等主要模块它们的模块结构图如图
4.3所示l主程序:主程序流程图如图
4.4所示初始化程序包括元器件、PID参数等初始化过程2T.0中断服务子程序:T0,中断服务子程序是本温度控制系统的主体程序,用于启动A/D转化、读入采样数据、进行数字滤波、越限温度报警和处理、带smith补偿的PID计算和控制信号输出等3带有smith补偿的PID控制算法子程序:带有smith补偿的PID控制算法子程序是用于控制系统输出控制信号的重要运算程序
4.3小结本章讲述了控制系统的主程序、T0和T1中断程序以及滤波程序的设计流程,给出了各个程序模块的流程图,并讲述了系统采用的“看门狗”、指令冗余等软件抗干扰措旃良好的抗干扰措施能够使控制系统稳定有效地工作最后,简单地介绍了系统的模拟调试的方法及调试重点结论由于船舶工作的特殊环境及其自身的原因,现代船舶的控制系统问题日趋复杂船舶柴油机冷却水温度这一控制对象具有时滞特性和时变特性,对象参数随时间和工作点的变化而变化,大时滞现象更是船舶柴油机冷却水温度控制系统的难题因此,船舶柴油机冷却水温度这一大时滞系统的控制,一直受到许多学者的关注,成为重要的研究课题之一首先,本文针对以往船舶柴油机中央冷却水温度控制系的缺点,主要从智能控制方法、抗干扰设计以及节能设计三个方面进行了设计本文针对船舶柴油机冷却水温度系统的时滞问题提出了一种智能控制方法,即在原PID控制系统的基础上,引入柴油机功率模糊控制信号,使得系统能够在柴油机功率变化的瞬间,立即输出控制信号,预先调节三通阀们的开度,有效地降低由于水温的时滞特性引起的水温超调量从控制系统的仿真结果来看,引入了功率模糊控制信号的智能温度控制系统,有效地克服了水温的时滞特性,大大地降低了冷却水温度的超调量,并提高了系统的响应速度;采用屏蔽与隔离技术,提高了控制系统在恶劣环境中的抗干扰能力;采用指令冗余及数字滤波技术,提高了系统的软件抗干扰能力;本文设计了根据船舶航行柴油机工况及海水水域温度不同,选择工作的海水泵的数量控制电路,为控制系统的节能设计奠定了基础;同时完成了控制系统的硬件设计和软件设计其次,由于时间仓促,文中还有不完善的地方,主要是1冷却水温度的变化是由于柴油机功率的变化以及柴油机的燃烧相关参数如扫气量的变化等多种因素引起的多种因素仍需要我们去探究,并可能作为调节冷却水温度的输入量,以便于更加精确地调节冷却水的温度;2本课题编制的模糊控制规则还缺乏定性的理论指导,主要靠总结实践的经验来获取;3应结合更多的实际经验和实验整定PID控制器的参数;4海水泵控制电路还不够完善采用变频调速系统控制一台海水泵也是一种值得探索的节能方法参考文献
1.胡汉才.单片机原理及其接口技术[M].清华大学出版社;
2010.
2.陶水华.新型PID控制及其应用[M].电子工业出版社;
2011.
3.贾宝柱.韩学胜.论及自动化基础[M].大连海事大学出版社;
2011.
4.吴桂涛.任旭东.孙培廷.船舶主机缸套冷却水系统的建模及仿真[J].
2003.
5.张冠男.基于单片机的柴油机冷却水温度控制系统的设计[J].
2010.
6.马昭胜.单片机控制的主机缸套冷却水自动控制系统的设计[J].
2008.
7.徐红明.陈逸宁.船舶柴油机缸套冷却水系统动态特性建模与仿真[J].
2010.
8.马量.船舶主机缸套冷却水温度前馈-反馈控制的研究[J].船舶工;
2009.
9.葛誉.单片机在电阻炉温度控制系统中的应用[J].中国新技术新产品;
2009.
10.郑磊.基于DSP的PID温度控制系统[J].舰船电子工程;
2007.
11.涂时亮.单片微机控制技术[M].复旦大学出版社;
2008.
12.顾宣炎.船舶冷却水系统的优化设计与分析[J].武汉理工大学学报;
2002.
13.何希才.传感器及其应用电路[M].电子工业出版社;
2001.
14.王幸之.单片机应用系统抗干扰技术[M].北京航空航天大学出版社;
2000.
15.李林功,吴飞青,王兵,丁晓.单片机原理及应用[M].机械工业出版社,
2007.8,
16.刘文,杨欣,张铠麟.基于AT89C2051单片机的指脉检测系统的研究[J].医疗装备,2005,第9期,2—14.17陈新.临床心电生理学和心脏起搏[M].人民卫生出版社,
1997.
18.吴少军.实用低功耗设计原理、器件与应用[M].人民邮电出版社,
2003.
19.杨碧石,陈兵飞ICL7660/7662变极性DC-DC变换器的原理与应用[J].国外电子元器件InternationalElectronicElements编辑部邮箱.2003年02期.
20.蔡明文.单片机课程设计[M].电子工业出版社.
2007.
21.蔡振江.单片机原理及应用[M].电子工业出版社.
2011.22.谭浩强.C程序设计[M].清华大学出版社
1991.
23.BryanDile.Designinggreaterefficiencyandsafetyintoalabusingrisk-basedmethods.[J].JournalofChemicalHealthSafety
201219424.MikeldePradaGil.PowergenerationefficiencyanalysisofoffshorewindfarmsconnectedtoaSLPCsinglelargepowerconverteroperatedwithvariablefrequenciesconsideringwakeeffects.[J].Energy2011371致谢本人在做设计期间,得到了王宇老师的精心指导,多次寻找相关资料,为我指点迷津,帮助我开拓思路王老师以其严谨求实的治学态度,高度的敬业的精神,兢兢业业、孜孜以求的工作作风和大胆创新的进取精神对我产生重要影响他渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪同时王老师致力要求我自己独立完成设计,培养我以后做事的独立性持续几个月的忙碌,本次毕业设计已经接近尾声,虽然不是特别完美,但它凝聚了多方的心血,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,同学们的支持合作,想要完成这个设计是难以想象的和他们的接触及沟通不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处世的道理在此深深得感谢王老师,和一直在过程中指导,关心和帮助的同学和朋友,感谢你们使得我不断的在学习中进步,成长附录Ⅰ英文资料TheGeneralSituationofAT89C51Chapter1TheapplicationofAT89C51Microcontrollersareusedinamultitudeofcommercialapplicationssuchasmodemsmotor-controlsystemsairconditionercontrolsystemsautomotiveengineandamongothers.Thehighprocessingspeedandenhancedperipheralsetofthesemicrocontrollersmakethemsuitableforsuchhigh-speedevent-basedapplications.Howeverthesecriticalapplicationdomainsalsorequirethatthesemicrocontrollersarehighlyreliable.Thehighreliabilityandlowmarketriskscanbeensuredbyarobusttestingprocessandapropertoolsenvironmentforthevalidationofthesemicrocontrollersbothatthecomponentandatthesystemlevel.IntelPlaformEngineeringdepartmentdevelopedanobject-orientedmulti-threadedtestenvironmentforthevalidationofitsAT89C51automotivemicrocontrollers.ThegoalsofthisenvironmentwasnotonlytoprovidearobusttestingenvironmentfortheAT89C51automotivemicrocontrollersbuttodevelopanenvironmentwhichcanbeeasilyextendedandreusedforthevalidationofseveralotherfuturemicrocontrollers.TheenvironmentwasdevelopedinconjunctionwithMicrosoftFoundationClassesAT89C
51.Thepaperdescribesthedesignandmechanismofthistestenvironmentitsinteractionswithvarioushardware/softwareenvironmentalcomponentsandhowtouseAT89C
51.
1.1IntroductionThe8-bitAT89C51CHMOSmicrocontrollersaredesignedtohandlehigh-speedcalculationsandfastinput/outputoperations.MCS51microcontrollersaretypicallyusedforhigh-speedeventcontrolsystems.Commercialapplicationsincludemodemsmotor-controlsystemsprintersphotocopiersairconditionercontrolsystemsdiskdrivesandmedicalinstruments.TheautomotiveindustryuseMCS51microcontrollersinengine-controlsystemsairbagssuspensionsystemsandantilockbrakingsystemsABS.TheAT89C51isespeciallywellsuitedtoapplicationsthatbenefitfromitsprocessingspeedandenhancedon-chipperipheralfunctionssetsuchasautomotivepower-traincontrolvehicledynamicsuspensionantilockbrakingandstabilitycontrolapplications.Becauseofthesecriticalapplicationsthemarketrequiresareliablecost-effectivecontrollerwithalowinterruptlatencyresponseabilitytoservicethehighnumberoftimeandeventdrivenintegratedperipheralsneededinrealtimeapplicationsandaCPUwithaboveaverageprocessingpowerinasinglepackage.Thefinancialandlegalriskofhavingdevicesthatoperateunpredictablyisveryhigh.Onceinthemarketparticularlyinmissioncriticalapplicationssuchasanautopilotoranti-lockbrakingsystemmistakesarefinanciallyprohibitive.Redesigncostscanrunashighasa$500Kmuchmoreifthefixmeans2backannotatingitacrossaproductfamilythatsharethesamecoreand/orperipheraldesignflaw.Inadditionfieldreplacementsofcomponentsisextremelyexpensiveasthedevicesaretypicallysealedinmoduleswithatotalvalueseveraltimesthatofthecomponent.Tomitigatetheseproblemsitisessentialthatcomprehensivetestingofthecontrollersbecarriedoutatboththecomponentlevelandsystemlevelunderworstcaseenvironmentalandvoltageconditions.Thiscompleteandthoroughvalidationnecessitatesnotonlyawell-definedprocessbutalsoaproperenvironmentandtoolstofacilitateandexecutethemissionsuccessfully.IntelChandlerPlatformEngineeringgroupprovidespostsiliconsystemvalidationSVofvariousmicro-controllersandprocessors.Thesystemvalidationprocesscanbebrokenintothreemajorparts.Thetypeofthedeviceanditsapplicationrequirementsdeterminewhichtypesoftestingareperformedonthedevice.
1.2TheAT89C51providesthefollowingstandardfeatures:4KbytesofFlash128bytesofRAM32I/Olinestwo16-bittimer/countersafivevectortwo-levelinterruptarchitectureafulldupleser-ialporton-chiposcillatorandclockcircuitry.InadditiontheAT89C51isdesignedwithstaticlogicforoperationdowntozerofrequencyandsupportstwosoftwareselectablepowersavingmodes.TheIdleModestopstheCPUwhileallowingtheRAMtimer/countersserialportandinterruptsys-temtocontinuefunctioning.ThePower-downModesavestheRAMcontentsbutfreezestheoscil–latordisablingallotherchipfunctionsuntilthenexthardwarereset.Port0Port0isan8-bitopen-drainbi-directionalI/Oport.AsanoutputporteachpincansinkeightTTLinputs.When1sarewrittentoport0pinsthepinscanbeusedashighimpedanceinputs.Port0mayalsobeconfiguredtobethemultiplexedloworderaddress/databusduringaccessestoexternalprogramanddatamemory.InthismodeP0hasinternalpullups.Port0alsoreceivesthecodebytesduringFlashprogrammingandoutputsthecodebytesduringprogramverification.Externalpullupsarerequiredduringprogramverification.Port1Port1isan8-bitbi-directionalI/Oportwithinternalpullups.ThePort1outputbufferscansink/so-urcefourTTLinputs.When1sarewrittentoPort1pinstheyarepulledhighbytheinternalpullupsandcanbeusedasinputs.AsinputsPort1pinsthatareexternallybeingpulledlowwillsourcecurrentIILbecauseoftheinternalpullups.Port1alsoreceivesthelow-orderaddressbytesduringFlashprogrammingandverification.Port2Port2isan8-bitbi-directionalI/Oportwithinternalpullups.ThePort2outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort2pinstheyarepulledhighbytheinternalpullupsandcanbeusedasinputs.AsinputsPort2pinsthatareexternallybeingpulledlowwillsourcecurrentIILbecauseoftheinternalpullups.Port2emitsthehigh-orderaddressbyteduringfetchesfromexternalprogrammemoryandduringaccessestoPort2pinsthatareexternallybeingpulledlowwillsourcecurrentIILbecauseoftheinternalpullups.Port2emitsthehigh-orderaddressbyteduringfetchesfromexternalprogrammemoryandduringaccessestoexternaldatamemorythatuse16-bitaddressesMOVX@DPTR.Inthisapplicationitusesstronginternalpull-upswhenemitting1s.Duringaccessestoexternaldatamemorythatuse8-bitaddressesMOVX@RIPort2emitsthecontentsoftheP2SpecialFunctionRegister.Port2alsoreceivesthehigh-orderaddressbitsandsomecontrolsignalsdurinFlashprogrammingandverification.Port3Port3isan8-bitbi-directionalI/Oportwithinternalpullups.ThePort3outputbufferscansink/sou-rcefourTTLinputs.When1sarewrittentoPort3pinstheyarepulledhighbytheinternalpullupsandcanbeusedasinputs.AsinputsPort3pinsthatareexternallybeingpulledlowwillsourcecurrentIILbecauseofthepullups.Port3alsoservesthefunctionsofvariousspecialfeaturesoftheAT89C51aslistedbelow:RST Resetinput.Ahighonthispinfortwomachinecycleswhiletheoscillatorisrunningresetsthedevice.ALE/PROG AddressLatchEnableoutputpulseforlatchingthelowbyteoftheaddressduringaccessestoexternalmemory.ThispinisalsotheprogrampulseinputPROGduringFlashprogramming.InnormaloperationALEisemittedataconstantrateof1/6theoscillatorfrequencyandmaybeusedforexternaltimingorclockingpurposes.NotehoweverthatoneALEpulseisskippedduri-ngeachaccesstoexternalDataMemory.IfdesiredALEoperationcanbedisabledbysettingbit0ofSFRlocation8EH.WiththebitsetALEisactiveonlyduringaMOVXorMOVCinstruction.Otherwisethepinisweaklypulledhigh.SettingtheALE-disablebithasnoeffectifthemicrocontrollerisinexternalexecutionmode.PSEN ProgramStoreEnableisthereadstrobetoexternalprogrammemory.WhentheAT89C51isexecutingcodefromexternalprogrammemoryPSENisactivatedtwiceeachmachinecycleexceptthattwoPSENactivationsareskippedduringeachaccesstoexternaldatamemory.EA/VPP ExternalAccessEnable.EAmustbestrappedtoGNDinordertoenablethedevicetofetchcodefromexternalprogrammemorylocationsstartingat0000HuptoFFFFH.Notehoweverthatiflockbit1isprogrammedEAwillbeinternallylatchedonreset.EAshouldbestrappedtoVCCforinternalprogramexecutions.Thispinalsreceivesthe12-voltprogrammingenablevoltageVPPduringFlashprogrammingforpartsthatrequire12-voltVPP.XTAL1Inputtotheinvertingoscillatoramplifierandinputtotheinternalclockoperatingcircuit.XTAL2Outputfromtheinvertingoscillatoramplifier.OscillatorCharacteristicsXTAL1andXTAL2aretheinputandoutputrespectivelyofaninvertingamplifierwhichcanbeconfiguredforuseasanon-chiposcillatorasshowninFigure
1.Eitheraquartzcrystalorceramicresonatormaybeused.TodrivethedevicefromanexternalclocksourceXTAL2shouldbeleftunconnectedwhileXTAL1isdrivenasshowninFigure
2.Therearenorequirementsonthedutycycleoftheexternalclocksignalsincetheinputtotheinternalclockingcircuitryisthroughadivide-by-twoflip-flopbutminimumandmaximumvoltagehighandlowtimespecificationsmustbeobserved.IdleModeInidlemodetheCPUputsitselftosleepwhilealltheonchipperipheralsremainactive.Themodeisinvokedbysoftware.Thecontentoftheon-chipRAMandallthespecialfunctionsregistersremainunchangedduringthismode.Theidlemodecanbeterminatedbyanyenabledinterruptorbyahardwarereset.Itshouldbenotedthatwhenidleisterminatedbyahardwareresetthedevicenormallyresumesprogramexecutionfromwhereitleftoffuptotwomachinecyclesbeforetheinternalresetalgorithmtakescontrol.On-chiphardwareinhibitsaccesstointernalRAMinthiseventbutaccesstotheportpinsisnotinhibited.ToeliminatethepossibilityofanunexpectedwritetoaportpinwhenIdleisterminatedbyresettheinstructionfollowingtheonethatinvokesIdleshouldnotbeonethatwritestoaportpinortoexternalmemory.Power-downModeInthepower-downmodetheoscillatorisstoppedandtheinstructionthatinvokespower-downisthelastinstructionexecuted.Theon-chipRAMandSpecialFunctionRegistersretaintheirvaluesuntilthepower-downmodeisterminated.Theonlyexitfrompower-downisahardwarereset.ResetredefinestheSFRsbutdoesnotchangetheon-chipRAM.TheresetshouldnotbeactivatedbeforeVCCisrestoredtoitsnormaloperatinglevelandmustbeheldactivelongenoughtoallowtheoscillatortorestartandstabilize.TheAT89C51codememoryarrayisprogrammedbyte-bybyteineitherprogrammingmode.Toprogramanynonblankbyteintheon-chipFlashMemorytheentirememorymustbeerasedusingtheChipEraseMode.2ProgrammingAlgorithmBeforeprogrammingtheAT89C51theaddressdataandcontrolsignalsshouldbesetupaccordingtotheFlashprogrammingmodetableandFigure3andFigure
4.ToprogramtheAT89C51takethefollowingsteps.
1.Inputthedesiredmemorylocationontheaddresslines.
2.Inputtheappropriatedatabyteonthedatalines.
3.Activatethecorrectcombinationofcontrolsignals.
4.RaiseEA/VPPto12Vforthehigh-voltageprogrammingmode.
5.PulseALE/PROGoncetoprogramabyteintheFlasharrayorthelockbits.Thebyte-writecycleisself-timedandtypicallytakesnomorethan
1.5ms.Repeatsteps1through5changingtheaddressanddatafortheentirearrayoruntiltheendoftheobjectfileisreached.DataPolling:TheAT89C51featuresDataPollingtoindicatetheendofawritecycle.DuringawritecycleanattemptedreadofthelastbytewrittenwillresultinthecomplementofthewrittendatumonPO.
7.Oncethewritecyclehasbeencompletedtruedataarevalidonalloutputsandthenextcyclemaybegin.DataPollingmaybeginanytimeafterawritecyclehasbeeninitiated.
2.1Ready/Busy:TheprogressofbyteprogrammingcanalsobemonitoredbytheRDY/BSYoutputsignal.P
3.4ispulledlowafterALEgoeshighduringprogrammingtoindicateBUSY.P
3.4ispulledhighagainwhenprogrammingisdonetoindicateREADY.ProgramVerify:IflockbitsLB1andLB2havenotbeenprogrammedtheprogrammedcodedatacanbereadbackviatheaddressanddatalinesforverification.Thelockbitscannotbeverifieddirectly.Verificationofthelockbitsisachievedbyobservingthattheirfeaturesareenabled.
2.2ChipErase:TheentireFlasharrayiserasedelectricallybyusingthepropercombinationofcontrolsignalsandbyholdingALE/PROGlowfor10ms.Thecodearrayiswrittenwithall“1”s.Thechiperaseoperationmustbeexecutedbeforethecodememorycanbere-programmed.
2.3ReadingtheSignatureBytes:Thesignaturebytesarereadbythesameprocedureasanormalverificationoflocations030H031Hand032HexceptthatP
3.6andP
3.7mustbepulledtoalogiclow.Thevaluesreturnedareasfollows.030H=1EHindicatesmanufacturedbyAtmel031H=51Hindicates89C51032H=FFHindicates12Vprogramming032H=05Hindicates5Vprogramming
2.4ProgrammingInterfaceEverycodebyteintheFlasharraycanbewrittenandtheentirearraycanbeerasedbyusingtheappropriatecombinationofcontrolsignals.Thewriteoperationcycleisselftimedandonceinitiatedwillautomaticallytimeitselftocompletion.Amicrocomputerinterfaceconvertsinformationbetweentwoforms.Outsidethemicrocomputertheinformationhandledbyanelectronicsystemexistsasaphysicalsignalbutwithintheprogramitisrepresentednumerically.Thefunctionofanyinterfacecanbebrokendownintoanumberofoperationswhichmodifythedatainsomewaysothattheprocessofconversionbetweentheexternalandinternalformsiscarriedoutinanumberofsteps.Ananalog-to-digitalconverterADCisusedtoconvertacontinuouslyvariablesignaltoacorrespondingdigitalformwhichcantakeanyoneofafixednumberofpossiblebinaryvalues.IftheoutputofthetransducerdoesnotvarycontinuouslynoADCisnecessary.Inthiscasethesignalconditioningsectionmustconverttheincomingsignaltoaformwhichcanbeconnecteddirectlytothenextpartoftheinterfacetheinput/outputsectionofthemicrocomputeritself.Outputinterfacestakeasimilarformtheobviousdifferencebeingthatheretheflowofinformationisintheoppositedirection;itispassedfromtheprogramtotheoutsideworld.Inthiscasetheprogrammaycallanoutputsubroutinewhichsupervisestheoperationoftheinterfaceandperformsthescalingnumberswhichmaybeneededfordigital-to-analogconverterDAC.ThissubroutinepassesinformationinturntoanoutputdevicewhichproducesacorrespondingelectricalsignalwhichcouldbeconvertedintoanalogformusingaDAC.Finallythesignalisconditionedusuallyamplifiedtoaformsuitableforoperatinganactuator.Thesignalsusedwithinmicrocomputercircuitsarealmostalwaystoosmalltobeconnecteddirectlytotheoutsideworld”andsomekindofinterfacemustbeusedtotranslatethemtoamoreappropriateform.Thedesignofsectionofinterfacecircuitsisoneofthemostimportanttasksfacingtheengineerwishingtoapplymicrocomputers.Wehaveseenthatinmicrocomputersinformationisrepresentedasdiscretepatternsofbits;thisdigitalformismostusefulwhenthemicrocomputeristobeconnectedtoequipmentwhichcanonlybeswitchedonoroffwhereeachbitmightrepresentthestateofaswitchoractuator.Tosolvereal-worldproblemsamicrocontrollermusthavemorethanjustaCPUaprogramandadatamemory.InadditionitmustcontainhardwareallowingtheCPUtoaccessinformationfromtheoutsideworld.OncetheCPUgathersinformationandprocessesthedataitmustalsobeabletoeffectchangeonsomeportionoftheoutsideworld.ThesehardwaredevicescalledperipheralsaretheCPU’swindowtotheoutside.ThemostbasicformofperipheralavailableonmicrocontrollersisthegeneralpurposeI70port.EachoftheI/Opinscanbeusedaseitheraninputoranoutput.Thefunctionofeachpinisdeterminedbysettingorclearingcorrespondingbitsinacorrespondingdatadirectionregisterduringtheinitializationstageofaprogram.EachoutputpinmaybedriventoeitheralogiconeoralogiczerobyusingCPUinstructionstopinmaybeviewedorread.bytheCPUusingprograminstructions.SometypeofserialunitisincludedonmicrocontrollerstoallowtheCPUtocommunicatebit-seriallywithexternaldevices.Usingabitserialformatinsteadofbit-parallelformatrequiresfewerI/Opinstoperformthecommunicationfunctionwhichmakesitlessexpensivebutslower.Serialtransmissionsareperformedeithersynchronouslyorasynchronously.中文翻译AT89C51的概况1AT89C51应用单片机广泛应用于商业诸如调制解调器,电动机控制系统,空调控制系统,汽车发动机和其他一些领域这些单片机的高速处理速度和增强型外围设备集合使得它们适合于这种高速事件应用场合然而,这些关键应用领域也要求这些单片机高度可靠健壮的测试环境和用于验证这些无论在元部件层次还是系统级别的单片机的合适的工具环境保证了高可靠性和低市场风险Intel平台工程部门开发了一种面向对象的用于验证它的AT89C51汽车单片机多线性测试环境这种环境的目标不仅是为AT89C51汽车单片机提供一种健壮测试环境,而且开发一种能够容易扩展并重复用来验证其他几种将来的单片机开发的这种环境连接了AT89C51本文讨论了这种测试环境的设计和原理,它的和各种硬件、软件环境部件的交互性,以及如何使用AT89C
511.1介绍8位AT89C51CHMOS工艺单片机被设计用于处理高速计算和快速输入/输出MCS51单片机典型的应用是高速事件控制系统商业应用包括调制解调器,电动机控制系统,打印机,影印机,空调控制系统,磁盘驱动器和医疗设备汽车工业把MCS51单片机用于发动机控制系统,悬挂系统和反锁制动系统AT89C51尤其很好适用于得益于它的处理速度和增强型片上外围功能集,诸如汽车动力控制,车辆动态悬挂,反锁制动和稳定性控制应用由于这些决定性应用,市场需要一种可靠的具有低干扰潜伏响应的费用-效能控制器,服务大量时间和事件驱动的在实时应用需要的集成外围的能力,具有在单一程序包中高出平均处理功率的中央处理器拥有操作不可预测的设备的经济和法律风险是很高的一旦进入市场,尤其任务决定性应用诸如自动驾驶仪或反锁制动系统,错误将是财力上所禁止的重新设计的费用可以高达500K美元,如果产品族享有同样内核或外围设计缺陷的话,费用会更高另外,部件的替代品领域是极其昂贵的,因为设备要用来把模块典型地焊接成一个总体的价值比各个部件高几倍为了缓和这些问题,在最坏的环境和电压条件下对这些单片机进行无论在部件级别还是系统级别上的综合测试是必需的IntelChandler平台工程组提供了各种单片机和处理器的系统验证这种系统的验证处理可以被分解为三个主要部分系统的类型和应用需求决定了能够在设备上执行的测试类型
1.2AT89C51提供以下标准功能4k字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路同时,AT89C51降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式空闲方式体制CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作掉电方式保存RAM中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位·P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻在Flash编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻·P1口P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)Flash编程和程序校验期间,P1接受低8位地址·P2口P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)在访问外部程序存储器或16位四肢的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据,在访问8位地址的外部数据存储器(例如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变Flash编程和程序校验时,P2也接收高位地址和其他控制信号·P3口P3是一个带有内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号·RST复位输入当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位·ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的要注意的是,每当访问外部数据存储器时将跳过一个ALE脉冲对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元D0位置位,可禁止ALE操作该位置位后,只有一条MOVX和MOVC指令ALE才会被激活此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效·PSEN程序存储允许输出是外部程序存储器的读选通型号,当89C51由外部存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现·EA/VPP外部访问允许欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)需注意的是如果加密位LB1被编程,复位时内部会锁存EA端状态如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令Flash存储器编程时,该引脚加上+12v的编程允许电源Vpp,当然这必须是该器件使用12v编程电压Vpp·XTAL1振荡器反相放大器及内部时钟发生器的输入端·XTAL2振荡器反相放大器的输出端89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图5外接石英晶体或陶瓷谐振器及电容C
1、C2接在放大器的反馈回路中构成并联振荡电路对电容C
1、C2虽没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30Pf±10Pf,而如使用陶瓷谐振器建议选择40Pf±10Pf用户也可以采用外部时钟这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端XTAL2则悬空·掉电模式在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结推出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作89C51的程序存储器阵列是采用字节写入方式编程的,每次写入一个字符,要对整个芯片的EPROM程序存储器写入一个非空字节,必须使用片擦除的方法将整个存储器的内容清楚2编程方法编程前,设置好地址、数据及控制信号,编程单元的地址加在P1口和P2口的P
2.0—P
2.3(11位地址范围为0000H——0FFFH),数据从P0口输入,引脚P
2.
6、P
2.7和P
3.
6、P
3.7的电平设置见表6,PSEB为低电平,RST保持高电平,EA/Vpp引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG引脚输入编程脉冲(负脉冲)编程时,可采用4—20MHz的时钟振荡器,89C51编程方法如下在地址线上加上要编程单元的地址信号在数据线上加上要写入的数据字节激活相应的控制信号在高电压编程方式时,将EA/Vpp端加上+12v编程电压每对Flash存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG编程脉冲改变编程单元的地址和写入的数据,重复1—5步骤,知道全部文件编程结束每个字节写入周期是自身定时的,通常约为
1.5ms·数据查询89C51单片机用数据查询方式来检测一个写周期是否结束,在一个写周期中,如需要读取最后写入的那个字节,则读出的数据的最高位(P
0.7)是原来写入字节的最高位的反码写周期开始后,可在任意时刻进行数据查询
2.1Ready/Busy:字节编程的进度可通过Ready/Busy输出信号检测,编程期间,ALE变为高电平“H”后P
3.4(Ready/Busy)端被拉低,表示正在编程状态(忙状态)编程完成后,P
3.4变为高电平表示准备就绪状态·程序校验如果加密位LB、LB2没有进行编程,则代码数据可通过地址和数据线读回原编写的数据,采用下图的电路,程序存储器的地址由P1口和P2口的P
2.0—P
2.3输入,数据由P0口读出,P
206、P
2.7和P
3.
6、P
3.7的控制信号见表6,PSEN保持低电平,ALE、EA和RST保持高电平校验时,P0口必须接上10k左右的上拉电阻
2.2芯片擦除:利用控制信号的正确组合表6并保持ALE/PROG引脚10ms的低电平脉冲宽度即可将EPROM阵列4k字节和三个加密位整片擦除代码阵列在片擦除操作中将任何非空单元写入”1”这步骤需在编程之前进行
2.3读片内签名字节:89C51单片机内有3个签名字节地址为030H、031H和032H于声明该器件的厂商、号和编程电压读签名字节的过程和单元030H、031H和032H的正常校验相仿,只需要将P
3.6和P
3.7保持低电平,返回值意义如下030H=1EH声明产品由ATMEL公司制造031H=51H声明为89C51单片机032H=FFH声明为12V编程电压032H=05H声明为5编程电压
2.4编程接口采用控制信号的正确组合可对Flash闪速存储阵列中的每一代码字节进行写入和存储器的整片擦除,写操作周期是自身定时的,初始化后它将自动定时到操作完成微机接口实现两种信息形式的交换在计算机之外,由电子系统所处理的信息以一种物理信号形式存在,但在程序中,它是用数字表示的任一接口的功能都可分为以某种形式进行数据库变换的一些操作,所以外部和内部形式的转换是由许多步骤完成的模拟-数字转换器(ADC)用来将连续变化信号变成相应的数字量,这数字量可是可能性的二进制数值中的一固定值如果传感器输出不是连续变化的,就不需模拟-数字转换这种情况下,信号调理单元必须将输入信号变换成为另一信号,也可直接与接口的下一部分,即微计算机本身的输入输出单元相连接输出接口采用相似的形式,明显的差别在于信息流的方向相反;是从程序到外部世界这种情况下,程序可称为输出程序,它监督接口的操作并完成数字-模拟转换器(DAC)所需数字的标定该子程序依次送出信息给输出器件,产生相应的电信号,由DAC转换成模拟形式最后,信号经调理(通常是放大)以形成适应于执行器操作的形式在微机电路中使用的信号几乎总是太小而不能被直接地连到“外部世界”,因而必须用某种形式将其转换成更适宜的形式接口电路部分的设计是使用微机的工程师所面临最重要的任务之一我们已经了解到微机中,信号以离散的位形式表示当微机要与只有打开或关闭操作的设备相连时,这种数字形式是最有用的,这里每一位都可表示一开关或执行器的状态为了解决实际问题,一个单片机不仅包括CPU,程序和数据存储器,另外,它必须含有通过CPU访问外部信息的硬件一旦CPU收集到数据信息和流程,它必须能够改变外部领域的一部分,这些硬件设备称作外围设备,它们是CPU通往外部的窗口单片机可利用外围设备中最基本的用于一般用途的I/O接口,每个I/O接口既可作为输入端又可作为输出端,每个I/O接口的功能取决与程序初始化阶段对数据方位寄存器相应位进行置一和清零操作,通过CPU指令对数据寄存器相应位进行置一和清零来置一和清零输出端口,同样输入端口逻辑位也可以通过CPU指令访问一些类型的串行口单元允许CPU与外部设备进行串口通信,用串口位代替平行位进行通信需要少许的I/O口,这样使通信费用降低但速度也相对慢些串口传送可以同步也可以异步附录Ⅱ部分程序代码
1.采样程序#defineucharunsignedchar#defineIN0XBYTE[0x7ff8]/*设置ADC0809的通道0地址*/Sbitad_busy=P3^3;/*即EOC状态*/Voidad0809ucharidata*x/*采样函数,结果x[]放外部数据存储器*/{uchari;ucharxdata*ad_adrr;ad_ad=IN0;fori=0;i8;i++{*ad_ad=0;/*启动转换*/i=i;i=i;whilead_busy==1;/*判断转换是否结束*/x[i]=*ad_adr;/*保存转换结果*/Ad_adr++;/*采集下一通道*/}}voidmainvoid{staticucharidataad
[10];ad0809ad;/*采样通道*/}A/D转换程序#includereg
51.h#includeintrins.h#includeSTDIO.H#includehmzx.hADDateDate;uchari;ucharcodetable[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x770x7c0x390x5e0x790x71};voidmain{while1{Init;ADStart;P1=0xff;ADRead=0;Date.Val=P1;ADRead=1;//P1=Date.Val;fori=30;i0;i--{display;}}}voidInitvoid{WELA=1;P0=0;WELA=0;DULA=1;P0=0xff;DULA=0;}voidADStartvoid{ADWrite=1;ADWrite=0;ADWrite=1;}voiddisplayvoid{Date.Bai=Date.Val/100;//百位Date.Shi=Date.Val/10%10;//十位Date.Gei=Date.Val%10;//个位WELA=1;P0=0xfe;//第一位WELA=0;DULA=1;P0=table[Date.Bai];DULA=0;delay5;WELA=1;P0=0xfd;//第二位WELA=0;DULA=1;P0=table[Date.Shi];DULA=0;delay5;WELA=1;P0=0xfb;//第三位WELA=0;DULA=1;P0=table[Date.Gei];DULA=0;delay5;}voiddelayuintz{uintxy;forx=z;x0;x--fory=110;y0;y--;}
2.键盘显示程序#includereg
51.h#defineucharunsignedchartypedefbitBOOL;sbitrs=P2^6;sbitrw=P3^6;sbitep=P2^7;voiddelayucharms{uchari;//延时子程序whilems--{fori=0;i250;i++;}}voidlongdelayuchars//长延时{whiles--{delay60;}}BOOLlcd_bz//测试LCD忙碌状态{BOOLresult;rs=0;rw=1;ep=1;result=BOOLP00x80;ep=0;returnresult;}voidwrite_cmducharcmd//写指令{whilelcd_bz;rs=0;rw=0;ep=0;P0=cmd;ep=1;ep=0;}voidwrite_addrucharaddr//写地址{write_cmdaddr|0x80;}voidwrite_byteuchardat//写字节{whilelcd_bz;rs=1;rw=0;ep=0;P0=dat;ep=1;ep=0;}voidlcd_init//初始化{write_cmd0x38;delay1;write_cmd0x08;delay1;write_cmd0x01;delay1;write_cmd0x06;delay1;write_cmd0x0c;delay1;}voiddisplayucharaddrucharq//在某一地址上显示一字节{delay10;write_addraddr;write_byteq;longdelay2;}main{lcd_init;//初始化LCDdelay10;//lcd_wcmd0x07;//entrymodesetdelay1;while1{display0x00R;//在第一个位置显示Rdisplay0x010x31//在第二个位置显示1,1的ASCII码为31}}#includereg
51.h#defineucharunsignedchartypedefbitBOOL;sbitrs=P2^6;sbitrw=P3^6;sbitep=P2^7;voiddelayucharms{uchari;//延时子程序whilems--{fori=0;i250;i++;}}voidlongdelayuchars//长延时{whiles--{delay60;}}BOOLlcd_bz//测试LCD忙碌状态{BOOLresult;rs=0;rw=1;ep=1;result=BOOLP00x80;ep=0;returnresult;}voidwrite_cmducharcmd//写指令{whilelcd_bz;rs=0;rw=0;ep=0;P0=cmd;ep=1;ep=0;}voidwrite_addrucharaddr//写地址{write_cmdaddr|0x80;}voidwrite_byteuchardat//写字节{whilelcd_bz;rs=1;rw=0;ep=0;P0=dat;ep=1;ep=0;}voidlcd_init//初始化{write_cmd0x38;delay1;write_cmd0x08;delay1;write_cmd0x01;delay1;write_cmd0x06;delay1;write_cmd0x0c;delay1;}voiddisplayucharaddrucharq//在某一地址上显示一字节{delay10;write_addraddr;write_byteq;longdelay2;}main{lcd_init;//初始化LCDdelay10;//lcd_wcmd0x07;//entrymodesetdelay1;while1{display0x00R;//在第一个位置显示Rdisplay0x010x31//在第二个位置显示1,1的ASCII码为31}}附录Ⅲ电路原理图附录Ⅳ元器件清单序号器件值器件名称器件封装130pFC3RAD
0.
220.1uFC2RAD
0.2330pFC4RAD
0.
240.1uFC15RAD
0.
250.1uFC10RAD
0.261KR17AXIAL
0.471KR18AXIAL
0.481KR16AXIAL
0.491KR14AXIAL
0.4101KR13AXIAL
0.4111KR12AXIAL
0.4121uFC14RAD
0.2132KR1AXIAL
0.4142KR20AXIAL
0.4152KR2AXIAL
0.4162KR19AXIAL
0.
4174.7K*8R21AXIAL
0.41810KR15AXIAL
0.41910KR4AXIAL
0.42010KR9AXIAL
0.42110KR8AXIAL
0.42210KR7AXIAL
0.42310KR5AXIAL
0.42410KR11AXIAL
0.42510KR6AXIAL
0.42610KR10AXIAL
0.42710uFC12RAD
0.22810uFC1RAD
0.22910uFC11RAD
0.23010uFC5RAD
0.23110uFC9RAD
0.23212MHzY1XTAL13330pFC7RAD
0.23430pFC8RAD
0.23530uFC13RAD
0.23660uHL140237150pFC6RAD
0.2388051U1DIP839ADC0809U3DIP40408279U2DIP204174LS373U4DIP242CD4052U8IDC1643HKD-10AJ1IDC164474LS74U5DIP1645LEDD2PH1046MOSFETNQ3AP01N60H47X25045U6DIP848PNPQ1901249PNPQ2901250PO27R3VR551SW-PBS4AXIAL
0.452SW-PBS2AXIAL
0.453SW-PBS1AXIAL
0.454SW-PBS5AXIAL
0.455SW-PBS3AXIAL
0.456NE555U7DIP6温度传感器驱动电路键盘电路A/D转换报警电路显示电路单片机AT89C51看门狗电路图
2.1系统总体设计方案第5章第6章
3.1AT89C51引脚图
3.2X25045引脚图
3.2X25045引脚图图
3.3看门狗电路连接图图
3.4单片机最小系统连接图图
3.5温度采集电路连接图图
3.6ADC0809引脚图图
3.7A/D转换电路连接图图
3.8键盘与显示电路连接图图
3.9555引脚图图
3.10报警电路连接图rytct△ukek(S)DZ步进电动机执行机构被控对象温度传感器信号处理图
4.1系统控制框图vd纯滞后补偿CtuerPID控制被控对象数据处理主程序系统调度程序Smith补偿PID运算键盘管理看门狗显示程序返回主程序图
4.3单片机流程模块结构图NY结束YN开始显示自检开T0中断按键处理元器件初始化堆栈初始化参数初始化有键按下?图
4.4单片机主程序流程图。