基于51单片机洗衣机课程设计报告.pdf

上传人:tbuqq 文档编号:5019959 上传时间:2020-01-29 格式:PDF 页数:15 大小:213.32KB
返回 下载 相关 举报
基于51单片机洗衣机课程设计报告.pdf_第1页
第1页 / 共15页
基于51单片机洗衣机课程设计报告.pdf_第2页
第2页 / 共15页
基于51单片机洗衣机课程设计报告.pdf_第3页
第3页 / 共15页
基于51单片机洗衣机课程设计报告.pdf_第4页
第4页 / 共15页
基于51单片机洗衣机课程设计报告.pdf_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《基于51单片机洗衣机课程设计报告.pdf》由会员分享,可在线阅读,更多相关《基于51单片机洗衣机课程设计报告.pdf(15页珍藏版)》请在三一文库上搜索。

1、. 单片机原理及系统课程设计 专业:自动控制 班级:控 1102 姓名: 学号: 指导教师: 兰州交通大学自动化与电气工程学院 2014 年 1 月 13 日 评语: 考勤 10 分守纪 10 分过程 30 分设计报告 30 分答辩 20 分总成绩 (100 分) . 基于 51 单片机的洗衣机设计 1 设计目的、要求及原理 1.1 设计目的 由单片机控制实现洗衣机的各项功能,单片机的体积小,控制功能灵活,因 此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性。用单片 机设计出简单操作省水省电的洗衣机,在方便日常生活和节约资源方面都有重要 意义。由于个人能力有限,我能设计的洗衣机比

2、前沿科技产品要差很多。所以我 这次课设的主要目的在于通过亲手操作,查找资料,培养自己的分析设计能力。 把这学期课程中零散的知识进行整合,将理论的知识联系到实际的生活中。在实 例中深入理解一些理论知识,并从中有所收获,就是意义所在。 1.2 设计要求 通过仿真软件模拟洗衣机的基本工作过程,如进水、洗涤、排水、漂洗、脱 水等。 1.3 设计方法 利用 89C51 单片机的 P0,P1,P2,P3串行输入输出功能, 控制数码管、 电机、 发光二极管的工作状态模拟洗衣机的基本工作过程。 2 设计方案及原理 2.1 设计方案 洗衣机的主要工作程序是:进水洗涤排水进水漂洗排水脱水 排水。上述工作程序中,主

3、要包含三个过程,洗涤过程、漂洗过程、脱水过程。 (1) 洗涤过程:放好待洗物,启动开关,进水阀通电,向洗衣机供水,当供水 达到预定时间后, 进水阀断电关闭, 停止供水。洗涤电动机接通电源, 带动波轮 (或 桶)旋转,产生各种形式的水流搅动衣物进行洗涤。通过电动机不停的正转、 反转, 形成洗涤水对洗涤物产生强烈的翻滚作用。同时,衣物之间、衣物与四周桶壁之 间产生互相摩擦和撞击力,以次达到洗涤衣物的目的。 (2) 漂洗过程:漂洗的目的在于清除衣物上的洗涤液。因此,在洗涤结束之后, 换水进行漂洗。漂洗过程与洗涤过程的电器动作是完全相同的。为了完全漂净衣 服上的洗衣粉等,所以要多次漂洗,在这次设计中漂

4、洗次数设定为三次。 (3) 脱水过程:漂洗后,需要对衣物进行脱水以便晾干,节省水资源,所以脱 水是洗衣过程中必不可少的环节。漂洗过程结束后,电动机停止转动,排水阀通 电,打开排水阀门排水。当排水到达预定时间后,脱水电动机接通,电机带动脱 水桶高速旋转,利用离心力把衣服上的水从桶壁的小眼里甩出。全部洗衣工作完 成后,表示结束的LED 灯点亮,表示衣物已经洗好,洗衣机在这时就会自动停止 . 工作。 2.2 设计原理 本设计用 51单片机实现对洗衣机的控制,通过功能选择开关可以选择洗衣机 的工作模式。当选择好模式后洗衣机进入相应的工作状态。该模式的参数已装入 单片机中,洗衣机在单片机中预先装入程序的

5、控制下进行工作。 程序实现的主要功能是洗涤,漂洗和脱水的控制。其中洗涤时间设为96s,用 sec和 min 控制,其中 sec代表分钟 min 代表秒。并且通过改变它们的值可以改变 洗涤时间。用 P3.2和 P3.3控制电机的正反转(通过它们高低不同的电平控制电流 的方向,从而改变电机的转向。漂洗过程和洗涤过程较为相似,由于漂洗要多次 进行,所以用进水次数标志位flag1 控制漂洗的次数,当flag1=2、3、4 时为漂洗 过程。脱水过程是在出水次数flag2 的控制下进行。当flag2=4 时脱水,当脱水时 间到达 0 后,脱水结束,洗衣结束,表示停止的指示灯亮。 图 1 系统组成框图 3

6、硬件设计 3.1 系统主要元器件 在本设计中主要使用了以下元器件:AT89C51 芯片、 74LS245芯片 、 四数码管、 发光二极管、直流电动机、三极管等。 3.2 设计原理图 洗衣机的各项功能是由单片机控制实现的,单片机的体积小,控制功能灵活, 因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性采用5l 系列单片机作为控制核心,主要包括功能选择及控制电路、洗衣机工作状态显示 及输出控制电路。控制电机正反转以及进水阀和排水阀的开启和关闭。如图2 所 示为设计原理图。 ATA89C51 按键输入 工作状态显示 电机控制 时间显示 . 开始 停止 功能选择 P06 P07 P02

7、 P03 P04 P05 P00 P01 P02 P03 P04 P05 P06 P07 dj dj other mb ma k1 k2 k3 k4 m a k1 k2 k3 k4 m b P00 P01 1 2 3 4 a dp b c d e f g a b c defgd p 1 234 菜单 other R1 220 C1 22PF C3 10u X1 CRYSTAL C2 22PF R2 10k A0 2 B0 18 A1 3 B1 17 A2 4 B2 16 A3 5 B3 15 A4 6 B4 14 A5 7 B5 13 A6 8 B6 12 A7 9 B7 11 CE 19 A

8、B/BA 1 U2 74LS245 Q1 TIP31 Q2 TIP32 Q3 NPN Q4 BC184 Q5 NPN R3 1k Q6 BC184 Q7 BC184 R4 1k Q10 TIP31 Q11 TIP32 R5 1k Q12 BC184 +88.8 R6 1k R7 220 +15V R8 220 +3V D7 电机工作 D3 浸泡 D2 洗衣 D1 进水 D4 脱水 D5 换水 D6 结束 D8 报警 R9 220 R10 220 R11 220 R12 220 R13 220 R14 220 R16 220 +5V +5V XTAL2 18 XTAL1 19 ALE 30 EA

9、 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12

10、 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 U1 80C51 图 2 硬件连接图 4 软件设计 4.1 主程序流程图 按下 K1 键,洗衣机从待命状态。当按下K2 键后,51 单片机通过预先装入的 程序控制各引脚的状态,让洗衣机才进入工作状态,以实现进水、洗衣、排水、 漂洗、脱水、报警等基本功能。主程序流程图如图3 所示。 . 初始化 查询进水初始值 K1 按下 ? K2按下? 进水子函数 洗涤子函数 脱水子函数 漂洗子函数 Flag3=3? 出水子函数 查询洗涤初始值 查询出水初始值 查询漂洗初始值 查询脱水初始值 进水

11、子函数 出水子函数 Y N Y N Y N 开始 结束 图 3 主程序流程图 . 5 系统仿真及实际调试 5.1 仿真结果 开始 停止 功能选择 P06 P07 P02 P03 P04 P05 P00 P01 P02 P03 P04 P05 P06 P07 dj dj other mb ma k1 k2 k3 k4 m a k1 k2 k3 k4 m b P00 P01 1 2 3 4 a dp b c d e f g a bcdefgd p 123 4 菜单 other R1 220 C1 22PF C3 10u X1 CRYST AL C2 22PF R2 10k A0 2 B0 18 A

12、1 3 B1 17 A2 4 B2 16 A3 5 B3 15 A4 6 B4 14 A5 7 B5 13 A6 8 B6 12 A7 9 B7 11 CE 19 AB/BA 1 U2 74LS245 Q1 TIP31 Q2 TIP32 Q3 NPN Q4 BC184 Q5 NPN R3 1k Q6 BC184 Q7 BC184 R4 1k Q10 TIP31 Q11 TIP32 R5 1k Q12 BC184 +17.8 R6 1k R7 220 +15V R8 220 +3V D7 电机工作 D3 浸泡 D2 洗衣 D1 进水 D4 脱水 D5 换水 D6 结束 D8 报警 R9 220

13、R10 220 R11 220 R12 220 R13 220 R14 220 R16 220 +5V +5V XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1

14、.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 U1 80C51 图 4 :系统仿真结果 5.1 问题分析 本电路为模拟洗衣机工作过程,所以进水和排水部分只能用输出引脚上的发 光二极管表示工作状态,报警电路为脱水过程的保护电路,当脱水未结束打开洗 衣机盖的时候,报警电路工作并断开电机电源,防止发生事故。 6 总结 在本设计中通过软,硬件的配合设计,很好的实现了洗衣

15、机的控制功能。本 系统结构简单,控制功能强大,自动化程度高等特点。系统软硬件设计采用模块 化的设计方法,各模块功能相对独立,最后把它们整合在一起,大大的缩短了系 统的设计周期。为保证洗衣机及人身安全,设计了报警电路。本设计还考虑半自动 的设计,用户可以根据自己的需求自由选择洗衣机的工作方式,这一点是通过功 能选择键实现的。通过这次单片机课程设计,不仅巩固了课本上所学的知识,而 且更加深刻地认识到了单片机在生活中的重要地位,通过这次课程设计让我对单 片机系统设计的过程与方法有了一定的认识,很好的培养了自己的创新设计能力。 . 参考文献 1 李朝青 .单片机原理及接口技术M. 北京 :北京航空航天

16、出版社,1999. 2 顾滨 .单片微计算机原理、开发及应用M. 北京 :高等教育出版社,2000. 3 王思明,张金敏,苟军年等.单片机原理及应用系统设计M: 科学出版社, 2012. 4 房小翠 .单片机实用系统设计技术M. 北京 :国防工业出版社,1990. . 附录 1 源程序 #include #define uchar unsigned char #define uint unsigned int /*/ sbit mo_r=P32; /电机右控制线 sbit mo_l=P33; /电机左控制线 /*/ sbit key_menu=P34; / 菜单按键 sbit key_on=P

17、35; / 开始按键 sbit key_off=P36; / 结束按键 sbit key_se=P37; / 菜单选择按键 /*/ sbit led_in=P00; / 进水指示灯 sbit led_xi=P01; / 洗衣指示灯 sbit led_pao=P02; / 泡洗指示灯 sbit led_xx=P03; / 脱水指示灯 sbit led_out=P04; / 出水指示灯 sbit led_over=P05; / 洗衣结束指示灯 sbit led_work=P06; / 电机工作指示灯 sbit led_wring=P07; / 报警指示灯 sbit other=P31; / 脱水电

18、源控制开关 sbit anther=P30; / 洗衣电源控制开关 /*/ uchar code num10=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;

19、 / 正反转计数 /*/ 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;x0;x-)

20、for(y=120;y0;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

21、=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+

22、; 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) le

23、d_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

24、); 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_

25、off); over(); /*显示子程序 */ void SEG_display() P1=0x01; P2=nummin/10; delay(10); P1=0x02; P2=nummin%10; delay(10); P1=0x04; P2=numsec/10; delay(10); P1=0x08; P2=numsec%10; delay(10); /*主函数 */ void main() led_in=0; anther=0; other=0; while(1) SEG_display(); key_scan(); /* 定时器 0 中断处理程序 */ void timer0() i

26、nterrupt 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) sec=

27、59; /*/ if(sec0)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(sec0) out(); /*/ if(sec0)out();break; case 2:flag0=4;out();break; case 3:flag0=4;out();break; default: err=1;led_wring = 0; . /*/ if(sec0)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(sec0) over();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1