基于单片机的液位控制系统设计_第1页
基于单片机的液位控制系统设计_第2页
基于单片机的液位控制系统设计_第3页
基于单片机的液位控制系统设计_第4页
基于单片机的液位控制系统设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要液位智能监控系统是现在生产生活中必不可少的部件,它的性能和工作质量的优良不仅对生产有着巨大的影响,而且也关系着生产的安全。近年来随着计算机在社会领域的渗透,单片机的应用不断走向深入,同时带动传统控制检测日新月益。基于单片机的液位测量装置具有测量准确、重复性好、功耗低、使用寿命较长的特点,是广泛采用的技术。在基于单片机的液位测量装置基础上,扩展实时监控、数据采集、计算机串行通信等功能,从而能够通过科学的方法将液位测量应用在工业、经济、生活等领域。 本文从硬件和软件两方面来讲述液位自动控制过程。在控制过程中,以单片机为核心控制部件,并通过数码管显示液位高度。软件的设计采用模块化结构,使程序设

2、计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。最终实现了液位的实时测量与监控。最后,本文总结了设计过程中出现的问题及解决方法。【关键词】单片机,液位测量,控制,实时监控1AbstractThe intelligent control system is now the production and life of the essential components of its performance and quality of the good work for more than a great influence, and also relations with the pro

3、duction safety. In recent years, with the computer penetration in the social field, the application of SCM is to keep at the same time, traditional control testing update on Crescent benefits. The liquid level measurement device base on MCU is widely used because of many characteristics such as high

4、 measurement accuracy, good repeatability, low power consumption and long useful time.Beyond the liquid level measurement device based on MCU, expand the functions of real-time monitoring, data acquisition, serial communication. Through the new functions, the scientific method of the liquid level me

5、asurement could be widely used in industry, economy, life and other fields.In this paper, both hardware and software for automatic control of the liquid level on the process. In the control of mainly through the single-chip microcomputer as the core control components, and through digital display of

6、 a digital liquid level. Software using assembly language for programming, so that the implementation of Directive speed, to save storage space. In order to facilitate the expansion and changes to the design of modular software structure, so that the logic of the relationship between program design

7、more concise, Hardware software co-operation under the control of it. Ultimately achieved the level of real-time measurement and monitoring. Finally, the paper summarizes the problems and solutions of the design process, describes briefly the method of data processing.【Keywords】MCU,Liquid Level Meas

8、urement, Control,Real-time monitor目 录一 、绪论 .11.1 引言 .11.2 课题背景与研究意义.11.3 本课题主要研究内容 .2二、系统设计方案 .32.1 基本功能及要求分析 .32.2 系统设计方案的选择 .3三、 硬件电路设计 .53.1 AT89C51 单片机简介 .53.2 复位电路及时钟电路 .73.3 传感器的选用 .83.4 A/D 转换电路的设计 .93.4.1 ADC0809 主要信号引脚的功能 .103.4.2 ADC0809 与 AT89C51 单片机的连接 .113.5 按键设计 .123.5.1 按键去抖.123.5.2 独

9、立式键盘接口电路.133.6 显示单元硬件设计 .133.7 存储单元硬件设计.153.8 通信单元硬件设计 .173.9 继电器电路设计 .18四 、系统软件设计 .204.1 系统软件及主程序设计 .204.1.1 系统软件编译开发环境.204.1.2 系统主程序流程图.204.2 系统初始化.214.3 各模块软件设计 .214.3.1 按键部分软件设计.214.3.2 显示模块的软件设计.234.3.3 A/D 转换模块软件设计 .234.3.4 电机控制模块软件设计.244.3.5 时间模块软件设计.25五、结 论 .27参考文献 .28致 谢 .29附 录 .30 一 、绪论1.1

10、 引言随着微电子工业的迅速发展, 1976 年单片机的推出为电子电路设计提供了新的思路,也促进了模拟电路向数字电路发展的历程。它在一片芯片上集成了完整的计算机系统。单片机控制的智能型控制器广泛应用于电子产品中,与不同类型的传感器相结合,实现诸如电压、功率、频率、湿度、流量、速度、厚度、压力、温度等物理量的测量;在家用电器设备中,单片机已广泛用于电视机、录音机、电冰箱、电饭锅、微波炉、洗衣、高级电子玩具、家用防盗报警等各种家电设备中。在计算机网络和通信、医用设备、工商、金融、科研、教育、国防、航空航天等领域都有着十分广泛的应用1。单片机自问世以来,性能不断提高和完善,体积小、速度快、功耗低的特点

11、使它的应用领域日益广泛。一般,工业控制系统的工作环境差,干扰强,利用单片机控制就能克服这些缺点,因此单片机在控制领域得到广泛的应用,使用单片机控制液体液位是很好的选择。液位控制一般指对某一液位进行控制调节,使其达到所要求的控制精度。液位控制系统是以液位为被控参数的控制系统,它在工业生产的各个领域都有广泛的应用。如在建材行业中,玻璃窑炉液位的稳定对窑炉的使用寿命和产品的质量起着至关重要的作用。液位的自动控制,是近年来新开发的一项新技术,它是微型计算机软件、硬件、自动控制等几项技术紧密结合的产物。11.2 课题背景与研究意义在工农业生产中,常常需要测量液体液位。随着国家工业的迅速发展,液位测量技术

12、被广泛应用到石油、化工、医药、食品等各行各业中。单片机智能控制器,使学生有了更深层次的了解。综合分析后选择了由单片机控制的智能液位控制器作为一个研究项目,充分激发学生分析问题和解决问题通过培训和知识的综合应用的潜力。在教学和科学研究,也经常遇到需要液位控制实验装置。此外,上村的液位控制水塔水位控制、污水处理设备和有毒、腐蚀性液体液位控制得到了广泛的应用。在工业生产过程中,有很多地方需要对容器内的介质进行液位控制,使之高精度地保持在给定的数值,工程作业采用的是微机控制和原有的仪表控制,微机控制有以下明显优势。(1)直观而集中的显示各运行参数,能显示液位状态;(2)在运行中可以随时方便的修改各种各

13、样的运行参数的控制值,并修改系统的控制参数,可以方便的改变液位的上限、下限;(3) 具有水体控制过程的自动化处理以及监控软件良好的人机界面,操作人员在监控计算机上能根据控制效果及时修运行参数,这样能有效地减少工人的疲劳和失误,提高生产过程的实时性、安全性。本设计基于AT89C51单片机,包括测量电路部分、AD转换部分、键盘输入控制部分、液位实时数显输出部分以及液位控制部分(原理图中不涉及) ,还可在此基础上添加报警器(不涉及) 。1.3 本课题主要研究内容本设计以水箱供水为模型,设计以单片机为基础的液位测量监控记录系统。具有实时液位测量监控数据处理等功能。设计具体内容分为以下几个方面:(1)系

14、统硬件电路设计; (2)画出电路方框图,叙述主要模块的功能及他们之间的控制关系和数据传输;(3)系统软件设计。编制相应的控制程序,用C语言进行编译并调试。 2二、系统设计方案 2.1 基本功能及要求分析本设计是采用AT89C51单片机为核心芯片,及其相关硬件来实现的液位控制系统,在用液位传感器测液位的同时, CPU循环检测传感器输出状态,并用3位七段LED显示液位高度,检测液位数据,实施报警安全提示,当水体液位低于用户设定的值时,系统自动打开泵上水,当水位到达或高于设定值时,系统自动关闭水泵或打开排水泵。有以下几点基本要求:(1)要求能够实现较高精度的测量;(2)以单片机AT89C51为基础,

15、设计外围电路;(3)电路设计,包括AD转换模块、数显模块、键盘输入模块; (4)对测量电路的各种精度指标进行测试(非线性误差、重复性、滞后、灵敏度、抗侧向能力大小、温变对灵敏度的影响等指标)。2.2 系统设计方案的选择液位控制方法有很多,主要有两种类型和被广泛应用,一种是简单的机械控制装置的控制,一种是复杂的控制器控制模式。两种方法的实现如下: (1)简单的机械控制方式。常用的形式一个浮标类型和电极式,这种控制的优点是结构简单,成本低。问题是精度不高,不能进行数字显示,此外,它很容易引起误操作,只能单独控制,与电脑是难以实现。 (2)复杂的控制器控制模式。这种控制方式是通过压力传感器安装在泵出

16、口管、出口压力成标准的工业电气模拟信号,经前置放大器和多通道开关、A / D 转换成数字信号发送给单片机,单片机操作和给定参数的比较,PID 算法,得出调整参数;通过 D / A 转换调节电压/频率控制装置对于一个给定的输入,来控制输出电压的变化,来调整电机转速,以达到控制水位的目的。鉴于上述两种控制方式,和设计满足性能要求,选择第二种控制方式,同时,考虑到成本需要删除PID控制。最终的解决方案是形式,利用单片机为控制核心,设计一个系统来监测水箱水位。根据监测对象的特性,实时检测的要求水箱液位高度,并开始集数据比较,采用单片机控制固态继电器打开调整水平,最终实现水平集点。如果值高于上限3值,报

17、警,断开继电器,控制水泵停止;如果读数低于下限值,报警,打开继电器来控制泵上水。现场实时显示测量值,从而实现水位监测,原理流程图如图2-1所示。图 2-1 原理流程图传感器P0 P1AT89C51 P2 P3AD 转换器键盘控制量输入其他控制P3&0 x3c数据显示&0 x3c液体变量模拟量4三、 硬件电路设计3.1 AT89C51 单片机简介AT89C51 是一种带 4K 字节 FLASH 存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。AT89C51

18、 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。 单片机可擦除只读存储器可以抹去反复 100000 次。该设备采用 ATMEL 高密度非易失存储器制造技术,和行业标准的 MCS - 51 指令集和输出管兼容。由于多功能 8 位 CPU 和闪存在单一芯片,ATMEL AT89C51 单片机的结合是一种有效的和微控制器 AT89C51 的精简版本2。AT89C51 为许多嵌入式控制系统提供了一个高灵活性和低价格。外形及引脚排列如图 3-1 所示。图 3-1 AT89C51 引脚图a) VCC:供电电压。b) GND:接地。P0口:P0口是一个8位双向I/O端口。作为输出,每个可以驱动八个

19、TTL逻辑电平。写“1”,为P0端口用作高阻抗输入。当访问外部程序和数据存储器,P0口低8地址/数据重用。在这种模式下,P0内部上拉电阻。在FLASH编程中,P0口还用于接收指令字节,例行检查,输出字节顺序。例行检查,需要外部上拉电阻。P1:P1口是一个内部上拉电阻8位双向I/O端口,P1输出缓冲区可以驱动四个TTL逻辑水平。P1端口写“1”,此时内部上拉电阻的端口,可以作为一个输入端口。当用作输入、外部拉销由于内部阻力,输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的5外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体如下所示:在FLA

20、SH编程和校验时,P1口接收低8位地址字节。引脚号第二功能:P1.0/T2 (定时器/计数器T2的外部计数输入),时钟输出P1.1/T2EX (定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5, P1.6, P1.7 (在系统编程用)P2口:P2口是一个内部上拉电阻8位双向I / O端口,P2输出缓冲区可以驱动四个TTL逻辑水平。P2端口写“1”,此时内部上拉电阻的端口,可以作为一个输入端口。当用作输入、外部拉销由于内部阻力,输出电流(IIL)。在访问外部程序存储器或16位地址读取外部数据存储器(如执行MOVX)、P2口发出高八地址。在这个应用程序中,P2使用强大的内部上拉发送1口。

21、在使用8位地址(如MOVX)访问外部数据存储、P2的内容输出P2门闩。在FLASH编程和校准,P2口也得到高8位地址字节和一些控制信号3。P3口:P3口是一个内部上拉电阻8位双向I / O端口,P3输出缓冲区可以驱动四个TTL逻辑水平。P3写“1”,这次内部上拉电阻的端口,可以作为一个输入端口。当用作输入、外部拉销由于内部阻力,输出电流(IIL)。P3口也被用作AT89C51特殊功能使用。P3.0 RXD(串行输入口)c) P3.1 TXD(串行输出口)d) P3.2 /INT0(外部中断0)e) P3.3 /INT1(外部中断1)f) P3.4 T0(记时器0外部输入)g) P3.5 T1(

22、记时器1外部输入)h) P3.6 /WR(外部数据存储器写选通)i) P3.7 /RD(外部数据存储器读选通)j) P3口同时为闪烁编程和编程校验接收一些控制信号。RST复位输入。当振荡器工作时,在RST引脚加两个机器周期以上的高电平来使单片机复位。ALE/PROG当访问外部程序存储器和数据存储器,ALE(地址锁存器允许)输出的脉6冲用于锁低 8 个字节的地址。在 FLASH 编程,引入编程脉冲。在正常时期,ALE 结束周期在恒频输出脉冲信号,此频率是振荡器频率的 1/6。注意:当访问外部数据内存会跳过脉冲。闪存编程时,还用于输入脉冲编程。如果有必要,可以基于特殊功能寄存器(SFR)单位 8E

23、H 单元中的 D0 的位置,可以禁止 ALE 操作。位置之后,啤酒只有在执行 MOVX MOVC指令是 ALE 才行。此外, 该引脚会被微弱拉高,单片机执行外部应用程序,应设置 ALE禁止位无效4。PSEN程序存储允许(PSEN)输出的外部程序存储器读取控制信号,当以AT89S52由外部程序存储器取指令(或数据),每台机器周期PSEN有效两次,两个脉冲输出,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问只允许CPU访问外部程序内存(地址是0000 h FFFFH),EA结束必须保持低水平(地面)。注意:如果加密LB1是编程,将重置时内部锁存EA端状态。EA端为高电

24、平,CPU执行内部程序存储指令。闪存编程,当然,这必须的是使用12 v电压Vpp编程。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.2 复位电路及时钟电路 复位电路的基本功能是:提供一个复位信号时,系统电源,直到电力系统稳定后,撤销复位信号。为目的的可靠、稳定的电源由一个特定的时间延迟,直到取消复位信号后,在这种情况下,电源开关或电源插头造成的抖动和影响的过程中恢复。图1所示的RC复位电路可以实现上述基本功能,图3为其输入-输出特性。但解决不了电源毛刺(A点)和电源缓慢下降(电池电压不足)等问题 而且改变RC常数延时会令驱动能力变差电路,如图

25、3-2所示。7图 3-2 复位电路及时钟电路上图中网络标号RST连接单片机RST引脚,具有上电复位与手动复位的功能;XTAL1与XTAL2连接单片机XTAL1和XTAL2引脚,且并联两个30pF匹配电容使晶振起振。由于单片机P0口作普通I/O口时不能输出高电平,因此需接上拉电阻,实际电路中,使用8*10K电阻作为上拉电阻。3.3 传感器的选用 压力传感器是工业实践中最为常用的一种传感器,其广泛应用于各种工业自控环境,涉及水利水电、铁路交通、智能建筑、生产自控、航空航天、军工、石化、油井、电力、船舶、机床、管道等众多行业,压力传感器是工业实践中最为常用的一种传感器,一般普通的压力传感器输出为模拟

26、信号,模拟信号是指信息参数在给定范围内表现为连续的信号。 或在一段连续的时间间隔内,其代表信息的特征量可以在任意瞬间呈现为任意数值的信号。而我们通常使用的压力传感器主要是利用压电效应制造而成的,这样的传感器也称为压电传感器5。电阻应变片的工作原理:金属电阻应变片的工作原理是吸附在基体材料上应变电阻随机械形变而产生阻值变化的现象,俗称为电阻应变效应。金属导体的电阻值可用下式表示:式中:金属导体的电阻率(cm2/m)8S导体的截面积(cm2)L导体的长度(m)我们以金属丝应变电阻为例,当金属丝受外力作用时,其长度和截面积都会发生变化,从上式中可很容易看出,其电阻值即会发生改变,假如金属丝受外力作用

27、而伸长时,其长度增加,而截面积减少,电阻值便会增大。当金属丝受外力作用而压缩时,长度减小而截面增加,电阻值则会减小。只要测出加在电阻的变化(通常是测量电阻两端的电压),即可获得应变金属丝的应变情。k) 其引脚分布如图3-3所示。1脚为信号输出();2脚为信号输出();3脚为激励电压;4脚为地;5脚为信号输出(+);6脚为信号输出(+)。l)l) 在水箱底部安装1根直径为5 mm的软管,一端安装在水箱底部;另一端与传感器连接。水箱水位高度发生变化时,引起软管内气压变化,然后传感器把气压转换成电压信号,输送到AD转换器。图 3-3 SY-9411L-D 引脚图3.4 A/D转换电路的设计 m) 本

28、次课程设计使用AD转换器件是ADC0809,ADC0809是8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,它的转换时间为100s左右,选用为28引脚的双列直插式封装的ADC0809芯片,其引脚分布如图3-4。9n)图 3-4 ADC0809 引脚图3.4.1 ADC0809主要信号引脚的功能o) IN7IN0模拟量输入通道p) ALE地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。q) START启动信号转换。上升沿开始,重置ADC0809;引导ROM开始下降,开始A / D转换,期间的A / D转换,一开始就应该保持低电平。有时简写

29、为ST。r) CLK时钟信号。ADC0809里面没有时钟电路,外部世界提供的时钟信号,所以有一个时钟信号。通常使用的时钟信号频率为500KHz。s) A、B、C地址线。 选择通道端口线,A为低地址,C为高地址,在引脚图中就为ADDA,ADDB和ADDC。t) D7D0数据输出线。为三态缓冲输出形式,能和单片机的数据线直接相连。其中D0为最低位,D7为最高位。u) EOC转换结束信号。EOC置0,进行转换;EOC置1,转换结束。使用时该状态信号即能作为查询的状态标志,也可以作为中断请求信号使用。v) OE输出允许信号。用来控制三态输出锁存器向单片机输出转换得到的数据。OE置0,输出数据线呈高阻态

30、;OE置1,输出转换得到的数据。w) Vcc +5V电源。10Vref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V). 设计满偏电压为5V,则VREF辅助参考电压为5V/2=2.5V,在10%的误差范围内,无需过分苛刻参考电压的电压源,由于系统中DC5V供电,采用两只相同阻值电阻分压,便能近似得到2.5V的参考电压。系统中使用 10K 电阻与 150pF 电容组成 RC 振荡电路,根据技术手册计算公式: (3-KHzRCfclk606)( 1 . 111)其振荡频率约为606kHz,满足芯片要求。另外,以压

31、阻式压力传感器为模型,压阻式压力传感器阻值变化与液位的高度是成正比的,因此需要将电阻值转换为电压值匹配A/D转换器。常用的阻抗-电压转换法如欧姆法。由于被测阻抗两端电压正比于被测电阻,可把被测阻抗转换为电压测量。即 (3-2)xNxRaIU式中,是转化电压,恒定电流,为被测电阻,为比例系数。因此,液位高度xUNIxRa的变化同样正比于输入电压,故而A/D转换器输出的数据正比于液位高度。为了简化设计调试过程,使用系统内部5V电压作为模拟输入,VIN(-)直接接地,通过接入传感器分压将阻抗转换为电压信号,接入电位器可实现模拟输入6。3.4.2 ADC0809与AT89C51单片机的连接x) 电路连

32、接主要涉及两个问题。一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。ADC0809与AT89C51单片机的连接图如图3-5。11(2)图 3-5 ADC0809 与 AT89C51 单片机的接线图3.5 按键设计键盘作为单片机应用系统中的一个重要部件,它可以实现向单片机系统输入数据、发送命令等功能,是人工干预单片机的主要手段。3.5.1 按键去抖a) 通常键用于机械灵活切换,当机械接触打开,关闭,如下图电压很小。由于机械弹性接触的影响,当按键开关关闭不稳定时,不要突然断开连接。因此在关闭和打开的瞬间都伴随着一系列的抖动,如下图所示。握手的时间长度由按键的机械性能,一般为5 10

33、毫秒。b) 稳定的按钮关闭时间长度取决于操作人员的按钮,一般为零几秒几秒。键抖动将导致多次按钮是一种误读。确保CPU的闭键只是处理,必须删除关键帧。读键关闭稳定状态和判别关键发布进一步处理后必须保持稳定。键抖动,两种方法可用,硬件或软件。c) (1)硬件消抖:在按键数比较少的情况下时可用硬件方法消除抖动。如图3-6所示。12d)图 3-6 RS 触发器硬件消抖e) 在两个与非门组成RS触发器。按钮没有按下时,输出为1;键按下时,输出为零。此时使用机械性能的按钮,使键由于弹性抖动瞬时断开跳(抖动)B,按钮不返回到原始状态,双稳态电路状态不改变,保持零输出,不会产生波形的抖动。也就是说,即使B点电

34、压波形是颤抖,但双稳态电路后,定期输出矩形波。这一点通过分析RS触发器的工作过程容易验证。f) (2)软件消抖:如果按钮,常用软件握手,即检测的关键执行延迟程序关闭后,5 10毫秒的延迟女士,让前沿抖动消失后再测试状态,如果你仍然保持密切国家水平,被认为是一个真正的按键。当他们测试按钮被释放,也想给5 10毫秒的延迟,女士保持沿抖动消失转向处理程序的关键7。3.5.2 独立式键盘接口电路考虑到本设计实际需要的按键较少,故采用独立式键盘接口电路。它是将每个独立按键按一对一的方式直接接到单片机的I/O口上,通过程序扫描查询方式实现与单片机系统交互。在程序查询方式下,通过I/O端口读入按键状态,当有

35、按键按下时,相应的I/O端口变为低电平,而未被按下的按键在上拉电阻作用下为高电平,这样通过读I/O口的状态判断是否有按键按下。如图3-7所示,S2S5便是控制显示用的按键。其作用就是通过按动它们实现对高13低警戒液位的设置。具体来说,S3、S4分别实现数字的增一与减一,S2、S5则作为高低警戒液位的模式选择和确认键。图 3-7 系统按键电路3.6 显示单元硬件设计在显示单元上,使用了74LS273带公共时钟复位八位触发器与74LS47共阳极BCD显示译码驱动芯片,两个芯片的管脚图如图3-8。74LS273与74LS47引脚功能说明:74LS273:1脚是复位CLR,低电平有效,当1脚是低电平时

36、,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出图 3-8 74LS273 及 74LS47 引脚图140,即全部复位;当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上。74LS47上BI/ROB,LI,RBI引脚为控制引脚,主要用于测试和脉冲控制,均为低电平有效,设计上不适用此项功能,因此均接

37、高电平。A0A3是BCD输入,分解74LS273输出的高、低四位。ag用于共阳极数码管的相应管脚的连接。根据以上的设计思路,设计电路图如图3-9。15图 3-9 显示部分电路图3.7 存储单元硬件设计存储模块的硬件设计比较简单,由于 AT89C51 单片机为数据线与低 8 位地址线复用,需要使用地址锁存芯片 74LS373。上文中已叙述,使用 32KRAM 作为存储芯片,因此选用与 51 系列兼容的 62256 随机数据存储器8。该模块中使用的两个芯片管脚功如图 3-10 所示。在 62256 中,A0A14 管脚为地址总线,共 15 位,寻址范围可达到32kB;I/O0I/O7 为 8 位三

38、态双向数据接口;Vcc,Vss 为电源和地;CS 是片选接口,低电平有效;OE/WE 分别是读选通和写选通数据输入输入线,低电平有效。62256 分别是 32 K8 的高集成度的随机存取存储器,有 28 个引脚,采用双列直插式结构,62256 的引脚分布如图 3-10 所示。它们的内部结构与 6264 类似,也是由存储器阵列、行列地址译码器以及数据输入输出控制逻辑组成。引脚功能和外部特性与 6264 基本相同,区别仅在于由于容量大,第 26 引脚为 A13 第 1 引脚为 A14。1674LS373 引脚位置和功能与 74LS273 差异不大,区别在于其 1 脚是输出使能(OE) ,是低电平有

39、效,当 1 脚是高电平时,不管输入 3、4、7、8、13、14、17、18如何,也不管 11 脚(锁存控制端,G)如何,输出 2(Q0) 、5(Q1) 、6(Q2) 、9(Q3) 、12(Q4) 、15(Q5) 、16(Q6) 、19(Q7)全部呈现高阻状态(或者叫浮空状态) ;当 1 脚是低电平时,只要 11 脚(锁存控制端,G)上出现一个下降沿,输出2(Q0) 、5(Q1) 、6(Q2) 、9(Q3) 、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚 3、4、7、8、13、14、17、18 的状态。74LS273 也可以作为地址锁存器来用,作锁存器时,对 273 来说

40、,1(CLR)脚必须接高电平,ALE 信号经过反相后接 11 脚(因为单片机的 ALE 信号是以下降沿方式出现)对 373 来说,1 脚接低电平,保证使能,11脚直接接单片机的 ALE 信号。按照常规的连接方法设计电路图 3-11 如示。图 3-11 存储的单元电路3.8 通信单元硬件设计MAX485仅有8个管脚,电路设计比较简单,如图3-12。图 3-10 62256 引脚图17 RO 引脚接到单片机串口接收引脚 RXD(P3.0) ,DI 引脚接到单片机串口发送引脚TXD(P3.1) 。由于 MAX485 为半双工通信方式,不能同时发送接收数据,只能通过控制RE 和 DE 引脚的状态来进行

41、发送数据和接收数据的转换。为了节省单片机 I/O 口资源,将 RE 和 DE 引脚连在一起,输入低电平时,MAX485 处于接收状态;输入高电平时,其处于发送数据状态。定义 RE 和 DE 连接在一起的网络标号为 E,接入单片机 P1 口,用于发送与接收的转换。A,B 端为发送接收差分信号端,一般需在 A,B 端之间加匹配电阻,匹配电阻为 120,硬件电路如图 3-13。图 3-13 串行通信模块电路图3.9 继电器电路设计由于使用单片机I/O口的驱动电流较弱,不满足继电器吸合电流参数的要求,需使用三极管驱动继电器吸合。设计电路如图3-14。图 3-12 MAX485 引脚图18图 3-14

42、继电器部分电路图为了防止电源尖峰脉冲引发的噪声干扰以及高频信号线间的耦合干扰,在电源入口处及芯片顶端或底端,接入去耦电容,以增强系统的稳定性。电源指示灯设计如图3-15。图 3-15 电源指示灯电路图19四 、系统软件设计4.1 系统软件及主程序设计4.1.1 系统软件编译开发环境C语言是一种编译型程序设计语言。它兼顾了多种高级语言的特点,并具备汇编语言的功能。用C语言来编写目标系统软件,会大大缩短开发周期,增加软件的可读性,便于改进和扩充。用C语言进行51系列单片机程序设计是单片机开发与应用的必然趋势。KEIL C51开发工具套件可用于汇编C语言程序、汇编源程序,链接和定位目标文件和库,创建

43、HEX文件以及调试目标程序。本设计使用KEIL C51 Vision4为开发编译环境,使用C语言编写程序,实现各模块功能设计9。4.1.2 系统主程序流程图主程序流程图如图4-1所示开始设定液位上下限值,给定初值是否低于给定值模拟量输入及 AD 转换数显输出测量值高于上限是否开启水阀测量值低于下限结束启动报警取消报警关闭水阀否启动报警取消报警开启水阀否204.2 系统初始化该模块在系统上电开机时将系统端口、数据存储区、标志位、指针、地址等赋予有含义的值。具体分为以下几个模块列表描述,见表4-1表4-1 初始化参数及含义模块变量/端口初始值功能adRD/P1.31A/D转换芯片数据读入控制,初始

44、为不读入adWR/P1.40A/D转换芯片转换控制,初始为停止E/P1.50通信接收发送控制,初始为接收DIS/P1.60显示数据锁存控制,初始为保持控制端口初始化RELAY/P1.71继电器控制,初始状态为断开TMOD0 x22单片机片内定时/计数器工作在方式二SCON0 x40串行口为8位UART工作方式TH10 xf4TL10 xf4波特率设置为4800bpsIE0禁止定时器中断TR11启动定时器波特率发生器初始化REN1允许串行口接收数据sec0 x00min0 x00hr0 x00date0 x01mon0 x01day0 x06时间初始化year0 x11初始化系统时间为2011年

45、1月1日0时0分0秒星期六其中sec,min,hr,date,mon,day,year依次为秒、分、时、日、月、星期、年xmark0 x7531数据存储状态标志字节指针numtab0 x0001数据存储区指针uplq0 xCF高液位警戒高度,初始值数据参数初始化downlq0 x10低液位警戒高度,初始值初始化过程中,调用A/D转换模块获得首次液位数据,并显示,完成初始化工作4.3 各模块软件设计4.3.1 按键部分软件设计本文采用了独立式键盘,即每个按键单独占用一根口线。在程序查询方式下,通过I/O端口读入按键状态,当有按键按下时,相应的端口变为低电平,这样通过读入I/O口状态判断是否有按键

46、按下。查询式键盘的程序流程图4-2。图4-1 主程序流程图21下面给出键盘扫描的主程序,其分支程序省略。void judge_key(void)uchar Key_value=0;Key_value=P3&0 x3c; /*读取键值*/switch(Key_value)case 0 x38:delay(30000); /*调用延时子程序*/if(Key_value=(P3&0 x3c) /*进行判断按键是否为干扰*/manage_key2();break; /*调用子函数*/else break;case 0 x1c:delay(30000);if(Key_value=(P3&

47、amp;0 x3c)manage_key5();break;键盘管理程序入口Key_value=P3&0 x3c是否有按键按下调用延时程序Key_value=P3&0 x3c调用相应子程序是否图 4-2 键盘程序流程图22else break;default:break;4.3.2 显示模块的软件设计本文使用了静态锁存显示,先对显示数据进行处理后再进行锁存控制。在硬件电路设计中使用的是74LS273芯片锁存数据。当在ALE输入信号的下降沿到来时锁存信号,因此首先给控制引脚高电平,延迟几个时钟周期待信号稳定时,P0口输出处理后的数据,同样延迟几个时钟周期待信号稳定后,给控制引脚置低电平,数据锁存,显示就输出10。现将液位显示部分程序简略如下:display()DIS=0;_nop_();_nop_();_n

温馨提示

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

评论

0/150

提交评论