şifreli kapıda şifreyi eeproma kaydedemiyorum

Başlatan tauf1, 22 Mayıs 2013, 23:48:28

tauf1

arkadaşlar şifreli kapıda eeproma şifreyi yazdırıp okutamıyorum bana yardım edebilirmisiniz.


void _eeprom()
{


    printf(lcd_putc,"\fy1sifre:");
    delay_ms(500);
   
tus_al();
a=tus;
{write_eeprom(0,a);}
{a=read_eeprom(0);}
lcd_gotoxy(10,1);
printf(lcd_putc,"%Lu"tus);
delay_ms(300);

tus_al();
b=tus;
{write_eeprom(1,b);}
{b=read_eeprom(1);}
lcd_gotoxy(11,1);
printf(lcd_putc,"%Lu",tus);
delay_ms(300);

tus_al();
c=tus;
{write_eeprom(2,c);}
{c=read_eeprom(2);}
lcd_gotoxy(12,1);
printf(lcd_putc,"%Lu",tus);
delay_ms(300);
 
tus_al();
d=tus;
{write_eeprom(3,d);}
{d=read_eeprom(3);}
lcd_gotoxy(13,1);
printf(lcd_putc,"%Lu",tus);
delay_ms(300);

tus_al();
e=tus;
{write_eeprom(4,e);}
{e=read_eeprom(4);}
lcd_gotoxy(14,1);
printf(lcd_putc,"%Lu",tus);
delay_ms(300);
 
tus_al();
f=tus;
{write_eeprom(5,f);}
{f=read_eeprom(5);}
lcd_gotoxy(15,1);
printf(lcd_putc,"%Lu",tus);
delay_ms(300);

y1sifre=((a*100000)+(b*10000)+(c*1000)+(d*100)+(e*10)+(f*1));
y1sifre=sifre;
  printf(lcd_putc,"\fsifre degisti");
  delay_ms(500);
   

}

tyildizak


Murat Mert

S.A.

{  }
İşaretleri fonksiyon, döngü ve dallanmalarda arsında kalan işlemleri yapar.
void _eeprom() 
{ // burada alt başlığa başlar

 
    printf(lcd_putc,"\fy1sifre:");
    delay_ms(500);
   
 tus_al();
 a=tus;
 {write_eeprom(0,a);}// burada sonlandırır diğerlerini işleme almaz.
mert07

Okan AKÇA


tauf1

arkadaşlar yazılımımız şu şekilde fakat şifreyi eeproma yazdırıp okutturamıyorum yardımlarınızı bekliyorum.
#include        <16f877.h>
 #fuses          XT,NOWDT,NOPROTECT
 #use            delay(clock=4000000)
 #include        <lcd.c>
 #use            fast_io(c)  
 #use            fast_io(b)             
 #use            fast_io(a)   

 #define         sut1 pin_B4                                       
 #define         sut2 pin_B5                      
 #define         sut3 pin_B6  
 #define         sut4 pin_B7  
 
 #define         sat1 pin_B0
 #define         sat2 pin_B1                
 #define         sat3 pin_B2                    
 #define         sat4 pin_B3  

 
 #define         buzzer      pin_c0    
 #define use_portd_lcd TRUE
            
 
  unsigned int16  a,b,tus,c,d,e,f,g,sifre,y1sifre=0;


 void tus_al()// yazılım bu fonksiyona geldiğinde buradan bir
 {            // tus değeri almadan bu fonksiyondan çıkmaz
 don:
 output_low(sut1);output_high(sut2);output_high(sut3);output_high(sut4);
 if(input(sat1)==0){tus=1;goto brk;}
 if(input(sat2)==0){tus=4;goto brk;}
 if(input(sat3)==0){tus=7;goto brk;}
 if(input(sat4)==0){tus=11;goto brk;}

 output_high(sut1);output_low(sut2);output_high(sut3);output_high(sut4);
 
 if(input(sat1)==0){tus=2;goto brk;}
 if(input(sat2)==0){tus=5;goto brk;}
 if(input(sat3)==0){tus=8;goto brk;}
 if(input(sat4)==0){tus=0;goto brk;}                        

 output_high(sut1);output_high(sut2);output_low(sut3);output_high(sut4);
 if(input(sat1)==0){tus=3;goto brk;}
 if(input(sat2)==0){tus=6;goto brk;}
 if(input(sat3)==0){tus=9;goto brk;}      
 if(input(sat4)==0){tus=12;goto brk;} 
 
  output_high(sut1);output_high(sut2);output_high(sut3);output_low(sut4);
 if(input(sat1)==0){tus=13;goto brk;}
 if(input(sat2)==0){tus=14;goto brk;}
 if(input(sat3)==0){tus=15;goto brk;}      
 if(input(sat4)==0){tus=16;goto brk;} 
 goto don;  
 brk:
 while(!input(sat1));
 while(!input(sat2));          
 while(!input(sat3));
 while(!input(sat4));                           
 output_high(buzzer);delay_ms(100);output_low(buzzer); 
 }   

 void   tarama()// Yazılım bu fonksiyona geldiğinde herhangi bir tuşa                
 {              // basılmış diye bakar ve beklemeden fonksiyondan çıkar.                              
 
 output_low(sut1);output_high(sut2);output_high(sut3);output_high(sut4);        
 if(input(sat1)==0){tus=1;goto brk;}
 if(input(sat2)==0){tus=4;goto brk;}
 if(input(sat3)==0){tus=7;goto brk;}
 if(input(sat4)==0){tus=11;goto brk;}

 output_high(sut1);output_low(sut2);output_high(sut3);output_high(sut4);
 
 if(input(sat1)==0){tus=2;goto brk;}
 if(input(sat2)==0){tus=5;goto brk;}
 if(input(sat3)==0){tus=8;goto brk;} 
 if(input(sat4)==0){tus=0;goto brk;}

 output_high(sut1);output_high(sut2);output_low(sut3);output_high(sut4);
 if(input(sat1)==0){tus=3;goto brk;}
 if(input(sat2)==0){tus=6;goto brk;}
 if(input(sat3)==0){tus=9;goto brk;}
 if(input(sat4)==0){tus=12;goto brk;}
 
 output_high(sut1);output_high(sut2);output_high(sut3);output_low(sut4);
 if(input(sat1)==0){tus=13;goto brk;}
 if(input(sat2)==0){tus=14;goto brk;}
 if(input(sat3)==0){tus=15;goto brk;}
 if(input(sat4)==0){tus=16;goto brk;}
 brk:
 while(!input(sat1));                        
 while(!input(sat2));
 while(!input(sat3));            
 while(!input(sat4));    
 }         
void _eeprom() 
{

 
    printf(lcd_putc,"\fy1sifre:");
    delay_ms(500);
   
 tus_al();
 a=tus;
 write_eeprom(0,a);
 a=read_eeprom(0);
 lcd_gotoxy(10,1);
 printf(lcd_putc,"%Lu"tus);
 delay_ms(300);
 
 tus_al();
 b=tus;
 write_eeprom(1,b);
 b=read_eeprom(1);
 lcd_gotoxy(11,1);
 printf(lcd_putc,"%Lu",tus);
 delay_ms(300);
 
 tus_al();
 c=tus;
 write_eeprom(2,c);
 c=read_eeprom(2);
 lcd_gotoxy(12,1); 
 printf(lcd_putc,"%Lu",tus);
 delay_ms(300);
  
 tus_al();
 d=tus;
 write_eeprom(3,d);
 d=read_eeprom(3);
 lcd_gotoxy(13,1);
 printf(lcd_putc,"%Lu",tus);
 delay_ms(300);
 
 tus_al();
 e=tus;
 write_eeprom(4,e);
 e=read_eeprom(4);
 lcd_gotoxy(14,1);
 printf(lcd_putc,"%Lu",tus);
 delay_ms(300);
  
 tus_al();
 f=tus;
 write_eeprom(5,f);
 f=read_eeprom(5);
 lcd_gotoxy(15,1);
 printf(lcd_putc,"%Lu",tus);
 delay_ms(300);
 
 y1sifre=((a*100000)+(b*10000)+(c*1000)+(d*100)+(e*10)+(f*1));
 y1sifre=sifre;
  printf(lcd_putc,"\fsifre degisti");
  
    
 
}
 void main()
 {            
 set_tris_b(0b00001111);//keypad baglı    
 set_tris_c(0b00000000); 
 set_tris_a(0b11111111); 
 set_tris_e(0b00000100);//swich imput                
 port_b_pullups(true);
 output_a(0x00);                               
 output_b(0x00); 
 output_c(0x00); 
 output_e(0x00);


lcd_init();   // LCD hazırlanıyor
basla:
   printf(lcd_putc,"\f   SIFRE="); // LCD'ye string yazdırılıyor
 
 
 
 tus_al();
 a=tus;
  lcd_gotoxy(10,1);
 printf(lcd_putc,"X");
 if(tus==11||tus==12||tus==13||tus==14||tus==15||tus==16) {goto basla;}
 delay_ms(300);
 
 tus_al();
 b=tus;
 lcd_gotoxy(11,1); printf(lcd_putc,"X");
 if(tus==11||tus==12||tus==13||tus==14||tus==15||tus==16) {goto basla;}
 delay_ms(300);
 
 tus_al();
 c=tus;
 lcd_gotoxy(12,1); printf(lcd_putc,"X");
 if(tus==11||tus==12||tus==13||tus==14||tus==15||tus==16) {goto basla;}
 delay_ms(300);
  
  tus_al();
  d=tus;
 lcd_gotoxy(13,1);
  printf(lcd_putc,"X");
  if(tus==11||tus==12||tus==13||tus==14||tus==15||tus==16) {goto basla;}
 delay_ms(300);
 
   tus_al();
   e=tus;
  lcd_gotoxy(14,1);
 printf(lcd_putc,"X");
  if(tus==11||tus==13||tus==14||tus==15||tus==16) {goto basla;}
  delay_ms(300);
  
   tus_al();
   f=tus;
  lcd_gotoxy(15,1);
 printf(lcd_putc,"X");
  if(tus==11||tus==13||tus==14||tus==15||tus==16) {goto basla;}
 delay_ms(300);
 
 tus_al();
   g=tus;
  lcd_gotoxy(16,1);
 printf(lcd_putc,"X");
  if(tus==11||tus==13||tus==14||tus==15||tus==16) {goto basla;}


 delay_us(20);
 
  sifre=((a*100000)+(b*10000)+(c*1000)+(d*100)+(e*10)+(f*1));
 
if(sifre==111111 && g==12)
{
_eeprom();
delay_ms(9000);
}
  if(sifre==551635 && g==12)
  {
   lcd_gotoxy(1,1);
  printf(lcd_putc,"\f    DOGRU SIFRE");
  printf(lcd_putc,"\n    HOSGELDINIZ");
  
  
  
  output_high(pin_c3);
  delay_ms(3000);
  
  
  
  output_low(pin_c3);
  
  goto basla; 
  }
  else
  {
  
   lcd_gotoxy(1,1);
  printf(lcd_putc,"\f   YANLIS SIFRE");
  printf(lcd_putc,"\nTEKRAR DENEYINIZ");
  delay_ms(2000);
  goto basla;
  }
 // lcd_gotoxy(1,3);
 //printf(lcd_putc,"\Basilan Tus=%Lu",sifre);
 
 }