洗衣机程序c语言代码大全,全自动洗衣机控制器设计的单片机代码
#include
//****************************//
#define uchar unsigned char
#define uint unsigned int
//*******************************//
//***************************//
sbit mo_r = P3^2; //电机右控制线
sbit mo_l = P3^3; //电机左控制线
//****************************//
sbit key_menu = P3^4; // 菜单按键
sbit key_on = P3^5; // 开始按键
sbit key_off = P3^6; // 结束按键
sbit key_se = P3^7; // 菜单选择按键
//***************************//
sbit led_in = P0^0; // 进水指示灯
sbit led_xi = P0^1; // 洗衣指示灯
sbit led_pao = P0^2; // 泡洗指示灯
sbit led_xx = P0^3; // 脱水指示灯
sbit led_out = P0^4; // 出水指示灯
sbit led_over = P0^5; // 洗衣结束指示灯
sbit led_work = P0^6; // 电机工作指示灯
sbit led_wring = P0^7; // 报警指示灯
sbit other = P3^1; // 脱水电源控制开关
sbit anther = P3^0; // 洗衣电源控制开关
//******************************//
uchar code num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//
//*****************************//
char sec = 0; // 时间秒
char min = 0; // 时间分
uchar count=0; // 中断计数
uchar flag0=0; // 洗衣机工作状态标志
uchar flag1=0; // 进水次数标志
uchar flag2=0; // 出水次数标志
uchar flag3=0; // 泡洗次数标志
uchar err =0; // 报警标志
uchar quan = 0;//正反转计数
//**********************************//
// 函数声明
//*************************************//
void delay();// 延时函数
void in(); // 进水子程序
void out(); // 出水子程序
void over(); // 结束子程序
void xi(); // 洗衣子程序
void pao(); // 泡衣子程序
void xx(); // 脱水子程序
void on(); // 工作on处理子程序
void se(); // 显示菜单选择
void SEG_display(); //显示时间子程序
void key_scan(); // 按键扫描子程序
//*****************************//
// 延时函数
//****************************//
void delay(uint i)
{
uint x,y;
for(x=i;x>0;x--)
for(y=120;y>0;y--);
}
//******************************//
// 工作on处理子程序
//********************************//
void on()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
P0 = 0xff;
if(flag0 == 0)
in();
if(flag0 == 1)
xi();
if(flag0 == 2)
pao();
if(flag0 == 3)
xx();
if(flag0 == 4)
out();
}
//*******************************//
// 结束子程序
//*********************************//
void over()
{ other=0;
anther=0;
P0 = 0xff;
mo_r=0;
mo_l=0;
led_over = 0;
EA=0;
}
//*********************************//
// 进水子程序
//*********************************//
void in()
{ anther=0;
other=0;
P0 = 0xff;
led_in = 0;
flag1++;
mo_r = 0;
mo_l = 0;
min = 0;
sec = 8;
}
//*********************************//
// 洗衣子程序
//*********************************//
void xi()
{ anther=1;
other=0;
P0 = 0xff;
led_work = 0;
led_xi = 0;
mo_r = 1;
mo_l = 0;
min = 1;
sec = 36;
quan = 0;
}
//*********************************//
// 泡衣子程序
//*********************************//
void pao()
{
anther=1;
other=0;
P0 = 0xff;
led_pao = 0;
led_work = 0;
flag3++;
mo_r = 1;
mo_l = 0;
min = 1;
sec = 35;
quan = 0;
}
//*********************************//
// 脱水子程序
//*********************************//
void xx()
{ other=1;
anther=0;
P0 = 0xff;
led_xx = 0;
mo_r = 0;
mo_l = 1;
min = 0;
sec = 50;
}
//*********************************//
// 出水子程序
//*********************************//
void out()
{ anther=0;
other=0;
P0 = 0xff;
led_out = 0;
flag2++;
mo_r = 0;
mo_l = 0;
min = 0;
sec = 5;
}
//*********************************//
// 显示菜单选择
//*********************************//
void se()
{
P0 = 0xff;
if(flag0 >= 5)
flag0 = 0;
if(flag0 == 0)
{
led_in = 0;
}
if(flag0 == 1)
{
led_xi=0;
}
if(flag0 == 2)
{
led_pao=0;
}
if(flag0 == 3)
{
led_xx=0;
}
if(flag0 == 4)
{
led_out=0;
}
}
//********************************//
// 菜单处理子程序
//**********************************//
void menu()
{
min = 0;
sec = 0;
mo_r=0;
mo_l=0;
SEG_display();
while(1)
{
if(key_on == 0)
{
delay(5);
if(key_on == 0)
{
while(!key_on);
on();
break;
}
}
//**************************//
if(key_off == 0)
{
delay(5);
if(key_off == 0)
{
while(!key_off);
over();
break;
}
}
//****************************//
if(key_se == 0)
{
delay(5);
if(key_se == 0)
{
while(!key_se);
flag0++;
se();
}
}
}
}
//*********************************//
// 按键扫描子程序
//*********************************//
void key_scan()
{
if(key_menu == 0)
{
delay(5);
if(key_menu == 0)
{
while(!key_menu);
menu();
}
}
//********************************//
if(key_on == 0)
{
delay(5);
if(key_on == 0)
{
while(!key_on);
on();
}
}
//*********************************//
if(key_off == 0)
{
delay(5);
if(key_off == 0)
{
while(!key_off);
over();
}
}
}
//*******************************//
// 显示子程序
//*********************************//
void SEG_display()
{
P1=0x01;
P2 = num[min/10];
delay(10);
P1 = 0x02;
P2 = num[min%10];
delay(10);
P1 = 0x04;
P2 = num[sec/10];
delay(10);
P1 = 0x08;
P2 = num[sec%10];
delay(10);
}
//*********************************//
// 主函数
//*********************************//
void main()
{
led_in=0;
anther=0;
other=0;
while(1)
{
SEG_display();
key_scan();
}
}
//**********************************//
// 定时器0中断处理程序
//**********************************//
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;
if(count==20)
{
count = 0;
sec--;
if((flag0==1)||(flag0==2))
{
quan++;
switch(quan)
{
case 1:mo_r=1;mo_l=0;break;
case 10:mo_r=0;mo_l=0;break;
case 15:mo_r=0;mo_l=1;break;
case 25:mo_r=0;mo_l=0;break;
default:;
}
if(quan==30)
{
quan=0;
}
}
//**********************************//
if((sec == 0)&&(min != 0))
{
min--;
sec = 59;
}
//**********************************//
if((sec<0)&&(min==0)&&(flag0==0)) //进水结束
{
switch(flag1)
{
case 1:flag0=1;xi();break;
case 2:flag0=2;pao();break;
case 3:flag0=2;pao();break;
case 4:flag0=2;pao();break;
default: err=1;led_wring = 0;
}
}
//**********************************//
if((sec<0)&&(min==0)&&(flag0==1)) //洗衣结束
{
flag0 = 4;
out();
}
//**********************************//
if((sec<0)&&(min==0)&&(flag0==2)) //泡衣结束
{
switch(flag3)
{
case 1:flag0=4;out();break;
case 2:flag0=4;out();break;
case 3:flag0=4;out();break;
default: err=1;led_wring = 0;
}
}
//**********************************//
if((sec<0)&&(min==0)&&(flag0==4)) //出水结束
{
switch(flag2)
{
case 1:flag0=0;in();break;
case 2:flag0=0;in();break;
case 3:flag0=0;in();break;
case 4:flag0=3;xx();break;
default: err= 1;led_wring = 0;
}
}
//***********************************//
if((sec<0)&&(min==0)&&(flag0==3))
{ sec = 0;
over();
}
}
}
洗衣机程序c语言代码大全,全自动洗衣机控制器设计的单片机代码相关推荐
- 洗衣机程序c语言代码大全,采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文资料.doc...
深 圳 大 学 本 科 毕 业 论 文(设计) 题目: 基于单片机设计的全自动 洗衣机控制器 姓名: 郑嘉泽 专业: 电子信息工程 学院: 信息工程学院 学号: 2009130099 指导教师: 李霞 ...
- 口袋妖怪c语言代码大全,口袋妖怪漆黑的魅影金手指代码大全
口袋妖怪漆黑的魅影金手指代码大全 2013-10-29 11:53:51来源:互联网编辑:评论(0) 口袋妖怪漆黑的魅影金手指代码大全 如果你是安卓版的,打开菜单,点击金手指列表输入金手指,电脑版的打 ...
- html代码大全(很全的)_5行Python代码就能爬取 3000+ 上市公司的信息?
前言 入门爬虫很容易,几行代码就可以,可以说是学习 Python 最简单的途径. 刚开始动手写爬虫,你只需要关注最核心的部分,也就是先成功抓到数据,其他的诸如:下载速度.存储方式.代码条理性等先不管, ...
- wordvba编程代码大全_面向对象、设计原则、设计模式、编程规范、重构
面向对象.设计原则.设计模式.编程规范.重构 面向对象 主流的三个编程风格有:面向对象,面向过程,函数式编程. 面向对象是最主流的风格,面向对象具有丰富的特性(封装,抽象,继承,多态). 面向对象 面 ...
- 简单代码大全_VBA爱好者请进:VBA代码宝概述
VBA 代码宝是 ExcelHome 出品的共享工具类软件之一. 虽然 Office 软件本身已经足够强大,但仍然有很多特色功能,需要使用 VBA 来进行定制开发.无论是VBA小白还是经验丰富资深开发 ...
- 万圣节html代码大全,方舟生存进化249万圣节新版本代码大全分享
类型:修改器(游戏工具)大小:4.3M语言:中文 评分:10.0 标签: 立即下载 方舟生存进化万圣节版本已经更新了,各位玩家有没有去更新呢,这次大的更新也是更新了不少的东西,下面小编就来给大家介绍一 ...
- python代码大全心形盒子简单_python心形代码
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 之前看到python一行代码就可以在控制台打印心形,感觉非常神奇,昨天突然想起来 ...
- java编程代码大全_掌握Java编程技巧,代码重构
代码重构在不改变软件系统外部行为的前提下,改善它的内部结构,通过调整程序代码改善软件的质量.性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性. 代码重构目标 持续纠偏和改进软件设计 随 ...
- 代码大全和新月神话_神话般的代码
代码大全和新月神话 考虑以下代码段: int max = 10; int a = 0; while (true) {// do a thing that may result in an early ...
最新文章
- 反向域名解析的用途,如何设置?
- 《剑指Offer》——二维数组中的查找(JZ1)C++
- range python 3.6 type class_Python 3.6 有什么新特性
- php忘记密码啦怎么办,后台账号密码忘记了怎么办.
- 力扣--36有效的数独
- Asp.net MVC3 RTM的源代调试
- linux下iptables详解
- Swift - 实现tableView单选系统样式
- 苹果怎么滚动截屏_30个小技巧,带你感受苹果系统到底有多好用
- 计算机无法验证签名,计算机中win10/win7无法验证文件数字签名的解决方法
- UE4 Material 101学习笔记——08-12 凹凸和视差贴图/纹理压缩/布料/体积冰/摇曳树叶
- Spring Data Redis 让 NoSQL 快如闪电(2)
- 15个Android流行框架
- python初学-爬取网页数据
- 科沃斯擦窗机器人向上走不动_ECOVACS 科沃斯 W830 解决高空擦玻璃的难处
- 【从0到1搭建LoRa物联网】4、国产LoRa终端ASR6505普通GPIO
- python 汉字和字节序列转换,汉字编解码
- 2022-2028全球与中国汽车空调电动变换部件市场现状及未来发展趋势
- 李鬼见李逵——我用翟天临的论文做了分析
- 卸载jdk 卸载不干净怎么办
热门文章
- uni保存canvas图片_UniApp 用canvas生成图片保存本地
- 大牛的学习笔记:步进电机驱动在3D打印应用
- 前端开发遇到 STATUS_BREAKPOINT
- taobao.trades.sold.get-查询卖家已卖出的交易数据(根据创建时间),淘宝店铺卖出订单查询API接口,淘宝R2接口,淘宝oAuth2.0交易接口代码分享
- c语言素数筛法与分解素因数,质因数分解及代码:
- 使用 Vue 和 Electron 开发一款简单的 Markdown 编辑器
- ospfdr选举规则_OSPF如何选举DR/BDR规则
- 深度分析网络游戏运营手段
- 3w最简单led灯电路图_一款简单实用的LED灯驱动电路
- 基于springboot的茶叶销售商城网站