usart ile asenkron veri alma (assembly)

murat19

Üye
Katılım
10 Ocak 2010
Mesajlar
1
Puanları
1
2 adet 16f877a pic'i kendi arasında seri haberleştirmeye çalışıyorum.verici kısmı doğru çalışıyor.proteus'da test ettim osiloskopta 9600 baud hızında 8 bit veri start ve stop bitleri dahil olmak üzere doğru bir şekilde yollanıyor fakat alıcıda bu 8 bit'i alıp portb'ye bir türlü aktaramıyorum.yardımcı olacak arkadaşlara şimdiden teşekkür ederim.


list p=16F877A
include "p16F877A.inc"
__config H'3F3A'

veri equ 0x20
sayac equ 0x21
sayac1 equ 0x22
org 0
clrf PCLATH
goto anaprogram
org 4

al
banksel PIR1
btfss PIR1,RCIF
goto $-1
banksel RCREG
movf RCREG,W
banksel PORTB
movwf PORTB
banksel PIR1
bcf PIR1,RCIF

return


ilk
banksel TRISC
clrf TRISB
bcf TRISC,6
bsf TRISC,7

movlw 0x81
movwf SPBRG

movlw 0x26
movwf TXSTA

movlw 0x80
bcf STATUS,RP0
movwf RCSTA

bsf STATUS,RP0
bcf PIE1,RCIE
bcf INTCON,PEIE
return

anaprogram
clrf PORTB
call ilk
bcf INTCON,GIE
clrf PORTB
anaprogram1
call al
goto anaprogram1

END
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…