CCS C ile yazdığım program çalışmıyor

Başlatan ahmetguvenn, 13 Aralık 2018, 19:57:43

ahmetguvenn

CCS C ile yazdığım programı derlediğimde hiçbir sorun çıkmadı ve Proteus ile derlemeye çalıştığımda RA0 butonuna bastığımda program çalışmadı. Sorun nedir yardımcı olursanız sevinirim.






RaMu

PC de yazdığın kodları buraya ekle, bir yerde yanlış yapmış olabilirsin.
Mümkünse Isis ve CcsC proje dosyalarını zipleyip linki buraya ekle indirip deneyip bakalım.

Proteusta mcu ya çift tıklayıp Program File yazan sekmeye
yazdığın CcsC kodunun bulunduğu proje dosyasında oluşan .hex dosyasını göstermişsindir.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

ahmetguvenn

#2
Kodları tekrar yazdım hatayı düzelttim çalışır hali ektedir.Bir sorum olacak ccs c derleyicisi kullanırken çalışmış olduğum kitaptaki kodları project wizard sekmesinden proje oluşturduğumda bazen programlar çalışmıyor ama kodları .c dosyası olarak yazınca derleme sonucunda sorun oluşmuyor. Nerede hata yapıyorum yardımcı olursanız sevinirim.
https://1drv.ms/u/s!Am7OO5WlVlRWikRJN-xcFYLMJkSa

#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD                  //No Watch Dog Timer

#use delay(clock=4000000)
#use fast_io(a)
#use fast_io(b)
#define buton pin_A0
int i=1;
void main()
{
   setup_psp(PSP_DISABLED);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_CCP1(CCP_OFF);
   setup_CCP2(CCP_OFF);
   
   set_tris_a(0x01);
   set_tris_b(0x00);
   output_b(0x00);
   while(TRUE)
   {
      if(input(buton))
      {
         delay_ms(15);
         output_b(i);
         i=i+1;
         while(input(buton));
         if (i==0)
         {
         i=0;
         }
   }

   }}

ahmetguvenn

#3
Benzer bir sorun bu uygulamada da karşılaştım. Butona bastığımda 7segment'de hiçbir değişiklik olmuyor ayrıca proteus simulasyonu kendini kapatıyor.
https://1drv.ms/u/s!Am7OO5WlVlRWikXimT_Nps8aIodE
#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD                  //No Watch Dog Timer

#use delay(clock=4000000)
#use fast_io(a)
#use fast_io(b)
#define arttir pin_a0
#define azalt pin_a1

int birler=0,onlar=0,sayi=0;
const int digit[10]={0x00 ,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
void main()
{
  setup_psp(PSP_DISABLED);
  setup_timer_1(T1_DISABLED);
  setup_timer_2(T2_DISABLED,0,1);
  setup_adc_ports(NO_ANALOGS);
  setup_adc(ADC_OFF);
  setup_CCP1(CCP_OFF);
  setup_CCP2(CCP_OFF);
  
  set_tris_a(0x03);
  set_tris_b(0x00);
  
  
  while(TRUE)
  {
  
      output_b(digit[birler] | (0b00010000));
      delay_ms(5);
      output_b(digit[onlar] | (0b00100000));
      delay_ms(5);
      
      if(input(arttir))
      {
        
        sayi++;
        birler=sayi%10;
        onlar=sayi/10;
        
        while(input(arttir))
        {
            output_b(digit[birler] | (0b00010000));
            delay_ms(5);
            output_b(digit[onlar] | (0b00100000));
            delay_ms(5);
        }
        
      }
      if(input(azalt)&&(sayi!=0))
      {
        sayi--;
        birler=sayi%10;
        onlar=sayi/10;
        while(input(azalt))
        {
            output_b(digit[birler] | (0b00010000));
            delay_ms(5);
            output_b(digit[onlar] | (0b00100000));
            delay_ms(5);
        }
        
      }
      if(sayi==100)
        sayi=0;
  }
}



mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr

ahmetguvenn

#5
Bu sorunu hala çözemedim. Yardımcı olabilecek bir arkadaşımız var mı?