PIC单片机对豆浆机的控制设计.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PIC单片机对豆浆机的控制设计 1引言 目前,人们对生活的质量要求越来越高,人们在忙于工作之余,豆浆机是一种新型的家用饮料机,以黄豆为原料,直接加工成熟的热豆浆。若在黄豆中配以芝麻、花生、杏仁等佐料,可以做出各种风味的鲜美饮料。 豆浆机由粉碎黄豆的搅拌机、豆浆加热器和 控制电路三大部分组成。用 单片机研制的全自动豆浆机的控制电路,只要按下启动按键,豆浆机就开始工作,一会儿就能喝到美味又营养的豆浆。整个过程由单片机全自动控制,让您用起来更加地方便、更加的安全。特用 PROTEUS 模拟,体验单片机的乐趣。 2豆浆机的功能 单独加热:具有单独加热功能,当达到规定温度时停止加热。 自动工作:流程如下:在有水的情况下,电热管开始加热,当水温上升到82℃时,停止加热, 电机开始工作。电机每工作30S然后停止5S为一个周期,持续工作5个周期.当豆浆产生的泡沫碰到防溢电极时,电机停转,等泡沫降下,电机继续工作,当泡沫碰到防溢电极10次后电机持续工作5个周期后,结束并报警。 全过程处于无水报警,停止工作状态:在单独加热、自动工作期间,任何时刻提起豆浆机,都会停止工作并报警。当重新将豆浆机放入水中后,回复以前工作状态。 3系统总体方案介绍 硬件组成如图所示,3个 传感器分别测量水位、溢出、温度,2个按键,1个蜂鸣器输出口,2种加热方式选择。 其中,RB1口通过继电器触点接的应是电热丝,但PROTEUS库里没有,只好用一个 LED代替一下,只要灯亮说明电热丝正在加热。另外,三个传感器均用开关表示,欠水检测传感器的开关闭后说明有水可以工作,否则不能正常开启; 温度传感器开关闭合说明加热到指定温度;溢水检测传感器开关闭合说明豆浆泡沫溢出。上述三个开关均只能手工开启闭合模拟。选用单片机为 PIC16F877A. 4.程序( C语言) #include unsigned int i=1,j=1,k=1,l,m,n=1,x,y,z;//定义程序用到的变量 void sound(void)//警报声频率子程序 { f or(z=1;z《=10;z++) { for(x=1;x《=100;x++) { RB2=0; } for(y=1;y《=100;y++) { RB2=1; } } } void main(void)//主程序 {//初始化 TRISB=0X00; TRISC=0XFF; PORTB=0X20;// 电源指示开 while(1) { if(RC0==0)// 检测是否欠水{ if(RC4==0)//检测加热按钮是否按下 { while(RC1==1RC2==1)//检测温度是否达到规定,是否有溢出 { RB6=1;//加热指示 RB1=1;//加热 } sound();//加热完毕报警 } else { RB6=0;//关闭加热指示 RB1=0;//关闭电热丝 } if(RC3==0)//全自动模式 {// 定时器1初始化 T1CON=0X30; TMR1IF=0; TMR1IE=1; TMR1L=0X2B; TMR1H=0XCF; while(RC1==1i《=6000)//加热10分钟 { TMR1ON=1; RB6=1;//加热 RB1=1; if(TMR1IF==1) { TMR1ON=0; TMR1IF=0; TMR1L=0X2B;//重新给初值 TMR1H=0XCF; i++; } } RB6=0;//停止加热 RB1=0; sound();//加热结束报警 for(m=1;m《=5n《=10;m++)//电机循环5个周期 { while(j《=300n《=10)//电机一周期工作30S { TMR1ON=1; if(RC2==0) { n++; } while(RC2==0) { RB0=0; RB7=0; } RB0=1;//MOTOR IS ON RB7=1; if(TMR1IF==1) { TMR1ON=0; TMR1IF=0; TMR1L=0X2B; TMR1H=0XCF; j++; } } while(m==5)//5周期结束,报警5声“滴” { sound(); for(l=1;l《=15000;l++) {;} sound(); for(l=1;l《=20000;l++) {;} sound(); for(l=1;l《=15000;l++) {;} sound(); for(l=1;l《=20000;l++) {;} sound(); m++; } sound();//每周期结束报警一声 while(k《=50n《=10)//电机每周期停止5S { TMR1ON=1; RB0=0; RB7=0; if(TMR1IF==1) { TMR1ON=0; TM

文档评论(0)

xuan9872 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档