控制/MCU
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)//警报声频率子程序
{
for(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==1&&RC2==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==1&&i《=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《=5&&n《=10;m++)//电机循环5个周期
{
while(j《=300&&n《=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《=50&&n《=10)//电机每周期停止5S
{
TMR1ON=1;
RB0=0;
RB7=0;
if(TMR1IF==1)
{
TMR1ON=0;
TMR1IF=0;
TMR1L=0X2B;
TMR1H=0XCF;
k++;
}
}
j=0;
k=0;
}
RB0=0;
RB7=0;
n=0;
}
}
}
}(由PROTEUS仿真通过)
全部0条评论
快来发表一下你的评论吧 !