-
大小: 44KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-08-07
- 语言: 其他
- 标签:
资源简介
基于51单片机的全自动洗衣机控制系统(完整程序、注释和Proteus仿真)【验证过】
代码片段和文件信息
//有电机
/*****头文件****/
#include
//数据类型宏定义
#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 5 //4min*60s
#define T_PaiShui 60 //1min*60s
//管脚定义都是低有效,因LED是灌电流,而PNP也是低电平时导通
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_AnQuan = P3^6; //安全开关,水位、盖
//数据定义
uchar flag_SEL_ChengXu; //默认为标准程序,
bit flag_SEl_QiangRuo; //默认为强洗,1为弱洗
bit flag_Run; //运行标志,1为运行
bit flag_ZanTing; //暂停标志,1为暂停
bit flag_JinShui; //进水标志,1为进水
bit flag_PaiShui; //排水标志,1为排水
bit flag_XiDi; //置洗涤标志
bit flag_PiaoXi; //置漂洗标志
bit flag_TuoShui; //脱水标志
bit flag_BaoJing; //报警标志
uchar T_S; //定时总时间
uchar _50ms; //每50ms加一次的变量
uchar s; //秒
void Delay(uchar t1uchar t2) //延时程序
{ for(;t1;t1--)
for(;t2;t2--);
}
void Pin_Init(void) //管脚初始化程序
{ LED_BiaoZhun = 0; //默认为标准程序,灯亮
LED_JingJi = 1; //经济程序显示灯,灭
LED_DanDu = 1; //单独程序显示灯,灭
LED_PaiShui = 1; //排水程序显示灯,灭
LED_QiangXi = 0; //默认为强洗状态,灯亮
LED_RuoXi = 1; //弱洗状态灯,灭
LED_XiDi = 1; //洗涤状态灯,运行后灯亮
LED_PiaoXi = 1; //漂洗状态灯,运行后灯亮
LED_TuoShui = 1; //脱水状态灯,运行后灯亮
PIN_BaoJing = 1; //报警喇叭,不叫
PIN_JinShui = 1; //进水控制,关
PIN_PaiShui = 1; //排谁控制,关
PIN_Motor_A = 1; //电机脚A,不走
PIN_Motor_B = 1; //电机脚B,不走
}
void ExInt_Init(void) //中断初始化程序
{ IT0 = 1;
EX0 = 1;
IT1 = 1;
EX1 = 1;
}
void Timer0_Init(void) //定时器0初始化程序
{ TMOD = TMOD | 0X01; //定时方式1
TH0 = 0X3C; //50ms
TL0 = 0XB0;
ET0 = 1;
TR0 = 1;
}
/*
void Timer1_Init(void) //定时器1初始化程序
{ TMOD = TMOD | 0X10; //定时方式1
TH1 = 0X3C; //50ms
TL1 = 0XB0;
ET1 = 1;
TR1 = 1;
}
*/
void int0(void) interrupt 0 //外部中断0程序为运行或者暂停
{ static bit int0_first = 1;
if(!p32)
{ Delay(8250); //延时10ms左右,去抖动
if(!p32)
{ if(int0_first) //第一次
{ int0_first = 0; //清第一次进中断0标志
flag_Run = 1; //置运行标志
flag_JinShui= 1; //置进水标志
LED_XiDi = 0; //洗涤状态灯,运行后灯亮
LED_PiaoXi = 0; //漂洗状态灯,运行后灯亮
LED_TuoShui = 0; //脱水状态灯,运行后灯亮
PIN_JinShui = 1; //进水控制,启动
Timer0_Init(); //初始化定时器0并启动之
T_S = T_JinShui; //赋进水时间限制值
}//end if(flag_first)
els
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 137672 2008-03-27 11:39 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\基于89C51的全自动洗衣机控制系统V1.0.DSN
文件 7262 2008-03-24 15:59 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\工程文件\C 文件\3_24_1.C
文件 7876 2008-03-24 16:59 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\工程文件\C 文件\3_24_2.c
文件 8716 2008-03-25 17:47 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\工程文件\C 文件\3_25.c
文件 11910 2008-03-26 14:29 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\工程文件\C 文件\3_26.c
文件 12580 2008-03-26 16:03 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\工程文件\C 文件\3_26_1.c
文件 12758 2008-03-27 11:42 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\工程文件\C 文件\xiyiji_V1_0.C
文件 1999 2008-03-24 17:13 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\工程文件\wqy.Uv2
文件 12612 2008-03-26 16:16 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\工程文件\X_XX.C
目录 0 2008-11-29 11:56 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\工程文件\C 文件
目录 0 2008-11-29 11:56 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】\工程文件
目录 0 2008-11-29 12:09 基于51单片机的全自动洗衣机控制系统(完整程序和Proteus仿真)【验证过】
----------- --------- ---------- ----- ----
213385 12
- 上一篇:图书管理系统面向对象分析.doc
- 下一篇:基于时频重排多分量辐射源信号分析研究
评论
共有 条评论