打印

哪位朋友帮忙改进一下豆浆机原程序(学习中)

[复制链接]
2609|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tazzf_68|  楼主 | 2007-1-7 22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 #include "reg51.h"
#include"intrins.h "
sbit led_yello_power=P1^0;
sbit led_green_heat=P3^7;
sbit led_red_auto=P1^4;
sbit beep=P3^5;
sbit heat=P1^5;
sbit run=P1^7;

sbit func_select=P1^6;
sbit start=P1^2;
unsigned char n=0;
unsigned char func_flag=0;
unsigned char  stop=1;
void delay(int n)
{int  j,k;
for(k=0;k<n;k++)
 {for(j=0;j<55;j++);
  }
 
}


void ok1(void)
{
 while(func_select==1&&start==1)
 {beep=1;
  led_red_auto=1;
  delay(250);
  beep=0;
  led_red_auto=0;
  delay(500);
  }
}

void ok2(void)
{
 while(func_select==1&&start==1)
 {beep=1;
  led_green_heat=1;
  delay(250);
  beep=0;
  led_green_heat=0;
  delay(500);
  }
}
void init(void)
{
 P1=0x5f;
 P3=0xff; 
 delay(100);
 P1=0x54;
 P3=0x0f;
 func_flag=0;
 stop=1;

}

void ex0_1(void) interrupt 0
{n++;
EX0=0;
heat=0;
delay(1000);
EX0=1;

}



void func_heat(void)
{while(n<3)heat=1; 
 heat=0;
 }


void func_auto(void)
{unsigned char i;
for(i=0;i<5;i++)
 {run=1;
 delay(18000);
 run=0;
 delay(8000);
 }
}


 
  void scan_key(void)
 {if(func_select==0||start==0)
   { delay(200);                       
     if(func_select==0||start==0)
       {    if(func_select==0)
           {while(func_select==0);
           if(func_flag==0)
            { func_flag=1;
              led_green_heat=0;
              led_red_auto=1;
             }
            else
             { func_flag=0;
              led_green_heat=1;
              led_red_auto=0;
              }
             }
      else if ( start==0) 
               {    while(start==0);
                if(stop==0)stop=1;
                 else
                 stop=0;
                
                            
            
            }
           
           
           
         }  
        
    }
   
}


void main(void)

{init();
  IT0=1;
  EX0=1;
  EA=1;

  
while(1)
{
  scan_key();
  while(stop==1)scan_key();
    if(stop==0&&func_flag==0)
     
       { func_auto();
        func_heat();
        ok1();
        }
    else 
         if(stop==0&&func_flag==1)
       {func_heat();
         ok2();
        }
      
    

  

init();     

}



  } 

相关帖子

沙发
conwh| | 2007-1-7 22:42 | 只看该作者

SJMP $

使用特权

评论回复
板凳
joson| | 2007-1-8 11:25 | 只看该作者

我手上有现成的程序

但是我不知道你豆浆机有几档速度可调,以及按键的处理若是一致的话,就不用进行更改了。

使用特权

评论回复
地板
tazzf_68|  楼主 | 2007-1-8 14:55 | 只看该作者

哪位朋友帮忙改进一下豆浆机原程序(学习中)

两个按钮,开机三灯闪烁,按功能键确定功能(干豆,湿豆,加热相应三灯指示)按开始键工作,先转几次,再加热,后再转几次,再加热至开,再加热开几次。最后停止报警完事。调速可能就是干、湿豆选择吧?应该两个吧,传感器一个防溢触头,一个接电机外壳(接电5v),一个接加热管外壳,看别的豆浆机资料,应该有温度检测,不知为什么没有?谢谢帮助!!

使用特权

评论回复
5
conwh| | 2007-1-8 20:51 | 只看该作者

就是个简单的时间控制

使用特权

评论回复
6
yzq13246068880| | 2020-5-20 16:16 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

15

帖子

1

粉丝