16F628A PortA 1 yapamıyorum çıkış alamıyorum

HALER

Üye
Katılım
31 Ağu 2012
Mesajlar
4
Puanları
1
Yaş
39
Merhaba,

Seri haberleşme ile başka bir 16f628a ile bilgi gönderiyorum ama nedense PORTA nın hiç birinde hareket yok. aynı alıcı pic in b portundan giriş yapmayı denedim belki seri haberleşmeyi yanlış yazdım diye ama yine aynı . anlamadım. porta yı tamamen çıkış olarak kullanmak istiyorum. programı yazıyorum altta yardımlarınızı bekliyorum. şimdiden teşekkürler.

VERİCİ:

#include "C:\Users\win7\Desktop\RFgelistirme2\rfver.h"
#fuses xt,nowdt,nobrownout,noprotect,nolvp,nocpd,noput
#use delay(clock=4M)
#use rs232(baud=600,parity=N,xmit=pin_b2,rcv=pin_b1,bits=8)


void main()
{


setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);


while(1)
{
set_tris_a(0xFF);
set_tris_b(0x00);
output_a(0x00);


if(input(pin_a0)==1)
{
putc(0b01010101);
putc('X');
putc('A');
delay_ms(50);
}
}
}


ALICI:

#include "C:\Users\win7\Desktop\RFgelistirme2\rfal.h"
#fuses xt,nowdt,nobrownout,noprotect,nolvp,nocpd,noput
#use delay(clock=4M)
#use rs232(baud=600,parity=N,rcv=pin_b1,bits=8)
char e;


void main()
{


setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);


while(1)
{
set_tris_a(0b00000);
set_tris_b(0b00000010);
output_a(0b00000);
output_b(0x00);


if (getch()=='X')
{
e=getch();
if (e=='A')
{
output_high(pin_a0);
}
if(input(pin_b4)==1)
{
output_high(pin_a0);
}
}
}
}
 
if (getch()=='X')
{
e=getch();
if (e=='A')
{
output_high(pin_a0);
}
if(input(pin_b4)==1)
{
output_high(pin_a0);
}
}

kolay gelsin.
kımızı yazan yerin işlenebilmesi için. "getch()" eşittir "'X'" koşulu olduktan sonra "e" ye "getch()" in değerini atıyoruz ve "e" nin "'A' ya eşit olup olmadığına bakıyoruz.. yani getch() değerinin hem 'X' e hem de 'A' ya eşit olması gerekiyor.

mavi yerin işlenmesi için de:
if (getch()=='X') koşulu sağlandıktan sonra pin_b4 ün 1 olması gerekiyor.
set_tris_b(0b00000010);// pin_b1 giriş geri kalanlar çıkış olsun
output_b(0x00); // port_b ye bahar temizliği tüm çıkışlar "0" lansın

olmuşken pin_b41 yapacak olan nedir?



kolay gelsin


 

Forum istatistikleri

Konular
129,807
Mesajlar
930,289
Kullanıcılar
452,608
Son üye
murat620

Yeni konular

Geri
Üst