储罐液位系统设计_第1页
储罐液位系统设计_第2页
储罐液位系统设计_第3页
储罐液位系统设计_第4页
储罐液位系统设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、储罐液位系统设计组员:李媛媛、刘璐、李盼菲、赵文贤、冯雪、王凤、樊颖、司秀娟硬件系统设计核心:单片机 89s52片外扩展:8KB RAM存储器6264,I/O口扩展8155转换器:ADC0809,DAC0832锁存器等:74HC373,74H377,74HC245和3-8译码器74HC138输入/输出部件:6个LED,4个按键89S52的RD及PSEN用与门接在一起后送入6264的OE端,使得 6264既可以作为数据存储器,也可以作为程序存储器。各芯片片选地址分配如下工作过程液位信号(电压值)从ADC0809的IN0引脚输入,A/D转换后存储。液位给定值由键盘设定,与液位信号比较得出偏差值。若

2、超限,则报警,LED4现实P,同时以P1.0驱动报警器,以P1.1驱动蜂鸣器。按达林算法计算控制器的输出值。输出值经D/A转换得到模拟电压值并输出。液位信号的电压值经标度转换后,变为液位值存储,送LED显示。6个LED显示如图a所示。LED5显示H或L,LED4为超限指示,LED3LED0显示液位值,LED1数码管加小数点,显示范围为000.0999.9。 显示器与键盘设置LED5 LED4 LED3 LED2 LED1 LED0 H 1 9 9. 5键盘设定液位的高低报警限。采用4键方式,4个按键的功能如图b所示。显示与键盘循环扫描,无键按下时,LED显示实时液位,右键按下时,进入液位报警限

3、的修改。先按选择键方可进入修改,先按其他3个键无效。进入修改状态后,待修改的显示位LED5闪动,按+或-键可循环选择H或L,同时后4位LED显示对应的液位值。按确认件后调到下一个待修改的显示为LED3并闪动,按+或-键循环修改09数字,再按确认键调到下一位置,如此进行,知道4个数字修改完毕后退出修改状态。在修改状态时,若不按确认键,则8秒后退出修改状态。从视觉舒适的角度考虑,数字应为每0.4秒闪动一次。 显示器与键盘设计 选择+-确定软件系统设计数据采集:A/D转换,采样周期为10s。数字滤波:采用5个数平均滤波法。标度转换:将液位变送器的标准电压信号转换为液位值。动态显示:动态循环显示。键盘

4、扫描:读键值并判断功能。控制计算:达林算法。控制输出:D/A转换。报警处理:超过高、低报警器限时驱动报警灯及蜂鸣器。A/D转换,采样周期为10秒#include reg51.h#include Absacc.h#define STARTAD XBYTE0 x7F00#define ADRESULT XBYTE0 x7F08sbit ADBUSY = P33;void Delay() unsigned char i; for(i=0; i100; i+);unsigned char AD0809(void) unsigned char result; STARTAD = 0; /启动 AD wh

5、ile(ADBUSY = 1); /等待转换结束 Delay(); result = ADRESULT; return result; /返回转换结果void A_D(void) unsigned char ADV;/变量 while(1) ADV = AD0809(); Delay(); /设置断点 对于采样周期为10秒,我们采用了中断TH0=0 x3c;TL0=0 xb0;EA=1;ET0=1;TR0=1;Void timer0() TH0=0 x3c; THL0=0 xb0; num+; if(num=200) num=0; A_D(); 平均值滤波法#define N 5char fi

6、lter() char count; int sum = 0; for ( count=0;countN;count+) sum + = get_ad(); delay(); return (char)(sum/N);标度转换 头文件:height.h#include #include #define g 10float q,a,h,p,s,r;float ADC(float q,a,s,r);void main()floatADC( );printf(%d,h);float ADC(float q,r,a,s,r)h=(q*r)/(r*a*s+1);return (h);动态循环显示#inc

7、lude reg52.h#define uchar unsigned char sbit CLK=P36;sbit A1=P25;sbit A2=P26;sbit A3=P27;uchar aa;uchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71,0;void display_delay() uchar a; uchar b; for(a=100;a0;a-) for(b=100;b0;b-);void display()

8、 CLK=0; while(CLK=1) if(A1=1 & A2=1 & A3=1) P0=0 x7f; else if(A1=1 & A2=1 & A3=0) P0=tableaa; display_delay(); CLK=0; while(CLK=1) if(A1=1 & A2=1 & A3=1) P0=0 xbf; else if(A1=1 & A2=1 & A3=0) P0=tableaa; display_delay(); CLK=0; while(CLK=1) if(A1=1 & A2=1 & A3

9、=1) P0=0 x20; else if(A1=1 & A2=1 & A3=0) P0=tableaa; display_delay(); CLK=0; while(CLK=1) if(A1=1 & A2=1 & A3=1) P0=0 x10; else if(A1=1 & A2=1 & A3=0) P0=tableaa; display_delay(); CLK=0; while(CLK=1) if(A1=1 & A2=1 & A3=1) P0=0 x04; else if(A1=1 & A2=1 & A3=0

10、) P0=tableaa; display_delay(); CLK=0; while(CLK=1) if(A1=1 & A2=1 & A3=1) P0=0 x02; else if(A1=1 & A2=1 & A3=0) P0=tableaa; 键盘扫描#include#include#define uint unsigned int#define uchar unsigned charsbit S1=P00;sbit S2=P01;sbit S3=P02;sbit S4=P03;sbit HSET=P04;sbit LSET=P05; /*延时程序设计*/

11、void delay10ms(void)unsigned char i,j,k;for(i=5;i0;i-)for(j=4;j0;j-)for(k=248;k0;k-);/*键盘扫描程序设计*/uchar kscan(void) uchar x1, x2; KEY_IO =255; x1 = KEY_IO; if (x1 != 255) delay(100);/*延时以消除抖动*/ x2 = KEY_IO; if (x1!= x2) return 255; while(x2!=255) x2 = KEY_IO; if (x1=0 xfe) P2=0 xfb; DISPLAY(H); /*默认首

12、先显示高位值*/if(x1=0 xbf) DISPLAY(L); while (x1=0 xf7) P2=0 xf7;DISPLAY();if(x1=0 xfd) AA+;else if(x1=0 xfb) AA-;P2=0 xfb;while(x1=0 xf7)DISPLAY();if(x1=0 xfd) AA+;else if(x1=0 xfb) AA-; P2=0 xfd;while(x2=0 xf7)DISPLAY();if(x1=0 xfd) AA+;else if(x1=0 xfb) AA-; if(P2=0 xfe)DISPLAY();if(x1=0 xfd) AA+;else

13、if(x1=0 xfb) AA-;else if(x1=0 xf7) A/D() ; return 255;达林算法#include float e=0,1,2,3,4,5,6,7,8,9;float u(int k)if(k=0)return 0;elsereturn(0.9355*u(k-1)+0.0645*u(k-6)+0.8377*ek-0.8054*ek-1);D/A转换#includesbit wr=P36;sbit A1=P25;sbit A2=P26;sbit A3=P27;void D_A()A1=1;A2=1;A3=0;wr=0;报警处理#include#define uchar unsigned char#define uint unsigned intsbit SPK=P10;sbit LED=P11;sbit K1=P12;void Alarm(uchar t)u

温馨提示

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

评论

0/150

提交评论