بدية البرنامج شغال ولكن لايخزن الا حالة مروحة واحدة أما الباقى لا
ثانبا :تظهر رسالة فى الميكرو سى const truncted
رابط الصورة
http://upload.qariya.info/images/qariya-9d48314a5b.jpg
http://www.electvillage.com/upload//...ile=9d48314a5b
char num2[]={' ','x','9','8','7','x','6','5','4','x','3','2','1', 'x',' ','0','x'};
char num3[]={'x','x',9,8,7,'x',6,5,4,'x',3,2,1,'x','x',0,' '};
char s1[] ="temp=";
char s2[] ="temp fan1";
char s3[] ="temp fan2";
char s4[] ="temp fan3";
char s5[] ="temp fan4";
char s6[] ="1-fan1 2-fan2" ;
char s7[] ="3-fan3 4-Alarm";
char s20[] ="9-setting" ;
char s9[] ="c" ;
char s10[] ="save";
char s11[]="." ;
char m,h,ones,t,tens,ones1,t1,tens1,ones2,t2,tens2,ones 3,t3,tens3;
unsigned long Vin, degree,deg;
unsigned char op[12];
unsigned char i,j,temp[5];
int a=0;int b=0;int e=0;int g=0;
int aa=0; int bb=0;int ee=0;int gg=0;
int a2=0; int b2=0;int e2=0;int g2=0;
int a3=0; int b3=0;int e3=0;int g3=0;
int ju=0;
long passw;long passw1;long passw2;long passw3;
void save() ///////saving opration function.
{char y,x;
lcd_cmd(lcd_clear);
for(x=0;x<3;x++)
{
lcd_out(1,1,s10);
for(y=0;y<3;y++)
{
Lcd_Out_Cp(s11);delay_ms(500);
}
lcd_cmd(lcd_clear);
}
return;
}
void change1()
{
loop6:
m=keypad_read();
if(m==0){goto loop6;}
else if(m==16){delay_ms(200);return;}
else if(m==14){delay_ms(200);goto loop6;}
else{t=num3[m];lcd_cmd(lcd_clear);lcd_chr(2,7,num2[m]);delay_ms(500);}
loop7:
m=keypad_read();
if(m==0){goto loop7;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){ones=t;h=t=tens=0;
Eeprom_Write(0x00, ones);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{h=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop8:
m=keypad_read();
if(m==0){goto loop8;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){tens=h;h=t;ones=tens;tens=h;t=h=0;
Eeprom_Write(0x00, ones);
Eeprom_Write(0x01, tens);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{tens=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop9:
m=keypad_read();
if(m==0){goto loop9;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){
ones=tens;tens=0;tens=h;h=0;h=t;t=0;
Eeprom_Write(0x00, ones);
Eeprom_Write(0x01, tens);
Eeprom_Write(0x02, h);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{ones=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop10:
m=keypad_read();
if(m==0){goto loop10;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){
Eeprom_Write(0x00, ones);
Eeprom_Write(0x01, tens);
Eeprom_Write(0x02, h);
Eeprom_Write(0x03, t);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;
}
else{goto loop10;}
}
void change2()
{
loop11:
m=keypad_read();
if(m==0){goto loop11;}
else if(m==16){delay_ms(200);return;}
else if(m==14){delay_ms(200);goto loop11;}
else{t=num3[m];lcd_cmd(lcd_clear);lcd_chr(2,7,num2[m]);delay_ms(500);}
loop12:
m=keypad_read();
if(m==0){goto loop12;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){ones=t;h=t=tens=0;
Eeprom_Write(0x04, ones);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{h=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop13:
m=keypad_read();
if(m==0){goto loop13;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){tens=h;h=t;ones=tens;tens=h;t=h=0;
Eeprom_Write(0x04, ones);
Eeprom_Write(0x05, tens);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{tens=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop14:
m=keypad_read();
if(m==0){goto loop14;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){
ones=tens;tens=0;tens=h;h=0;h=t;t=0;
Eeprom_Write(0x04, ones);
Eeprom_Write(0x05, tens);
Eeprom_Write(0x06, h);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{ones=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop15:
m=keypad_read();
if(m==0){goto loop15;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){
Eeprom_Write(0x04, ones);
Eeprom_Write(0x05, tens);
Eeprom_Write(0x06, h);
Eeprom_Write(0x07, t);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;
}
else{goto loop15;}
}
void change3()
{
loop16:
m=keypad_read();
if(m==0){goto loop16;}
else if(m==16){delay_ms(200);return;}
else if(m==14){delay_ms(200);goto loop16;}
else{t=num3[m];lcd_cmd(lcd_clear);lcd_chr(2,7,num2[m]);delay_ms(500);}
loop17:
m=keypad_read();
if(m==0){goto loop17;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){ones=t;h=t=tens=0;
Eeprom_Write(0x08, ones);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{h=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop18:
m=keypad_read();
if(m==0){goto loop18;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){tens=h;h=t;ones=tens;tens=h;t=h=0;
Eeprom_Write(0x08, ones);
Eeprom_Write(0x09, tens);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{tens=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop19:
m=keypad_read();
if(m==0){goto loop19;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){
ones=tens;tens=0;tens=h;h=0;h=t;t=0;
Eeprom_Write(0x08, ones);
Eeprom_Write(0x09, tens);
Eeprom_Write(0x10, h);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{ones=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop20:
m=keypad_read();
if(m==0){goto loop20;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){
Eeprom_Write(0x08, ones);
Eeprom_Write(0x09, tens);
Eeprom_Write(0x10, h);
Eeprom_Write(0x11, t);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;
}
else{goto loop20;}
}
void change4()
{
loop21:
m=keypad_read();
if(m==0){goto loop21;}
else if(m==16){delay_ms(200);return;}
else if(m==14){delay_ms(200);goto loop21;}
else{t=num3[m];lcd_cmd(lcd_clear);lcd_chr(2,7,num2[m]);delay_ms(500);}
loop22:
m=keypad_read();
if(m==0){goto loop22;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){ones=t;h=t=tens=0;
Eeprom_Write(0x12, ones);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{h=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop23:
m=keypad_read();
if(m==0){goto loop23;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){tens=h;h=t;ones=tens;tens=h;t=h=0;
Eeprom_Write(0x12, ones);
Eeprom_Write(0x13, tens);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{tens=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop24:
m=keypad_read();
if(m==0){goto loop24;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){
ones=tens;tens=0;tens=h;h=0;h=t;t=0;
Eeprom_Write(0x12, ones);
Eeprom_Write(0x13, tens);
Eeprom_Write(0x14, h);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;}
else{ones=num3[m];lcd_chr_cp(num2[m]);delay_ms(500);}
loop25:
m=keypad_read();
if(m==0){goto loop25;}
else if(m==16){lcd_cmd(lcd_clear);return;}
else if(m==14){
Eeprom_Write(0x12, ones);
Eeprom_Write(0x13, tens);
Eeprom_Write(0x14, h);
Eeprom_Write(0x15, t);
lcd_cmd(lcd_clear);
save();
delay_ms(400);
return;
}
else{goto loop25;}
}
void print1()
{
Lcd_Cmd(LCD_CLEAR);lcd_Out(1,1,s6 ); lcd_Out(2,1,s7 ); Lcd_Cmd(LCD_CURSOR_OFF);return;
}
void print2()
{
Lcd_Cmd(LCD_CLEAR);lcd_Out(1,1,s5);Lcd_Cmd(LCD_CUR SOR_OFF);return;
}
void print3()
{
Lcd_Cmd(LCD_CLEAR);lcd_Out(1,1,s4);Lcd_Cmd(LCD_CUR SOR_OFF) ;return;
}
void print4()
{
Lcd_Cmd(LCD_CLEAR);lcd_Out(1,1,s3);Lcd_Cmd(LCD_CUR SOR_OFF);return;
}
void print5()
{
Lcd_Cmd(LCD_CLEAR);lcd_Out(1,1,s2);Lcd_Cmd(LCD_CUR SOR_OFF);return;
}
void setting()
{
goto z;
z2:
print5();delay_ms(200);change1();goto z;
z3:
print4();delay_ms(200);change2();goto z;
z4:
print3();delay_ms(200);change3();goto z;
z5:
print2();delay_ms(200);change4();goto z;
z:
print1();
z1:
m=keypad_read();
if(m==0){goto z1;}
if(m==16){Lcd_Cmd(LCD_CLEAR);return;}
else if(m==12){goto z2;;}
else if (m==11) {goto z3;}
else if (m==10) {goto z4;}
else if (m==8) {goto z5;}
else{goto z1;}
}
void adc()
{
lcd_Out(1,3,s1);
lcd_Out(2,1,s20);
Vin = Adc_Read(0);
degree= (Vin * 500) >> 10;
longtostr(degree,op) ;
j=0;
for(i=0;i<=11;i++)
{
if(op[i]!=' ')
{
temp[j]=op[i];
j++;
}
}
lcd_Out(1,8,temp);
Lcd_Cmd(LCD_CURSOR_OFF);
Lcd_Out(1,10,s9);
a=Eeprom_Read(0x00); b= Eeprom_Read(0x01 ); e= Eeprom_Read(0x02 );g= Eeprom_Read(0x03 );
aa=Eeprom_Read(0x04); bb= Eeprom_Read(0x05 ); ee= Eeprom_Read(0x06 );gg= Eeprom_Read(0x07 );
a2=Eeprom_Read(0x08); b2= Eeprom_Read(0x09 ); e2= Eeprom_Read(0x10 );g2= Eeprom_Read(0x11 );
a3=Eeprom_Read(0x12); b3= Eeprom_Read(0x13 ); e3= Eeprom_Read(0x14 );g3= Eeprom_Read(0x15 );
passw=(g*1000)+(e*100)+(b*10)+(a);
passw1=(gg*1000)+(ee*100)+(bb*10)+(aa);
passw2=(g2*1000)+(e2*100)+(b2*10)+(a2);
passw3=(g3*1000)+(e3*100)+(b3*10)+(a3);
if(passw1==25){portd.f2=1;}
return;
}
void main()
{
char m;
unsigned long Vin, degree,deg;
unsigned char op[12];
unsigned char i,j,temp[5];
TRISd=0;
portd=0;
TRISA = 0xFF;
ADCON1 = 0x80;
keypad_init(&portc);
Lcd_Init(&portb);
portd.f0=1;
delay_ms(500);
portd.f0=0;
Vin =0;
Lcd_Cmd(LCD_CLEAR);
y:
adc();
m=keypad_read();
if(m==0){adc();}
else if(m==2){setting();}
else {delay_ms(500);goto y ; }
goto y;
}