找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1072|回复: 2
打印 上一主题 下一主题
收起左侧

环保公厕蹲坑控制器 景区公共场合蹲坑控制器程序及其源代码分享

[复制链接]
跳转到指定楼层
楼主






*********************************************************************
程序,描述:)按下启动按钮,y1四个220V输出,y2一个24V负输出,
两个同步工作延时3秒断开y3闭合延时3秒断,y4闭合延时2秒断开。这是一个
循环计数,当循环50次后y5闭合5秒断开。自动工作完成。默认模式,优先级
别,5秒内连续按5次触发y4y5闭合10秒断开。节水便器控制器,要求防水防
潮,引线快接插头,220供电。
*********************************************************************/

#include<STC15W408AS.h>
#define uchar unsigned char//宏定义无符号字符型
#define uint unsigned int  //宏定义无符号整型
sbit IN1 = P3^2;                        /*S1*/


sbit COM1 = P1^1;                  /*output1*/
sbit COM2 = P1^0;                  /*output2*/
sbit COM3 = P3^3;                  /*output3*/
sbit COM4 = P5^5;                  /*output4*/
sbit COM5 = P5^4;                  /*output5*/
bit  bz1=0;
bit  bz2=0;
bit  bz3=0;
bit  bz4=0;
bit  bz5=0;
bit  bz6=0;
bit  bz7=0;
bit  bz8=0;
uchar dsbz=0;
uchar sj1=0;
uchar sj2=0;
uchar sj3=0;
uchar sj4=0;
uchar sj5=0;
uchar sj6=0;
uchar sj7=0;
uchar sj8=0;

bit sjbz1=0;
bit sjbz2=0;
bit sjbz3=0;
bit sjbz4=0;
bit sjbz5=0;
bit sjbz6=0;
bit sjbz7=0;
bit sjbz8=0;
uchar bjz=0;

uchar xhcs=0;//循环次数
bit qdbz=0;//启动标志
bit kzbz=0;

/********************************************************************
                            初始定义
*********************************************************************/
uint sec; //定义计数值,每过1/10 秒,sec 加一
uchar keycnt=0;//按下次数值
uint tcnt; //键值判断


/********************************************************************
                            延时函数
*********************************************************************/
void delay(uchar dat)//延时程序
{
uchar m,n,s;
for(m=dat;m>0;m--)
for(n=2;n>0;n--)
for(s=18;s>0;s--);
}

void xuze()
{
if((P12==1)&&(P13==1)&&(P14==1)&&(P15==1)){bjz=1;}//0秒   15
if((P12==0)&&(P13==1)&&(P14==1)&&(P15==1)){bjz=10;}//1秒   14
if((P12==1)&&(P13==0)&&(P14==1)&&(P15==1)){bjz=20;}//2秒   13
if((P12==0)&&(P13==0)&&(P14==1)&&(P15==1)){bjz=30;}//3秒   12
if((P12==1)&&(P13==1)&&(P14==0)&&(P15==1)){bjz=40;}//4秒   11
if((P12==0)&&(P13==1)&&(P14==0)&&(P15==1)){bjz=50;}//5秒   10
if((P12==1)&&(P13==0)&&(P14==0)&&(P15==1)){bjz=60;}//6秒  9
if((P12==0)&&(P13==0)&&(P14==0)&&(P15==1)){bjz=70;}//7秒  8
if((P12==1)&&(P13==1)&&(P14==1)&&(P15==0)){bjz=80;}//8秒  7
if((P12==0)&&(P13==1)&&(P14==1)&&(P15==0)){bjz=90;}//9秒 6
if((P12==1)&&(P13==0)&&(P14==1)&&(P15==0)){bjz=100;}//10秒 4
if((P12==0)&&(P13==0)&&(P14==1)&&(P15==0)){bjz=110;}//11秒 4
if((P12==1)&&(P13==1)&&(P14==0)&&(P15==0)){bjz=120;}//12秒 3
if((P12==0)&&(P13==1)&&(P14==0)&&(P15==0)){bjz=130;}//13秒 2
if((P12==1)&&(P13==0)&&(P14==0)&&(P15==0)){bjz=140;}//14秒 1
if((P12==0)&&(P13==0)&&(P14==0)&&(P15==0)){bjz=150;}//15秒 0
}
/********************************************************************

*********************************************************************/
void main()                                  
{
           TMOD=0x02; //定时器工作在方式2
        TH0=0x06; //对TH0 TL0 赋值
        TL0=0x06;
        TR0=1; //开始定时
        ET0=1;
        EA=1;
        sec=0;
   while(1)
{
//xuze();
if((IN1==0)&&(bz1==0)){delay(20);if((IN1==0)&&(bz1==0)){keycnt++;sj3=0;bz1=1;}}
if((IN1==1)&&(bz1==1)){delay(20);if((IN1==1)&&(bz1==1)){bz1=0;}}
}               
}
/********************************************************************
                            定时中断服务函数
*********************************************************************/
void t0(void) interrupt 1 using 0 //定时中断服务函数
{
tcnt++; //每过250ust tcnt 加一
if(tcnt==400) //计满400 次(1/10 秒)时
{
tcnt=0; //重新再计
if(keycnt>0)
{
sj2++;
sj3++;if(sj3==12){sj3=0;if(qdbz==0){COM1=0;COM2=0;qdbz=1;tcnt=0;sec=0;sj1=0;xhcs=0;}}
if(sj2==50){if(keycnt<5){keycnt=0;sj2=0;}}
if(keycnt>=5){COM1=1;COM2=1;COM3=1;COM4=0;COM5=0;tcnt=0;sec=0;sj1=0;xhcs=0;}
if(sj2==150){if(keycnt>=5){COM4=1;COM5=1;sj2=0;qdbz=0;keycnt=0;}}
}
if(qdbz==1)
{
if(xhcs<51)
{
sec++;
if(sec==30){{COM1=1;COM2=1;COM3=0;}}
if(sec==60){{COM3=1;COM4=0;}}
if(sec==80){{COM4=1;COM1=0;COM2=0;xhcs++;if(xhcs>=51){COM1=1;COM2=1;}sec=0;}}
}
if(xhcs>=51)
{
COM5=0;
sj1++;{if(sj1>=5) {COM1=1;COM2=1;COM5=1;sj1=0;qdbz=0;}}
}
}       
}
}
/********************************************************************
                              结束
*********************************************************************/

ZXC-003 环保公厕蹲坑控制器配套程序.rar

44.38 KB, 下载次数: 16, 下载积分: 黑币 -5

ZXC-003 环保公厕蹲坑控制器原理图.pdf

78.92 KB, 下载次数: 11, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:468878 发表于 2023-8-31 14:59 | 只看该作者
图文并茂,高质量文章
回复

使用道具 举报

板凳
ID:689425 发表于 2023-8-31 18:44 | 只看该作者
好贴,程序很详细,有原理图,必须顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表