51单片机洗衣机控制板及C语言程序

标签:
51单片机c语言源程序 |
分类: 单片机 |
#include
'reg51.h'
#define
uchar
unsigned
char
#define
uint
unsigned int
#define
Enable();
EA=1;
#define
Disable();
EA=0;
#define
BIAOZHUN
0
#define
JINGJI
1
#define
DANDU
2
#define
PAISHUI
3
#define
QIANGXI
0
#define
RUOXI
1
#define
T_JinShui
240
//4min*60s
#define
T_PaiShui
60
//1min*60s
#define
T_XiDi
360
//6min*60s
#define
T_PiaoXi_1
240
//4min*60s
#define
T_PiaoXi_2
120
//2min*60s
#define
T_TuoShui
120
//2min*60s
#define
ZHENGZHUAN
0
#define
STOP
1
#define
FANZHUAN
2
#define
ZhengZhuan();
PIN_Motor_A
= 0; PIN_Motor_B = 1;
#define
Stop();
PIN_Motor_A
= 1; PIN_Motor_B = 1;
#define
FanZhuan();
PIN_Motor_A = 1; PIN_Motor_B =
0;
#define
ZanTing();
ET0 = 0; ET1 = 0;
Stop();
#define
JiXu();
ET0 = 1;
ET1 = 1;
#define
flag_Ok
(flag_JinShui||flag_PaiShui||flag_XiDi||flag_PiaoXi||flag_TuoShui)
sbit
LED_BiaoZhun
=
P1^0;
//标准程序显示灯
sbit
LED_JingJi
=
P1^1;
//经济程序显示灯
sbit
LED_DanDu
=
P1^2;
//单独程序显示灯
sbit
LED_PaiShui
=
P1^3;
//排水程序显示灯
sbit
LED_QiangXi
=
P1^4;
//强洗状态灯
sbit
LED_RuoXi
=
P1^5;
//弱洗状态灯
sbit
LED_XiDi
=
P1^6;
//洗涤状态灯
sbit
LED_PiaoXi
=
P1^7;
//漂洗状态灯
sbit
LED_TuoShui
=
P2^0;
//脱水状态灯
sbit
PIN_BaoJing
=
P2^1;
//报警喇叭
sbit
PIN_JinShui
=
P2^2;
//进水控制
sbit
PIN_PaiShui
=
P2^3;
//排谁控制
sbit
PIN_Motor_A
=
P2^4;
//电机脚A
sbit
PIN_Motor_B
=
P2^5;
//电机脚B
sbit
K_SEL_ChengXu
=
P3^0;
//选择程序键
sbit
K_SEL_QiangRuo
=
P3^1;
//选择强弱键
sbit
p32
=
P3^2;
//
sbit
p33
=
P3^3;
//
sbit
SW_ShuiWei
=
P3^6;
//水位开关
sbit
SW_AnQuan
=
P3^7;
//安全开关
void Programme_PaiShui(void);
uchar
flag_SEL_ChengXu;
//默认为标准程序,
bit
flag_SEl_QiangRuo;
//默认为强洗,1为弱洗
bit
flag_Run;
//运行标志,1为运行
bit
flag_JinShui;
//进水标志,1为进水
bit
flag_PaiShui;
//排水标志,1为排水
bit
flag_XiDi;
//置洗涤标志
bit
flag_PiaoXi;
//置漂洗标志
bit
flag_TuoShui;
//脱水标志
bit
flag_BaoJing;
//报警标志
uchar
_50ms;
//每50ms加一次的变量
uint
s;
//秒
uint
T_S;
//定时总时间
uchar
T_Motor;
//电机控制时间
void Delay_10ms(uint T1)
{
uint t1,t2;
}
void Pin_Init(void)
{
LED_BiaoZhun
=
0;
//默认为标准程序,灯亮
}
void ExInt_Init(void)
{
IT0
=
1;
}
void Timer0_Init(void)
//其中没ET0是为以后控制暂停用的
{
TMOD
=
TMOD |
0X01;
//定时方式1
}
void Timer1_Init(void)
//其中没ET1是为以后控制暂停用的
{
TMOD
=
TMOD |
0X10;
//定时方式1
}
void T_Motor_Ctl(uchar t1,uchar t2,uchar t3)
{
if(!flag_SEl_QiangRuo)//强洗
}
void Motor_Init(void)
{
ZhengZhuan();
}
void No_BaoJing(void)
{
flag_BaoJing= 0;
//置报警标志
}
void int0(void) interrupt 0
{
}
void BaoJing(void)
{
flag_BaoJing= 1;
//置报警标志
}
void Ok_Timer(void)
{
s = 0;
}
void Motor(void)
{
static uchar s_Motor;
}
void Timer0(void) interrupt 1
{
}//end Timer0()
void int1(void) interrupt 2
{
if(!p33)
}
void Timer1(void) interrupt 3
{
static uchar _50ms;
//每50ms加一次的变量
}
void SEL_ChengXU(void)
{
if(!K_SEL_ChengXu)
//程序选择键
}//END
void SEL_QiangRuo(void)
{
if(!K_SEL_QiangRuo)
//强弱选择键
}
void JinShui(void)
{
PIN_JinShui = 0;
}
void PaiShui(void)
{
PIN_PaiShui = 0;
}
void XiDi(void)
{
flag_XiDi = 1;
}
void PiaoXi(uchar t)
{
flag_PiaoXi = 1;
}
void BaoHu_GaiKai(void)
{
if(SW_AnQuan)
//盖开
}
void TuoShui(void)
{
flag_TuoShui = 1;
}
void Programme_BiaoZhun(void)
{
LED_XiDi
= 0;
//洗涤状态灯
}
void Programme_JingJi(void)
{
TR1 = 0;
}
void Programme_DanDu(void)
{
LED_XiDi
= 0;
//洗涤状态灯
}
void Programme_PaiShui(void)
{
LED_XiDi
= 1;
//洗涤状态灯
}
void main()
{
}
前一篇:倒车雷达_超声波测距源程序
后一篇:51单片机CO2检测显示程序资料