#include #include #include #include // Konfigurasyon ayarlari __CONFIG(WDTDIS&PWRTEN&LVPDIS&INTIO); #define alici1 RA0 #define alici2 RA1 #define alici3 RB4 #define alici4 RB5 #define alici5 RB6 #define alici6 RB7 // Degisken tanimlamalari float sayac; unsigned char lira,kurus; unsigned char miktar[]=" "; //LCD alt programi void LCD_yaz(void){ lcd_clear(); lira=(int)(sayac/100); kurus=(int)(sayac-lira*100); lcd_goto(0x00); lcd_puts("Dijital Kumbara"); sprintf(miktar,"%dLira %dKurus",lira,kurus); lcd_goto(0x40); lcd_puts(miktar); EEPROM_WRITE(1,lira); EEPROM_WRITE(2,kurus); } // Ana Program main(void) { // Port ayarlari TRISA=0x13; TRISB=0xF0; CMCON=0x07; PORTA=0; PORTB=0; DelayMs(250); lcd_init(); lcd_clear(); // Sifirla butonuna basili mi? if(RA4==0){ EEPROM_WRITE(1,0); EEPROM_WRITE(2,0); } //EEPROM islemleri if(EEPROM_READ(0)=='Y'){ lira=EEPROM_READ(1); kurus=EEPROM_READ(2); sayac=lira*100+kurus; } else{ EEPROM_WRITE(0,'Y'); sayac=0; } LCD_yaz(); // 6 adet CNY70 sensorunu kontrol et for(;;){ if(alici1==1){while(alici1==1); sayac+=1; LCD_yaz();} if(alici2==1){while(alici2==1); sayac+=5; LCD_yaz();} if(alici3==1){while(alici3==1); sayac+=10; LCD_yaz();} if(alici4==1){while(alici4==1); sayac+=25; LCD_yaz();} if(alici5==1){while(alici5==1); sayac+=50; LCD_yaz();} if(alici6==1){while(alici6==1); sayac+=100;LCD_yaz();} DelayMs(100); } }// Program sonu