简单洗衣机控制基于单片机优选材料Word格式.docx
- 文档编号:15866716
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:20
- 大小:451.95KB
简单洗衣机控制基于单片机优选材料Word格式.docx
《简单洗衣机控制基于单片机优选材料Word格式.docx》由会员分享,可在线阅读,更多相关《简单洗衣机控制基于单片机优选材料Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
对于程序的编写可以采用单片机或PLC(就目前所学而言),而对于这样一个简单的小程序就采用单片机即可。
5.方案设计说明;
(在充分调研、思考的基础上确定电路方案并说明理由。
画出电路的系统框图,说明系统框图的原理。
一开始看到这个题目我就打算使用单片机来完成本设计,因为单片机使用方便,只需一个最小系统即可,在宿舍就可完成对程序的编写和修改,而PLC价格昂贵且不能随时可用。
就本项目采用单片机而言需要一个单片机最小系统,思维数码管及驱动,一组LED和按键。
系统框图:
通过对八个按键的操作,可对水位设置,洗衣时间设置,开始洗衣,水位确定。
四位数码管可显示水位的设置值,洗衣时间设置值,还有洗衣时间计时等。
六个LED有两个表示洗衣机波轮的正反转,两个进水和排水,一个脱水,一个洗衣指示灯。
通过编写程序实现单片机对按键,四位数码管和发光二极管的控制。
启动
开进水阀进水
是否达到设定水位
关进水阀
正转5秒
停止3秒
反转5秒
是否达到设定时间
开排水阀
脱水1分钟
水是否放完
停止脱水
关排水阀
结束
否
系统流程图:
6.单元设计说明;
(按项目的具体要求撰写,没有可不写。
单片机最小系统:
系统框图:
MCU
(AT89C51)
复位电路
时钟电路
输入/输出
设备
电源
最小系统电路图:
7.完整电路原理分析;
(按项目的具体要求撰写)
通过单片机扫描水位设置按键和洗衣时间设置按键来设置水位和洗衣时间在四位数码管上显示设置的值和计时时间。
进水阀指示灯亮表示进水阀已打开,正转和反转指示灯亮表示洗衣机波轮的正转和反转。
脱水阀亮表示脱水阀已打开可以排水。
8.制作、调试情况;
(如实介绍,重点介绍制作、调试过程中遇到的问题和解决问题的方法)
在制作,调试中遇到了许多大大小小的问题,在这选一些较为重要的写出。
1.在焊接完单片机最小系统进行调试时指示灯不会亮,也不能下载程序,经过几番检查发现指示灯正负接反,单片机引脚焊点有虚焊点。
2.编写好程序进行调试时,四位数码管不能正常显示,经检查发现共阳的数码管使用了共阴的数码管编码。
3.在调试程序中,发现四位数码管显示较暗且有闪烁,经多次调试,将数码管显示程序写在定时器中断函数里,发现结果好多了。
4.在测试程序中发现按键不起作用,检查了程序和硬件电路发现按键连接的是地,而程序写的高电平接通。
改了下程序结果就出来了。
9.实训成果;
(如实介绍实训成果的情况)
八个按键从左到右的作用:
按键1水位设置和洗衣时间设置切换选择,按键2和按键3是加减数值,按键4是启动,按键5按键6按键7按键8是表示水位的零水位和高中低水位。
10.心得体会:
通过本次实训,收获颇多,感觉自己有进步了一点,许多东西只用大脑去想是不行的,理论可行但实际可不可行就不知道,这就需要实际动手操作了才知道,一开始看了这个项目觉得很简单,随便编写个程序就可以了,但实际坐下来就没有那么简单了,首先硬件电路焊接就出现许多问题,跟别说编写和调试程序就用了一个多星期。
不过实际做出来,感觉还是挺好的。
这也让我进一步了解了单片机的使用,掌握了一些运动控制的思路与方法。
11.附件:
完整程序
#include<
reg51.h>
#defineuintunsignedint
#defineucharunsignedchar
uchargewei,shiwei;
ucharxiyitime,num3;
ucharshuiweizhi,shuiwei;
uintnum1,num2;
sbitwei1=P1^0;
sbitwei2=P1^1;
sbitwei3=P1^2;
sbitwei4=P1^3;
sbitshuiwei0=P1^4;
//
sbitshuiwei1=P1^5;
//低水位
sbitshuiwei2=P1^6;
//中水位
sbitshuiwei3=P1^7;
//高水位
sbitshezhi_key=P2^0;
sbitqidong_key=P2^1;
//sbitxiyi_key=P2^0;
sbitup_key=P2^2;
sbitdown_key=P2^3;
sbitshuifa=P2^4;
sbitpaishuifa=P2^5;
sbitzhengzhuang=P2^6;
sbitfanzhuang=P2^7;
sbittuoshui=P3^6;
sbitzhishiled=P3^7;
//此表为LED的字模,共阴数码管0-9-
unsignedcharcodesegtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
//段码控制
unsignedcharcodesegtab1[]={0x40,0x4F,0x24,0x30,0x19,0x12,
0x02,0x78,0x00,0x10};
//共阴0-9带小数点编码
//延时X毫秒函数11.0592Mhz时
voiddelay_xms(uintxms)
{
uinti,j;
for(i=xms;
i>
0;
i--)
for(j=110;
j>
j--);
}
//延时X秒函数
voiddelay_s(uintxs)
uintx;
for(x=xs;
x>
x--)
delay_xms(1000);
//延时X分钟函数
voiddelay_min(uintxmin)
uintm,n;
for(m=xmin;
m>
m--)
for(n=60;
n>
n--)
delay_s
(1);
}
//取操作数的个十位
voidchuli(uintnum)
gewei=num%10;
shiwei=(num/10)%10;
//按键扫描函数
voidkeysaomiao()
ucharjianzhi;
if(shezhi_key==0)
{
delay_xms(10);
if(!
shezhi_key)
jianzhi++;
if(jianzhi>
2)
jianzhi=1;
while(!
shezhi_key);
}
}
if(jianzhi==1)//水位设置
if(up_key==0)
shuiwei++;
if(shuiwei>
3)
{
shuiwei=0;
while(!
up_key);
if(down_key==0)
{
if(shuiwei<
=0)
shuiwei=3;
shuiwei--;
down_key);
chuli(shuiwei);
P0=segtab[gewei];
wei1=0;
delay_xms(5);
wei1=1;
P0=segtab[shiwei];
wei2=0;
wei2=1;
P0=0xFE;
wei3=0;
wei3=1;
P0=0x9C;
wei4=0;
wei4=1;
if(jianzhi==2)
xiyitime++;
if(xiyitime>
12)
xiyitime=3;
}
}
{
xiyitime--;
if(xiyitime<
xiyitime=12;
chuli(xiyitime);
P0=0xF7;
P0=0xA3;
//水位检测子函数
voidshuiweijiance()
if(shuiwei0==0)
shuiweizhi=0;
shuiwei0);
if(shuiwei1==0)
shuiweizhi=1;
shuiwei1);
if(shuiwei2==0)
shuiweizhi=2;
shuiwei2);
if(shuiwei3==0)
delay_xm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 洗衣机 控制 基于 单片机 优选 材料