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

HALER

Üye
Katılım
31 Ağu 2012
Mesajlar
4
Puanları
1
Yaş
38
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


 

Yeni mesajlar

Forum istatistikleri

Konular
128,190
Mesajlar
915,724
Kullanıcılar
449,960
Son üye
katzeimar

Yeni konular

Çevrimiçi üyeler

Geri
Üst