哪位朋友帮忙改进一下豆浆机原程序(学习中)
#include "reg51.h"<br />#include"intrins.h "<br />sbit led_yello_power=P1^0;<br />sbit led_green_heat=P3^7;<br />sbit led_red_auto=P1^4;<br />sbit beep=P3^5;<br />sbit heat=P1^5;<br />sbit run=P1^7;<br /><br />sbit func_select=P1^6;<br />sbit start=P1^2;<br />unsigned char n=0;<br />unsigned char func_flag=0;<br />unsigned char stop=1;<br />void delay(int n)<br />{int j,k;<br />for(k=0;k<n;k++)<br /> {for(j=0;j<55;j++);<br /> }<br /> <br />}<br /><br /><br />void ok1(void)<br />{<br /> while(func_select==1&&start==1)<br /> {beep=1;<br /> led_red_auto=1;<br /> delay(250);<br /> beep=0;<br /> led_red_auto=0;<br /> delay(500);<br /> }<br />}<br /><br />void ok2(void)<br />{<br /> while(func_select==1&&start==1)<br /> {beep=1;<br /> led_green_heat=1;<br /> delay(250);<br /> beep=0;<br /> led_green_heat=0;<br /> delay(500);<br /> }<br />}<br />void init(void)<br />{<br /> P1=0x5f;<br /> P3=0xff; <br /> delay(100);<br /> P1=0x54;<br /> P3=0x0f;<br /> func_flag=0;<br /> stop=1;<br /><br />}<br /><br />void ex0_1(void) interrupt 0<br />{n++;<br />EX0=0;<br />heat=0;<br />delay(1000);<br />EX0=1;<br /><br />}<br /><br /><br /><br />void func_heat(void)<br />{while(n<3)heat=1; <br /> heat=0;<br /> }<br /><br /><br />void func_auto(void)<br />{unsigned char i;<br />for(i=0;i<5;i++)<br /> {run=1;<br /> delay(18000);<br /> run=0;<br /> delay(8000);<br /> }<br />}<br /><br /><br /> <br /> void scan_key(void)<br /> {if(func_select==0||start==0)<br /> { delay(200); <br /> if(func_select==0||start==0)<br /> { if(func_select==0)<br /> {while(func_select==0);<br /> if(func_flag==0)<br /> { func_flag=1;<br /> led_green_heat=0;<br /> led_red_auto=1;<br /> }<br /> else<br /> { func_flag=0;<br /> led_green_heat=1;<br /> led_red_auto=0;<br /> }<br /> }<br /> else if ( start==0) <br /> { while(start==0);<br /> if(stop==0)stop=1;<br /> else<br /> stop=0;<br /> <br /> <br /> <br /> }<br /> <br /> <br /> <br /> } <br /> <br /> }<br /> <br />}<br /><br /><br />void main(void)<br /><br />{init();<br /> IT0=1;<br /> EX0=1;<br /> EA=1;<br /><br /> <br />while(1)<br />{<br /> scan_key();<br /> while(stop==1)scan_key();<br /> if(stop==0&&func_flag==0)<br /> <br /> { func_auto();<br /> func_heat();<br /> ok1();<br /> }<br /> else <br /> if(stop==0&&func_flag==1)<br /> {func_heat();<br /> ok2();<br /> }<br /> <br /> <br /><br /> <br /><br />init(); <br /><br />}<br /><br /><br /><br /> } SJMP $
我手上有现成的程序
但是我不知道你豆浆机有几档速度可调,以及按键的处理若是一致的话,就不用进行更改了。哪位朋友帮忙改进一下豆浆机原程序(学习中)
两个按钮,开机三灯闪烁,按功能键确定功能(干豆,湿豆,加热相应三灯指示)按开始键工作,先转几次,再加热,后再转几次,再加热至开,再加热开几次。最后停止报警完事。调速可能就是干、湿豆选择吧?应该两个吧,传感器一个防溢触头,一个接电机外壳(接电5v),一个接加热管外壳,看别的豆浆机资料,应该有温度检测,不知为什么没有?谢谢帮助!!就是个简单的时间控制
页:
[1]