Fonksiyon İçinde Port İşlemi Sorunu

Başlatan iqsuz, 04 Ağustos 2013, 13:05:07

iqsuz

öncelikle herkese kolay gelsin
havada yazı devresi yapıyorum bunun için pic16f84a kullandım.
ram belleği kısıtlı olduğu için bazı işlemler için fonksiyonlar yazdım.bu şekilde ram yeterli alanı sağladım fakat
kod çalışmadı:)
acaba hatam nerede?

#include <16F84A.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading

#use delay(clock=4000000)
#use fast_io(b)
int8 i;
int8 j;
     
      void merhaba_yaz(void);
      void unal_yaz(void);


void main(void)
{
   while(1){
   merhaba_yaz();
   unal_yaz();
   }
}

void merhaba_yaz(void){
   //int8 i;
   int8 dizi_merhaba[]={
   0xFF,0x02,0x0C,0x02,0xFF,0x00, // M
   0xFF,0x89,0x89,0x89,0x81,0x00, // E
   0xFF,0x11,0x31,0x51,0x8E,0x00, // R
   0xFF,0x10,0x10,0x10,0xFF,0x00, // H
   0xFC,0x12,0x11,0x12,0xFC,0x00, // A
   0xFF,0x89,0x89,0x89,0x76,0x00, // B
   0xFC,0x12,0x11,0x12,0xFC,0x00, // A
   };
      for(i=0;i<42;i++){
         output_b(dizi_merhaba[i]);
         delay_us(317);
         }
            delay_ms(17);
}
void unal_yaz(void){
   //int8 j;
   int8 dizi_unal[]={
   0x7F,0x80,0x80,0x80,0x7F,0x00, // U
   0xFF,0x04,0x08,0x10,0xFF,0x00, // N
   0xFC,0x12,0x11,0x12,0xFC,0x00, // A
   0xFF,0x80,0x80,0x80,0x80,0x00, // L
   };

      for(j=0;j<24;j++){
         output_b(dizi_unal[j]);
         delay_us(317);
         }
            delay_ms(17);
}