基于单片机的液位控制系统大学本科毕业论文.doc
第一章 绪 论1.1 课题背景随着计算机技术、测量技术和控制技术的高速发展,越来越多的先进测量控制设备、技术和方法在自动测量控制领域中得到了广泛的应用。单片机以其自身的特点,已广泛应用于智能仪表、工业控制、家用电器、电子玩具等各个领域。本课题适应了这种发展趋势,将单片机应用于液位自动控制系统中,并能实现自动报警、自动控制。液位的测量广泛应用于太阳能热水器,工业锅炉控制,农用机水箱等。液位控制对工农业生产、医疗监护等都有着重要的意义。液位控制系统是以液位为被控参数的控制系统,在工业生产的各个领域都有广泛应用。在工业生产中,有许多需要对容器内的介质进行液位控制的地方,使其高精度的保持在给定的数值。液位控制一般指对某一液位进行调节控制,使其达到所要要求的精度。液体的液位控制是近年来新开发的一项新的技术,它是自动控制、微型计算机软件、硬件等几项技术紧密结合的产物,工业作业采用的是微机控制和原有的仪表控制,微机控制的优势有很多,如:(1)集中而直接的显示各运行参数和液位状态。(2)具有水体控制过程的自动化处理以及监控软件良好的人机界面,操作人员在监控计算机上能够依据控制效果及时修正运行参数,能够有效减少人的疲劳与失误,从而提高生产过程的安全性与实时性。(3)在运行中可以随时方便的修改各种各样的运行参数的控制值,并可以修改系统控制参数,方便的改变液位上、下限。本设计以水塔供水为模型,鉴于单片机液位控制装置的重复性好、功耗低、测量准确、使用寿命长等特点,设计以单片机为基础的液位控制系统,具有实时液位测量监控数据处理等功能。1.2 单片机简介单片微型机简称单片机,是一种集成的电路芯片,是采用超大规模集成电路的技术把具有数据处理能力的中央处理器CPU(Central Processing Unit)、只读存储器ROM(Read Only Memory)、随机存储器RAM(Random Access Memory)、中断系统和多种I/O口、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机是嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,最早是被用在工业控制领域。单片机由运算器、控制器、存储器、输入输出设备构成。单片机是程序运行中,可能需要修改,通过不同的程序实现不同的功能。单片机自动完成任务赋予它的过程,也就是单片机程序执行过程,即执行的指令的过程,就是所谓的指示需要各种各样的操作与单片机执行命令的形式写下来,这是在设计人员赋予它的指令系统的决定,一条指令对应一个基本操作,单芯片能执行所有的指示,是单片机教学系统,不同种类的单片机、指导体系也有所不同。一系列的指令集,将成为程序,程序通常是顺序执行的,所以程序中的指令也是一个序列的存储、单片机在执行程序可以把这些指令去执行,一个人必须有一个组件可以追踪在指令的地址。程序计数器部分是一个PC(包括CPU),在开始执行程序,PC连接到程序的第一条指令的地址,然后给每一个执行命令,电脑上的内容,会自动增加在指令长度决定增加,可能是1、2或3指下一条指令,确保的起始地址指令顺序执行。 早期的单片机都是8位或4位的。最成功的一次是8031年,因为以英代尔为主的简单、可靠和良好的性能得到了许多赞扬。接着在8031年开发了系列MCS51单片机系统。基于该系统的单片机系统,直到现在还被广泛应用 。MCS-51系列单片机适合于实时控制,可构成工业控制器、智能仪表、智能接口、智能武器装置以及通用测控单元等等,目前世界上一些大半导体公司推出的具有51内核的系列化单片机产品,其指令系统、地址空间和寻址方式、甚至连引脚功能也完全兼容。由于MCS-51系列单片机体积小,功能全,价廉,面向控制,开发应用方便,因而具有极强的竞争力,今后它仍然是工业界、科技界广泛应用的8位微控制器。以单片机为基础的控制电路,有着价格低,体积小,系统结构简单,易于控制,处理能力强等优点,使得其应用领域相当广泛,对各行各业的技术改造和产品更新换代起到了重要的推动作用。1.3 本课题研究内容及意义本课题采用单片机实现对液位的自动监测,自动控制,经传感器测得液位,经AD转换后再送单片机处理,单片机将数据交由液晶显示器显示,并将所得数据与键盘输入液位上下限进行比较,以决定是否进行报警,自动上水放水等。本课题完全可应用于实际当中,由于其显示精确,可实现报警,自动控制,可以省去不少人力,物力。 第二章 系统设计方案2.1 基于单片机的液位控制系统设计要求本系统由单片机AT89C52、液晶显示器、报警器、键盘、传感器和其它基本外围电路组成 。要求:对液位传感器采集的液位信息进行放大、A/D转换等处理,并设计其前端数据采集与相应的输出控制硬件电路,完成相应的单片机软件控制设计。液位信息经传感器采集后送入单片机,单片机进行控制并送液晶显示,可用键盘进行控制液位上、下限。2.2 总体设计方案2.2.1 总体设计方案的选择考虑系统的设计要求,在对器件选择的过程,主要侧重于对传感器的选择。传感器的选择考虑到实际应用中的诸多问题,如可靠性、稳定性等。以下方案是对其进行的比较。方案一:非接触式液位传感器非接触式液位传感器只能穿透非导体的容器壁,金属容器或镀金属膜容器壁均无法使用。且粘稠度高不易流动的液体,如果沾粘容器壁过多,可能造成非接触式液位传感器无法使用。且对装环境也有很高要求,须垂直紧靠容器壁安装,以避免相对运动,且安装在长期连续震动的场所。因此,尽管其高灵敏度、高稳定性,也不满足设计的需求。 方案二:投入式液位传感器 投入式液位传感器是一种用于测量液位的压力传感器。投入式压力传感器的基于液位传感器测液体静压和高度比例的那么液体的基本原理,介绍了国外先进的隔离型扩散硅压力敏感元件或陶瓷电容敏感传感器,会被转换成电子信号,静压力和温度补偿后,进入一个标准线性校正电信号。投入式静压咯力和液位传感器准确看来测量,只有借鉴大气压力,然而连接电缆通气会受到环境的影响,引起气管墙缩合、冷凝。露水滴到电子器件和传感器上,会影响精度者输出漂移。此传感器 容易受环境的影响而造成测量不准确,且安装不方便。方案三: 电容式液位传感器电容式液位传感器利用电容两极板间的电容值的变化来测量液面高低。电容式液位传感器具有小,容易实现远传和调节的优点,适用于具有腐蚀性和高压介质。但也有许多缺点,如:介质和液面上部的介电常数必须保持恒嘛呢定才能准确测量;测量范围受金属棒长度限制;对容器材质有较高的要求;被测介质具有导电性。以此也不适合在本次设计中使用。方案四:超声波传感器超声波传感器他是工业领域吗的第一款在产品上有的按键设定的功能和自诊断功能的小型传感器。它体积小,具有其它大型传感器所具有的功能,安装使用方便且不受被测物体的颜色影响,有许多的特设功能,其供电电压为1030V,测量范围为30mm300mm,输出电压0V10V,输出电流为4mA20mA,最小负载阻抗2.5 欧,精度可达到0.5mm,外形分为直线型和直角型。此传感器测量范围太小,不能符合此设计要求,所以不选择。方案五:LM1042液位检测器集成芯片LM1042是用于检测液位的专用的集成电路,内部集成了所有控制热阻探针、检测热阻探针的短路和开路所需的监控电路,具有很强的功能。 LM1042使用热阻探针技术来测量非可燃性液体液面高度,能提供一正比于液位高度的输出,可进行单次或重复测量,所有控制热阻探针、检测热阻探针的短路和开路所需的监控电路都集成在LM1042芯片内部。此外该芯片可采用线性输入或其它传感器信号作为输入信号。LM1042液位检测器可以选择热阻或线性信号作为输入,具有集成有热阻探针的控制电路,LM1042液位检测器在复位时切换,延时功能可避免瞬态信号的影响,另外LM1042液位检测器具有探针短路、开路检测功能。所以此设计选择本方案,LM1042液位检测器的具体原理图见第三章。2.2.2 总体方案简介测量部分:液位传感器采用LM1042液位检测器,并在端口接ADC0809的一个模拟量通道。ADC0809和并行口扩展芯片8155直接相连,ADC0809的A、B、C均接地来选择第一路模拟通道。键盘部分:鉴于键盘并不常用,所以上下限的输入采用中断方式。一个接中断口1,另一个接至定时计数器0,把定时计数器0扩展为外部中断口。显示部分:该部分由液晶显示器1602实现液位的显示,液晶显示器上显示液位的值。报警部分:当液位高于由键盘输入的液位上限或低于由键盘输入的液位下限时,蜂鸣器发声报警。控制部分:当液位高于由键盘输入的液位上限时,单片机启动电动机开闸放液体;当液位低于液位下限时,单片机启动电动机自动上液体。为减少执行机构对单片机的影响,提高稳定性,在执行机构前加有光电隔离器,并由电磁继电器控制电动机的开关。单片机AT89C52报警电路电机执行机构键盘输入扩展电路8155液晶显示1602A/D转换ADC0809液 位 检测 图2-1 系统总体框图 2.3 硬件设计概要2.3.1 系统硬件电路设计原则一般在系统硬件电路设计应遵循以下原则: (1)尽可能选择标准化、模块化的典型电路,且符合单片机应用系统的常规用法。 (2)系统中相关的器件要尽可能做到性能匹配。 (3)可靠性及抗干扰设计是硬件设计不可缺少的一部分。可靠性、抗干扰能力与硬件系统自身素质有关,必须认真对待。(4)硬件结构应结合应用程序设计一起考虑。软件能实现的功能尽可能由软件完成,以简化硬件结构。但“软化”的结果也许会使响应时间比硬件的响应时间长。在实时性要求比较高的场合应采用硬件完成。(5)单片机外接电路较多时,必须考虑其驱动能力。2.3.2 选择芯片及器件类型原则(1)货源充足,所选单片机芯片在国内元器件市场上货源要稳定充足、具有成熟的开发设备。(2)标准化,尽量符合国家标准或部标准(GJB、GB、SJ)的通用、技术成熟元器件。(3)研制周期短,在研制任务重、时间紧的情况下,应考虑采用自己比较熟悉的系列、型号。(4)性价比要高,在保证性能指标情况下,所用芯片价格要尽可能低,使系统有较高的性价比。(5)优先选择经实践证明质量稳定、可靠性高、有发展前途的标准元器件。不允许选购被市场淘汰的产品。2.3.3 液位检测系统硬件的选择(1)主控元器件单片机的选择AT89C52是一个低电压、高性能CMOS八块包含8 k字节的只读,可反复CaXie闪光程序内存和256字节的数据随机存取记忆体(RAM),这种装置使用的高密度ATMEL公司生产的、非易失的存储技术,通过mcs51汇编语言指令系统emc标准一般的8位,内置的CPU和Flash存储单元AT89C52单片机,在电子行业中有着广泛的应用。AT89C52是一种高效微控制器,因为大量的嵌入式控制系统提供了一种灵活性高和低价格的计划。 (2)液晶显示器的选择液晶显示的原理(LCD)是用液晶物理特性,通过电压的显示区域控制,有电的人说这即能够显示图形。液晶显示器与厚度薄,适于大规模集成电路直接驱动技术、易于实现全彩色显示的特点,已被广泛应用于便携式电脑、数码相机、PDA移动通讯工具,等。1602字符型液晶显示模块是专门用来显示字母、数字和符号的形成与液晶显示模块,点可以显示二本线,每一行的十六个人物。4分和8位数据传输。提供5×7点阵+光标和5 X10点阵+光标显示模式。国际知名化妆品牌提供化妆品陈列DDRAM发电机数据缓存,性格和个性CGRAM CGROM发电机,可以使用CGRAM储存自己定义的8×8的5种最图形字符点阵字模数据。提供了丰富的指令集:清晰显示,光标的由来;显示开/关,光标开/关;显示字符闪烁;光标移动;转变,等等。 (3)AD转换器的选择A / D转换器件和芯片单片机实现数据采集普通的外部设备。A / D转换器性能的不同,各种数据采集系统设计中,第一次见面是如何选择合适的A / D转换器来满足系统设计要求。选择A / D转换器件需要考虑本身的质量和应用领域的需求。ADC0809 CMOS数据采集设备,因为它不但包括8逐次逼近式A / D转换器部分包括8频道转换开关和控制逻辑与微处理器兼容。8路转换开关可以直接连接八个单端输出模拟信号中的任何一个。而且价格便宜,所以有理由把它当成一个简单的数据采集系统。 本设计中用到的其它硬件元器件将在下一章中详细介绍。2.4 软件设计概要单片机应用系统的软件主要包括两大部份:用于液位自动测量系统主程序和各模块子程序。根据系统软件的总体构思,按照先粗后精的方法,把整个系统软件划分成多个功能独立、大小适当的模块。应明确规定各模块的功能,尽量使每个模块功能单一,各模块间的接口信息简单、完备,接口关系统一,尽可能使各模块间的联系减少至最低限度。最后再将各个模块连接成个完整的程序进行总的调试。在硬件设计基础上,系统软件设计工作有:利用C语言编写数据采集与控制、显示程序软件。软件模块结构框图如下:主程序初始化模块数据采集模块电机执行机构模块液晶显示模块图2-2 系统软件设计框图第三章 硬件电路原理3.1 AT89C5251系列单片机AT89C52的模型,它是由ATMEL公司生产的。是一个低电压,AT89C52单片机、高性能CMOS八设备使用高密度ATMEL公司的、非易失的存储技术的生产、emc标准一般通过mcs51汇编语言指令系统,内置8位CPU和Flash存储单元AT89C52单片机,在电子行业中有着广泛的应用。AT89C52的主要功能特点:1、 兼容MCS51指令系统2、 8k可反复擦写(大于1000次)Flash ROM;3、 32个双向I/O口;4、 256x8bit内部RAM;5、 3个16位可编程定时/计数器中断;6、 时钟频率0-24MHz;7、 2个串行中断,可编程UART串行通道;8、 2个外部中断源,共8个中断源;9、 2个读写中断口线,3级加密位;10、 低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 3.1.1 AT89C52引脚功能及管脚电压 AT89C52的引脚图如下图3-1:复织组织组织组织组织组 图3-1 AT89C52的引脚图AT89C52微处理器,一般行业标准内核在内部功能、C51单片机与管脚在总体布置和8,其主要用于相同的他妈的功能xc52会聚调整控制。答:新山东都有。C内部寄存器、数据主内存和外部接口功能,例如初始化的组件,调节控制,收集测试的汇聚,红外线遥控信号接收解码红外光谱图和主板CPU通信等。主要有:XTAL1管脚和XTAL2为输入和输出端口,外部振荡器12兆赫晶体。RST / Vpd重置,外部的输入端口电阻电容复位电路。VCC VSS电源和港口,捡起+ 5 V供电,各自的积极的和消极的。并对可编程 P3通用I / O的脚,其功能使用软件的定义。P0口:P0口并并的一组8个泄漏非常开放双向I / O口,即地址/数据总线复用口。作为输出,每一个都有能吸收现行办法开车八TTL逻辑门电路港口,并写着“1”,可作为高阻输入使用。在访问外部数据存储器或程序存储器,这组口线的时间转换地址(8)和低数据总线复用,访问期间激活在内部和抵抗。Flash编程,并在收到的指示,口字节在程序中,输出字节校准指示,检查外部和抵抗。P1口:P1口是张带内部和阻力的I / O口八双向,输出缓存可以水平TTL逻辑门4 P1驱动电路。写信给港口“1”,通过内部和耐高水平、港口,这次可使输入口。作为神经网络的输入端口使用时,由于存在和内阻,领先的脚外部信号电流输出拉低。P1.0和而不同,分别为P1.1 AT89C51单片机定时/计数器的计数输入(P1.0外部2 / T2)以及输入(P1.1 / T2EX)看表。Flash编程和程序,在接受低校准P1八个地址。 表3-1 P1.0和P1.1的第二功能 引脚号功能特性P1.0T2,时钟输出P1.1T2EX(定时/计数器2)P2 口: P2是一个有在拉扯抵抗8双向输入/输出口的内部, P2输出缓冲区也许开动(吸收或输出电流) 4 TTL逻辑门。 写端起P2 “1”,通过内部拉扯抵抗拉扯口岸到高级,这次可以做输入端,当做输入端用途,因为在内部存在拉扯抵抗时,一些别针由外部信号拉扯是低的,当将输出电流(IIL)。 当参观外部节目记忆或16个位地址的外部数据载体存贮(例如执行MOVX DPTR指示), P2口派出上流8位地址数据。 当参观8个位地址外部数据载体存贮(例如执行MOVX RI指示), P2口输出P2门闩的内容。 当一刹那编程或证明, P2口也收到高地址和某一控制信号。 P3 口:P3 口是小组有在拉扯抵抗8双向输入/输出口的内部。 P3口输出缓冲区也许开动4 TTL逻辑门。 什么时候读对P3口“1”,他们由在抵抗的内部拉扯拉扯高Bingke成就输入口岸。 这时,由外部拉扯低P3口自用途拉扯抵抗输出电流。 P3口除以外更加重要地采取一般输入/输出口,第二个作用。 P3口在推托快速记忆编程和程序检查控制信号的闪光也接受一些使用。表3-2 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器)P3.5T1(定时/计数器)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)RST:复位输入。当振荡器的工作,RST销出现两个以上高水平机器周期将使单片机复位。ALE/ PROG:当进入外部程序存储器或数据存储、啤酒(地址门闩可以输出脉冲的地址是用来锁定低八个字节。通常,啤酒还是在时钟振荡频率输出的1/6,所以固定脉冲信号可定期对外输出时钟或目的。记住:每次进入外湖广会馆部数据存储会跳过一个啤酒的脉搏。到快闪记忆体在大头针,他妈的编程是用来输入编程脉冲(PROG)。如果必要的话,可以通过对特殊功能寄存器(EH)他妈的地区的SFR八的单位D0职位,可禁止执法部门。这个职位后,只有一个MOVX指示和MOVC激活淡色啤酒。此外大头针的政府也将是虚弱,单片机的外部程序执行推,上帝应当设立无效。禁止ALEPSEN:程序存储器(PSEN)输出是允许程序内存他妈的外选择号码,当读沟通的外部程序记忆的接受指挥AT89C52(或数据),每个机器周期两个PSEN是有效的输出两个脉冲。在这个时期,当进入外部数据存储、会跳过两个PSEN信号。EA / VPP:外部访问允许的。你想要的处理器仅仅进入外部程序存储器(地址为0000 H-FFFFH)、EA端头应保持较低水平。需要注意的是:如果LB1是编程,加密调整内部将锁存EA结束状态。如果EA是高水平(带),中央处理器被执行的指令Vcc内部程序存储器。该引脚加上+12V 的编程允许电源,当然这必须是该器件是使用12V 编程电压。XTAL1 / XTAL2:振荡放大器和逆时钟发生器输入/输出终端。3.1.2 特殊功能寄存器在内部存储器,80 H-FFH AT89C52的共128个单位SFR特殊功能寄存器(),SFR地址空间不是所有的地址都被定义为,从80年H-FFH 128字节只是冰山的定义,并且相当多的未定义的。没有定义的单位,说、读、写能力将是无效的,阅读价值不会保证写的,并且数据也将丢失。数据不应该“1”的写作没有定义单位、单位的产品在未来可能会给新功能,在这种情况下,这些单位恢复数值总是“0”。除了用AT89C51单片机AT89C52的定时/计数器0和1号柜台时间外,还增加了一个定时/计数器/ 2。定时/计数器控制和国家2 a位于T2CON(见表3 - 3),T2MOD(见表3-4),)到(2 16个定时器俘获模式或16自动重负荷方式下的捕获/自动重负荷寄存器。 表3-3 定时/计数器2控制寄存器T2CONT2CON地址=0C8H 复位值=0000 0000B可寻址位TF2EXF2RCLKTCLKEXEN2TR2C/CP/76543210 Bit 符号功能TF2定时器2溢出标志,定时器2溢出时,又由硬件置位,必须由软件清0。当RTCL=1或TCLK=1时,定时器2 溢出,不对TF2置位。EXF2定时器2外部标志,当EXEN2=1,且T2EX引脚上出现捕获或重装载时,EXF2置位,申请中断。此时如果允许定时器2中断,CPU将响应中断,执行定时器2中断服务程序,EXF2必须由软件清除。当定时器2工作在向上或向下技术工作方式时,EXF2不能激活中断。RCLK接收时钟允许,RCLK=1时,用定时器2溢出脉冲作为串行口(工作于工作方式1或3)的接收时钟,RCLK=0,用定时器1的溢出脉冲作为接收时钟。TCLK发送时钟允许,TCLK=1时,用定时器2溢出脉冲作为串行口(工作于工作方式1或3)的发送时钟,TCLK=0,用定时器1的溢出脉冲作为发送时钟。EXEN2定时器2外部允许标志,当EXEN2=1时,如果定时器2未用于作串行口的波特率发生器,在T2EX端出现负跳变脉冲时,激活定时器2捕获或重装载。EXEN2=0时,T2EN端的外信号无效。TR2定时器2启动/停止控制位,TR2=1时,启动定时器2。C/定时器2定时方式或计数方式控制位。C/=0,选择定时方式。C/=1时,选择外部事件计数方式(下降沿触发)。CP/捕获/重装载选择,CP/=1时,如EXEN=1,且T2EN端出现负跳变脉冲时发生捕获操作。CP/=0时,若定时器2溢出或EXEN2=1,T2EN端出现负跳变脉冲,都会出现自动重装载操作。当RCLK=1或TCLK=1时,该位无效,在定时器2溢出时强制其自动重装载。数据存储器:AT89C52 有256 个字节的内部RAM,80H-FFH 高128 个字节与SFR地址是重叠的,也就是高128字节的RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH 以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128 字节RAM 还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2 口)地址单元。MOV 0A0H,#data间接寻址指令访问高128 字节RAM,例如,下面的间接寻址指令中,R0 的内容为0A0H,则访问数据字节地址为0A0H,而不是P2 口(0A0H)。MOV R0,#data堆栈操作也是间接寻址方式,所以,高128 位数据RAM 亦可作为堆栈区使用。定时器0和定时器1:AT89C52的定时器0和定时器1 的工作方式与AT89C51 相同。3.1.3 AT89C52片上资料定时器2:定时器2 是一个16 位定时/计数器。 它已经可以,当定时器用途,也许也采取外部事件柜台用途,它的工作由特殊功能记数器T2CON C/T2位置选择。 定时器2有三工作: 捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON 的控制位来选择,参见表3-4。 定时器2由二8记数器TH2组成,并且TL2,在定时器工作,每台机器周期TL2记数器的价值加1,因为机器周期由12振动时钟宪法,因此, oscilation频率的计数率1/12。 当计数器处在工作状态,当在T2别针外在输入信号由1到0下落生产时时,记数器的价值加1,在这工作之下,每个机器周期5SP2期间,继续采样对外在输入。 如果在第一个机器周期的采撷价值是1,但是在下个机器周期的采撷是0的价值,是在下个周期的S3P1期间记数器的以下关闭加1。 由于区别1到0跃迁需要2个机器周期,因此, oscilation频率的最高的计数率1/24。 为了保证采样准确性,请求输入级维护一个完全周期,至少在变动,至少通过抽样一次保证输入信号之前 。 表3-4 定时器2工作方式RCLK+TCLKCP/TR2MODE00116-bit Auto-reload01116-bit Capture1X1Baud Rate GeneratorXX0(off)可编程时钟输出:定时器2 可通过编程从P1.0 输出一个占空比为50%的时钟信号,如图3-6所示。P1.0 引脚除了是一个标准的I/O 口外,还可以通过编程使其作为定时/计数器2 的外部时钟输入和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz 时,输出时钟频率范围为61Hz4MHz。当设置定时/计数器2 为时钟发生器时,C/T2(T2CON .1)=0,T2OE (T2MOD.1) =1,必须由TR2(T2CON.2)启动或停止定时器。时钟输出频率取决于振荡频率和定时器2 捕获寄存器(RCAP2H,RCAP2L)的重新装载值,公式如下(3-1):输出时钟频率=振荡器频率/4*65536-(RCP2H,RCP2L) (3-1)在时钟输出方式下,定时器2 的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。定时器2 作为波特率发生器使用时,还可作为时钟发生器使用,由于波特率和时钟输出频率同使用RCAP2L和RCAP2L,波特率和时钟输出频率是不能分开确定。UART串口:AT89C52的UART 工作方式与AT89C51 工作方式相同。时钟振荡器:AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路构成并联振荡电路。对外接电容C1、C2 没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10pF。用户也可以采用外部时钟。采用外部时钟的电路如图3-2所示。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。 图3-2 振荡电路3.1.4 AT89C52的中断系统AT89C52 共有6个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定时器0、1、2)和串行口中断。这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。注意表3-5 中的IE.6 为保留位。定时器2 的中断是由T2CON 中的TF2 和EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2 或EXF2 产生中断,而由软件清除中断标志位。定时器0 和定时器1 的标志位TF0 和TF1 在定时器溢出那个机器周期的S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。而定时器2 在同一个机器周期内查询到该标志。表3-5 中断系统控制字EAET2ESET1EX1ET0EX0允许位EA=1,表示允许中断 允许为EA=0,表示禁止中断SymblePositionFunctionEAIE.7EA=0时,禁止所有中断EA=1时,各中断的允许或禁止取决于各中断控制位的状态IE.6保留位ET2IE.5定时器2中断允许控制位ESIE.4串行口中断允许控制位ET1IE.3定时器1中断允许控制位EX1IE.2外中断1中断允许控制位ET0IE.1定时器0中断允许控制位EX0IE.0外中断0中断允许控制位程序员不应将“1”写入保留位,这些位是将来AT89系列产品作为扩展用的。 3.2 LM1042液位检测器LM1042液位检测器使用热阻探针的技术来检测非可燃性液体液面高度,能提供一个正比于液位的高度的输出,可进行单次或重复测量,所有控制热阻探针、检测热阻探针的短路、开路所需要的监控电路都集成在LM1042芯片内部。此外该芯片也可以采用其它的传感器信号或线性输入作为输入信号。 该器件采用的是16脚DIP封装。芯片的主要特点有:1、集成有热阻探针的控制电路; 2、可以选择热阻或线性信号作为输入; 3、可单次测量或重复测量;4、电源或控制输入端有50V瞬态电压保护电路;5、在复位时切换,延时的功能可以避免瞬态信号的影响;6、可在4080工作温度范围工作。7、具有探针短路、开路检测的功能; 8、电源范围7.518V; 9、内部有电源调节器; LM1042的主要电气性能参数见表3-6所列 表3-6 LM1042的主要电性能参数符号参数条件最小值典型值最大值单位电源电压7.51318V电源电流35mA调节电压5.655.96.2V调节电压稳定度=13V0.5%探针电流参考电压2.10 2.252.40V锯齿波定时153142ms316ms锯齿波定时1.41.752.1s锯齿波定时稳定度5%锯齿波电阻315.0启动输入逻辑高电平1.7V启动输入逻辑低电平0.5启动输入电流=100nA启动输入电流=0V300nA最大输入电压=600-0.3-0.3最小输入电压0.2探针1增益脚7电压80-250mV10.15探针1增益非线性-202%1脚偏移5mV探针2增益脚7电压240-1.57mV3.4探针2增益非线性-20.22%7脚偏移5mV输入阻抗5M探针1输入电压范围=9-18V=7.5V1153.5VV探针1开路阀值5脚处-0.85-0.6-0.35V探针1短路阀值0.350.60.85V14脚输入泄漏电流脚14电压4V2.0nA1脚输入泄漏电流脚1电压300mV1.55.0nA重复周期=22uF9.11736s电容放电时间=22uF135ms记忆电容值0.47uF输入电容值0.47uF3.2.1 LM1042的引脚功能 液位检测芯片LM1042的引脚图如图3-3所示。各引脚功能描述如下: 图3-3 LM1042的引脚图1脚:热阻探针输入,内接放大器,在探针开始测量时被箝位到低电平;2脚:器件接地端;3脚:连接到外部PNP晶体管的发射极,为热阻探针提供200mA的固定电流,芯片内部的参考源使该端的电压维持在比电源端低2V的电平上。4脚:连接到外部PNP晶体管的基极上;5脚:接热阻探针以便对之进行开路和路检测;6脚:电源端Vs,电压范围7.518V,可承受50V的瞬时电压;7脚:第二热阻探针输入或其他线性信号输入,输入电压范围为15V,探针增益可通过10脚进行调整;8脚:探针选择与控制端。如果该端加逻辑低电平,探针1被选中并启动定时周期,随后低电平被锁定直到测量结束。在该端为低电平时,根据9脚的状态,探针1进行一次测量或重复测量;如果在探针1的测量周期外该端输入为逻辑高电平则选中探针2进行测量9脚:重复振荡器的定时电容器在该脚与地之间连接。当探针1的测量周期被启动时,2A的电流对定时电容充电,直到电压值为4.3V。如果该端接地,重复振荡器被禁止。在8脚为低电平时,只允许探针1进行一次测量;10脚:可在该端与地之间接一电阻以改变探针2的输入放大器增益。此增益在该端开时为1.2,在该端对地短路时为3.4。可通过电阻分压网络把直流偏置调整为VREG或地电平;11脚:电压调整输出,应将该端连接到15脚以构成完整的电压调整控制环路。使15脚电压保持恒定6V;12脚:在该端与地之间连接一电容,用以设定探针1测量的定时周期;13脚:在该端与地之间连接一电阻以设定12脚的充电电流,电阻值应介于3k到15k之间,典型值为12k;14脚:在该端与探针电压端11脚之间连接一具有低漏电流的电容,作为探针1测量时的记忆电容器,该电容的典型值为0.1F(不大于0.47F)