RF-PIC haberleşmesi

Başlatan yildizelektronik, 14 Nisan 2007, 20:17:57

yildizelektronik

Arkadaşlar piyasada hazır satılan 433mhz alıcı verici devreleri var.Ben pic ile bunların haberleşmesini nasıl yapabilirim.Biraz araştırma yaptım ama tam olarak bilgi sahibi olamadım.Mesela uzaktan bir led i nasıl yakabilirim.Aydınlatırsanız sevinirim.Hepinize iyi çalışmalar

aslan_korhan

Forumda aratırsan bu konu ile ilgili baya konu var...
Dünyada 10 çeşit insan vardır. Binary bilen ve bilmeyenler.

alieren

portb.2 ye bagli button alicadaki(portb.1 e bagli ledi yakar), portb.1 ise sondurur. yapmaya karar verirde takildigin yer olursa sorabilirsin.



;verici.asm
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

   list   p=16F84
   include   "P16F84.inc"
   __CONFIG    _CP_OFF & _WDT_OFF &_PWRTE_ON &_XT_OSC
     
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

#define   seri_out   PORTA,1
#define   button1      PORTB,1
#define   button2      PORTB,2
bt   equ   0x16
bt1   equ   0x15   

   org   0x0000

basla
   clrwdt
   call   inital
tekrar   btfsc   button1
   goto   ax
   call   gecikme
   goto   mesaj
ax   btfsc   button2
   goto   tekrar
   call   gecikme
   goto   mesaj1
inital
   bsf   STATUS,5
   clrf   TRISA
   movlw   b'00000110'
   movwf   TRISB
   bcf   STATUS,5
   return

mesaj
   bcf   seri_out   ;start biti 0 olarak gonderilir
   call   baud_time   ;417 mikrosaniye bekle   
   bcf   seri_out   ;
   call   baud_time   ;8 bitlik veri, seri cikis pini
   bsf   seri_out   ;0 ve 1 yapilarak ve herseferinde
   call   baud_time   ;
   bcf   seri_out   ;araya 417 mikrosaniye gecikme konularak
   call   baud_time   ;
   bsf   seri_out   ;gonderilir.
   call   baud_time   ;
   bcf   seri_out   ;
   call   baud_time   ;
   bsf   seri_out   ;
   call   baud_time   ;
   bcf   seri_out   ;
   call   baud_time   ;
   bsf   seri_out   ;
   call   baud_time
   bsf   seri_out
   call   baud_time   ;
   goto   tekrar
mesaj1   
   
   bcf   seri_out   ;start biti 0 olarak gonderilir
   call   baud_time   ;417 mikrosaniye bekle   
   bsf   seri_out   ;
   call   baud_time   ;8 bitlik veri, seri cikis pini
   bcf   seri_out   ;0 ve 1 yapilarak ve herseferinde
   call   baud_time   ;
   bsf   seri_out   ;araya 417 mikrosaniye gecikme konularak
   call   baud_time   ;
   bcf   seri_out   ;gonderilir.
   call   baud_time   ;
   bsf   seri_out   ;
   call   baud_time   ;
   bcf   seri_out   ;
   call   baud_time   ;
   bsf   seri_out   ;
   call   baud_time   ;
   bcf   seri_out   ;
   call   baud_time   ;
   bsf   seri_out
   call   baud_time
   goto   tekrar      ;button u test etmeye git
      

baud_time
   movlw   0x86      ;2400 bps hizinda veri iletimi
   movwf   bt      ;icin 417 mikrosaniyelik gecikme
next1   decfsz   bt,F      ;
   goto   next1      ;suresi
   return         ;

gecikme
   movlw   0xFF      ;ark sonmesi icin gecikme
   movwf   bt      ;suresi
next3   movlw   0xFF
   movwf   bt1
next2   decfsz   bt1,F      ;
   goto   next2
   decfsz   bt,F
   goto   next3      ;
   return         ;gecikme alt programindan cik
   end         ;program sonu

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<



;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<






;alici.asm
;
   list   p=16F84
   include   "P16F84.inc"
   __CONFIG   _CP_OFF &_WDT_OFF &_PWRTE_ON &_XT_OSC

#define   LED   PORTB,1      ;led=portb,1
#define   seri_in   PORTA,0   ;seri_in=porta,1
sdata   equ   0x14      
temp   equ   0x15
bt   equ   0x16
hafiza   equ   0x13
HAFIZA1 EQU     0X17


   org   0x0000

basla
   clrwdt
   bsf   STATUS,5
   movlw   b'00000000'
   movwf   TRISB
   movlw   b'00001'
   movwf   TRISA
   bcf   STATUS,5
   MOVLW   B'01010101'
   MOVWF   HAFIZA1
   MOVLW   B'10101010'
   MOVWF   hafiza
   CLRF   PORTA
   CLRF   PORTB
stest
   btfsc   seri_in      ;seri_in=porta,1 pini 0 mi?
   goto   stest      ;hayir, start biti değil
   call   baud_time_half   ;evet,yarim bit suresince bekle
   call   baud_time   ;bir bit suresince bekle
   movlw   d'8'
   movwf   temp

serikomutin

   btfss   seri_in
   goto   $+3
   bsf   STATUS,C
   goto   $+2
   bcf   STATUS,C
   rrf   sdata,F
   call   baud_time
   decfsz   temp,F
   goto   serikomutin
   bsf   seri_in
   call   baud_time
   movf   sdata,w
   subwf   hafiza,w
   btfss   STATUS,Z
   goto   $+3
   bcf   LED
   goto   stest
   movf   sdata,w
   subwf   HAFIZA1,w
   BTFSS   STATUS,Z
   goto   stest
   bsf   LED
son   goto   stest

baud_time
   movlw   0x86
   movwf   bt
nextb   decfsz   bt,F
   goto   nextb
   return

baud_time_half
   movlw   0x39
   movwf   bt
nextbh   decfsz   bt,F
   goto   nextbh
   return
   end
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

alieren

http://rapidshare.tv/987188
buraya yukledim, indirebilirsin,proteustaki cizimi mevcut. yalniz bu linkten gitigin yerde dosyayi yukle yazan yere clik etmen lazin(tuhaf bir paylasim programi)