Verici Kısmında Bu devreyi denediğim zaman ''CCS C 2" xmit= PIN_A2" rcv=PIN_C7 yaptığım zaman 1684A da C7 pini olmadığı için hata veriyor. Yardım Lütfen.
Amacım. 16f84a dan 1 yada 0 bilgisi alıp. 18f2550 ile bu bilgiyi bilgisayara aktarmak.
https://www.picproje.org/index.php/topic,57135.0.html (https://www.picproje.org/index.php/topic,57135.0.html)
(http://s12.postimg.cc/xj8tfvlih/Ads_z.jpg) (http://postimg.cc/image/xj8tfvlih/)
Bu şekilde denediğimde 16f84a nın port_A2 ve 18f2550 nin port_c7 ucunda bilginin gittiğini görebiliyorum ama 18f2550 nin Port_b çıkışında herhangi bir değişme olmuyor.
Yardım edebilirseniz sevinirim.
ALICI KODLARI
#include <18f2550.h>
#fuses XT, NOPROTECT, NOWDT, PUT
#byte porta=5
#byte portb=6
#use delay(clock=4000000)
#use rs232(baud=600, xmit=PIN_C7, rcv=PIN_C6)
char e;
void main(){
set_tris_b(0x00);
output_b(0x00);
while(1){
if(getch()=='X'){e=getch();
if(e=='A'){
output_high(pin_b0);
delay_ms(200);
output_low(pin_b0);
}
if(e=='B'){
output_high(pin_b1);
delay_ms(200);
output_low(pin_b1);
delay_ms(200);
}
if(e=='C'){
output_high(pin_b2);
delay_ms(200);
output_low(pin_b2);
delay_ms(200);
}
if(e=='D'){
output_high(pin_b3);
delay_ms(200);
output_low(pin_b3);
delay_ms(200);
}}}}
VERİCİ KODLARI
#include <16f84a.h>
#fuses XT, NOPROTECT, NOWDT, PUT
#byte porta=5
#byte portb=6
#use delay(clock=4000000)
#use rs232(baud=600, xmit=PIN_A2, rcv=PIN_A1)
char t;
void main(){
set_tris_b(0xff);
set_tris_a(0x00);
porta=0;
while(1){
if(input(pin_b0)==1){
putc(0b01010101);
putc('X');
putc('A');
}
if(input(pin_b1)==1){
putc(0b01010101);
putc('X');
putc('B');
}
if(input(pin_b2)==1){
putc(0b01010101);
putc('X');
putc('C');
}
if(input(pin_b3)==1){
putc(0b01010101);
putc('X');
putc('D');
}
if(input(pin_b4)==1){
putc(0b01010101);
putc('X');
putc('E');
}
if(input(pin_b5)==1){
putc(0b01010101);
putc('X');
putc('F');
}
if(input(pin_b6)==1){
putc(0b01010101);
putc('X');
putc('G');
}
if(input(pin_b7)==1){
putc(0b01010101);
putc('X');
putc('H');
}
}
16f84 ve 16f84a piclerinde pinlerde "rx ve tx" çıkışları yok. Yapamazsın, 16f877 kullan.
Niye yapamaz?
ilginiz için teşekkür ederim başka bi çözüm buldum. 2 tane 16f84A'yı haberleştirip alıcı kısmındaki pic16f84a nin b portlarını pic18f2550 nin b portlarına direk bağlayarak işi çözdüm.
@Ramu, RS232 portuna bilgi gönderme (TX), RS232 portunun alma ucu(RX) uçları değil midir? Yoksa ben mi yanlış biliyorum.
16F84 16F84A da donanımsal uart usart eusart vs. yni
RX TX pinleri yoktur.
Zaten bununla ilgili bir şey söylemedim.
Benim merak ettiğim neden yapamaz?
Yazılımsal yapar zaten RF modülleri bildiğim kadarıyla Usart kullanmıyor ama usartlada çalışabilir.Başka bir şeklide iletişim sağlanabiliyor.Yazılımsal yapar ise RB0 kesmesine RX_interrupt verir olur gibi .Gökhan hocam vermişti bu fikri :D