资源简介
智能水位控制系统,高水位抽水,低水位进水,同时伴随警报系统,高报警与低报警跟随,水位档位可以通过数码管显示1-4之间。
代码片段和文件信息
//水位0报警,加营养液 水位1,低水位,加营养液 水位2正常水位,无需动作
//水位3高水位3高水位,抽水 水位4,警戒位,抽水 p1.3接继电器3 p1.4接继电器4
#include //52系列头文件
#include
#define uchar unsigned char //宏定义uchar
#define uint unsigned int //宏定义uint
uchar flagwei;
sbit D=P2^0;
sbit C=P2^1;
sbit b=P2^2;
sbit A=P2^3;
sbit led1=P1^0; //低水位指示灯
sbit led2=P1^1; //正常水位指示灯
sbit led3=P1^2; //高水位指示灯
//sbit jdq=P1^4; //继电器控制IO口
sbit beep=P3^4; //蜂鸣器控制IO口
sbit jdq1=P1^3; //继电器控制IO口水位低加水。3停止
sbit jdq2=P1^4; //继电器控制IO口水位高降水.3停止
uchar code table[]=
{
0xc00xf90xa40xb00x99
0x920x820xf80x800x90
}; //共阳数码管段码表 没有小数点 0~9
void delay(uchar z) //延时函数
{
uchar ab;
for(a=z;a>0;a--)
for(b=110;b>0;b--);
}
void didi() //滴滴声音
{
beep=0; //蜂鸣器响
delay(100); //延时
beep=1; //蜂鸣器关
delay(100); //延时
}
void shuiwei() //水位检测部分
{
if(A==1&&b==1&&C==1&&D==1) //ABCD都为高电平 水位为4
{
wei=4;
jdq1=1; //低水位停止加水
jdq2=0; //高水位抽水
}
if(A==0&&b==1&&C==1&&D==1)
{
wei=3;
jdq1=1; //低水位停止加水
jdq2=0; //高水位抽水
}
if(A==0&&b==0&&C==1&&D==1)
{
wei=2;
jdq1=1; //低水位停止加水
jdq2=1; //高水位停止抽水
}
if(A==0&&b==0&&C==0&&D==1)
{
wei=1;
jdq1=0; //低水位加水
jdq2=1; //高水位停止抽水
}
if(A==0&&b==0&&C==0&&D==0)
{
wei=0;
jdq1=0; //低水位加水
jdq2=1; //高水位停止抽水
}
}
void kongzhi()
{
if(wei<1) //当前水位显示1
{
led1=0; //低水位灯亮
led2=1; //正常水位灯不亮
led3=1; //高水位灯不亮
flag=0; //准备进入上升状态
didi(); //滴滴报警
}
if((flag==0)&&(wei>=1)&&(wei<4)) //水位 正常 水位上升状态
{
led1=1; //低电平指示灯灭
led2=0; //正常水位灯亮
led3=1; //高水位灯灭
beep=1; //蜂鸣器不报警
}
if((flag==1)&&(wei>=1)&&(wei<4)) //水位 正常 水位下降状态
{
led1=1; //低水位灯灭
led2=0; //正常水位指示灯亮
led3=1; //高水位指示灯灭
beep=1; //蜂鸣器不报警
}
if(wei>=4) //水位超限
{
flag=1; //准备进入下降状态
led1=1; //低水位指示灯灭
led2=1; //正常水位指示灯灭
led3=0; //高水位指示灯亮
didi(); //报警
}
}
void main() //主函数
{
while(1)
{
shuiwei(); //水位监测部分
kongzhi(); //控制
P0=table[wei]; //对应数码管显示
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-09-09 09:13 水位程序\
目录 0 2017-09-09 09:13 水位程序\程序 keil软件打开\
文件 6376 2009-05-07 14:37 水位程序\程序 keil软件打开\STARTUP.A51
文件 14050 2016-10-02 23:35 水位程序\程序 keil软件打开\STARTUP.LST
文件 749 2016-10-02 23:35 水位程序\程序 keil软件打开\STARTUP.OBJ
文件 5233 2016-10-02 23:36 水位程序\程序 keil软件打开\main
文件 5953 2016-10-02 23:36 水位程序\程序 keil软件打开\main.LST
文件 8579 2016-10-02 23:36 水位程序\程序 keil软件打开\main.M51
文件 5219 2016-10-02 23:36 水位程序\程序 keil软件打开\main.OBJ
文件 2684 2016-10-02 23:45 水位程序\程序 keil软件打开\main.c
文件 770 2016-10-02 23:36 水位程序\程序 keil软件打开\main.hex
文件 56 2016-10-02 23:36 水位程序\程序 keil软件打开\main.lnp
文件 184 2017-03-08 21:40 水位程序\程序 keil软件打开\main.plg
文件 70642 2017-03-24 13:41 水位程序\程序 keil软件打开\main.uvgui.Administrator
文件 5991 2017-03-24 13:41 水位程序\程序 keil软件打开\main.uvopt
文件 13943 2017-03-24 13:41 水位程序\程序 keil软件打开\main.uvproj
文件 56192 2016-10-02 23:45 水位程序\程序 keil软件打开\main_uvopt.bak
文件 0 2014-09-19 15:48 水位程序\程序 keil软件打开\main_uvproj.bak
评论
共有 条评论