ACil yardım örnek pic c programını hatalarını giderm

Başlatan duaks, 24 Nisan 2008, 13:00:22

duaks

arkadaşlar bu programı herhangi bir derleyicide derleyerek hex sini bana atabilirmisiniz...
duaks@hotmail.com

#include <16F628A.h>
#include <delay.c>
#include <lcd.c>
#include <stdio.h>

// 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);          
     alici2=0;
          alici3=0;  
           alici4=0;
            alici5=0;
             alici6=0;      
       sayac+=1;
          LCD_yaz();
   }
   if(alici2==1)
   {
   while(alici2==1);
     alici1=0;
          alici3=0;  
           alici4=0;
            alici5=0;
             alici6=0;
       sayac+=5;
        LCD_yaz();
       }
   if(alici3==1)
   {
   while(alici3==1);
     alici1=0;
          alici2=0;  
           alici4=0;
            alici5=0;
             alici6=0;
     sayac+=10;
      LCD_yaz();
   }
   if(alici4==1)
   {
   while(alici4==1);
     alici1=0;
          alici2=0;  
           alici3=0;
            alici5=0;
             alici6=0;
          sayac+=25;
       LCD_yaz();
        }
   if(alici5==1)
   {
   while(alici5==1);
         alici1=0;
          alici2=0;  
           alici3=0;
            alici4=0;
             alici6=0;
      sayac+=50;
       LCD_yaz();
   }
   if(alici6==1)
   {
   while(alici6==1);
     alici1=0;
          alici2=0;  
           alici3=0;
            alici4=0;
             alici5=0;
      sayac+=100;
       LCD_yaz();
   }
   DelayMs(100);
   }
      }// Program sonu

M_B

http://www.biltek.tubitak.gov.tr/gelisim/elektronik/
2006 sayısında yaplan digital kumbara  projesi.
Kendi sayfasında hex dosyası ve bilgiler mevcut.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet