16F628A PIC ile RF Led söndürme sorunu yardım edebilir misiniz ?

Başlatan grkmsngr, 19 Temmuz 2013, 11:18:01

grkmsngr

S.a Arkadaşlar 16F628A ile vericiden butona basıldığında alıcının ledi yanıyor. Fakat alıcıdaki buton ile de ledi söndürmem gerekiyor fakat bir türlü yapamadım programda
bir de söndürme işlemi olduktan sonra tekrar vericiden sinyal alabilmesi için ne yapmak lazım teşekkürler



ALICI :

char a;
void main()


{

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);4;
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
//Setup_Oscillator parameter not selected from Intr Oscillotar Config tab
setup_oscillator(osc_4mhz);
set_tris_a(0b00000010);
set_tris_b(0b00000010);


while(true)
{
if(getc()=='X')
{
a=getc();
if(a=='A')
output_high(pin_b4);
}

if(input(pin_a1)==0)

output_low(pin_b4);


}
}
VERİCİ:
void main()
{


setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);4;
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
//Setup_Oscillator parameter not selected from Intr Oscillotar Config tab
setup_oscillator(osc_4mhz);
// TODO: USER CODE!!

set_tris_a(0b00000001);
output_a(0x00);
set_tris_b(0b00000000);
output_b(0x00);




while(true)
{
if(input(pin_a0)==0)
{


putc('X'); //i am coming from x
putc('A'); //thats what i want to send
delay_ms(100);
}






}}

Kabil ATICI

Muhtemelen vericiden sinyalin geliyor ama led sürekli yandığı için sen göremiyor olabilirsin.
gördüğüm kadar ile a="A" yapmışsın bu noktada eğer LED yandıktan sonra a="B" yapmazsan sürekli sisteminde takılı kalabilir. yada fark etmez a="X"de olur.
örneğin;
if(a=='A')
{
output_high(pin_b4);
a="B"
}
gibi

ve

if(getc()=='X')
{
.
.
}
if(input(pin_a1)==0)
output_low(pin_b4);


bunu da seri port okuma dışına çıkart.
ambar7

grkmsngr

Kesme ile söndürdüm ledi fakat bu seferde tekrar verideki butona bastıgımızda led yanmıyor gucu cekıp takınca çalışıyor

RaMu

Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

Carpediem042

uyandırma biti kullanmayı bir dene
if(input(pin_b0)==1){
   putc(0b01010101);
      putc('X');
       putc('A');
  }
bu şekilde belki çözüm olabilir birde devreyi simülasyonda mı deniyorsun yoksa breadboard üzerinde m?

grkmsngr

İkisindede deniyorum hemen hemen aynılar sonuçları uyandırma koyunca hiç çalışmıyor bu sefer

grkmsngr

Arkadaşlar herşey tamam ama 2 .kez veri geldiğinde yanmıyor led güç kaynağını kesip takınca yanıyor sebebi nedir acaba ?

Carpediem042

yazdığın kodları ve isis dosyasını yükleyebilir misin ?



grkmsngr