Pic programlama yardım

erolcom06

Üye
Katılım
11 Kas 2012
Mesajlar
27
Puanları
1
Yaş
43
Arkadaşlar pic 16f84 ile devre kurmak istiyorum devrede 1dugme olacak dügmeye basıldığında bi bacak tetik vercek ayni dugmye tekrar basıldığında tetik kapanacak (on off ) devresi gibi sonra aynı dugmeye basıp farklı bir bacağa 5 saniye zamanlı tetik verecek aynı dugmeye tekrar basıldığında farklı bir bacağa tekrar 5 saniye zamanlı tetik gönderecek hex ve asm olarak olcak Teşekkürler
 
bu şekilde emirvaki ile kimse sana yardım edemez. Kendin biraz uğraş ortaya birşeyler çıkar takıldığın yerde yardımcı olalım..
 
denedim çalışıyor gerisi sana kalmış

Kod:
#include <16F84A.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading


#use delay(clock=4000000)
#use fast_io(a)
#use fast_io(b)
#define button 
int i=0;
int oku=0;


void main()
{


setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);


  set_tris_a(255);
  set_tris_b(0x00);
  output_b(0);
  
  while(1)
  {
  
if(input(pin_a0)) //buton okunuyor
{
delay_ms(15);   //buton arkları için bekleme
i++;           //her butona basılışta artır


while(input(pin_a0))  //buton bırakılana kadar bekle
{


switch (i)  
{
case 1:              //butona 1 defa basılmışsa 
output_high(pin_b0);
break;


case 2:            //butona 2 defa basılmışsa
output_low(pin_b0);
break;


case 3:   //butona 3 defa basılmışsa
output_high(pin_b1);
delay_ms(5000);
output_low(pin_b1);
break;


case 4:    //butona 4 defa basılmışsa
output_high(pin_b2);
delay_ms(5000);
output_low(pin_b2);
break;
default:
if(i>=4)
{
i=0;
output_b(0);
}
}


  }
}
  }
}
 
denedim çalışıyor gerisi sana kalmış

Kod:
#include <16F84A.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading


#use delay(clock=4000000)
#use fast_io(a)
#use fast_io(b)
#define button 
int i=0;
int oku=0;


void main()
{


setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);


  set_tris_a(255);
  set_tris_b(0x00);
  output_b(0);
  
  while(1)
  {
  
if(input(pin_a0)) //buton okunuyor
{
delay_ms(15);   //buton arkları için bekleme
i++;           //her butona basılışta artır


while(input(pin_a0))  //buton bırakılana kadar bekle
{


switch (i)  
{
case 1:              //butona 1 defa basılmışsa 
output_high(pin_b0);
break;


case 2:            //butona 2 defa basılmışsa
output_low(pin_b0);
break;


case 3:   //butona 3 defa basılmışsa
output_high(pin_b1);
delay_ms(5000);
output_low(pin_b1);
break;


case 4:    //butona 4 defa basılmışsa
output_high(pin_b2);
delay_ms(5000);
output_low(pin_b2);
break;
default:
if(i>=4)
{
i=0;
output_b(0);
}
}


  }
}
  }
}

Hex olarak gönderebilirmisiniz Teşekkürler

KontrolKalemi Mobile ile gönderildi.
 
ekte mevcut hex
 

Ekli dosyalar

  • buton.rar
    367 bayt · Görüntüleme: 3

Yeni mesajlar

Forum istatistikleri

Konular
128,179
Mesajlar
915,648
Kullanıcılar
449,940
Son üye
yavuzturan

Yeni konular

Geri
Üst