欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    基于的51单片机全自动洗衣机设计北理工.doc

    • 资源ID:23160       资源大小:274.50KB        全文页数:22页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于的51单片机全自动洗衣机设计北理工.doc

    全自动洗衣机课程设计基于51单片机,C语言实现。基本要求模拟全自动洗衣机工作过程。以电机替代洗衣机电机。显示洗衣机工作的状态进水、浸泡、洗衣、脱水、结束。显示工作剩余时间洗衣程序可自定义,时间精度:秒。洗衣时交替正、反转。扩展要求洗衣和脱水时电机转速不同。增加水位传感器输入。故障报警。增加声音提示。其它自定义功能。设计用Preteus仿真:仿真图如下:C文件函数代码:#include<reg51.h>/*/#define uchar unsigned char#define uint unsigned int/*/*/sbit mo_r = P32; /电机右控制线sbit mo_l = P33;/电机左控制线/*/sbit key_menu = P34; / 菜单按键sbit key_on = P35; / 开始按键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; / 脱水电源控制开关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;/正反转计数 /*/ 函数声明/*/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 = 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<> interrupt 1TH0=<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<>

    注意事项

    本文(基于的51单片机全自动洗衣机设计北理工.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开