;Program-38) USART arabirimi ile bilgisayardan gönderilen verinin ;PIC16F628A’dan alınması işlemine örnek program. Şekil 16-19’da ;görülen devreye göre bilgisayar klavyesinden gönderilen karakterlerin ;ASCII kodu karşılığı olan sayı Hyper terminal programı ile gönderilir. ;Gönderilen bu sayı PIC16F628A’nın RX ucundan alınarak A port’unun alt ;dört bit’ine ve B port’unun üst dört bit’ine bağlı olan LED’lerde binary olarak gösterilir. ;===PROG38.ASM====14/09/2005================================ LIST P=16F628A INCLUDE "P16F628A.INC" __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF ;----------------------------------------------------------- ORG h'0000' MOVLW h'07' ;PortA’nın uçları sayısal I/O MOVWF CMCON ;CMCON saklayıcısına yaz CLRF PORTA ;PORTA uçlarını sıfırla CLRF PORTB ;PORTB uçlarını sıfırla BANKSEL TRISA ;BANK1’e geç MOVLW b'11110000' ;PORTA’nın alt dört bit’i çıkış MOVWF TRISA MOVLW b'00000010' ;RB1/RX=giriş, RB2/TX=çıkış MOVWF TRISB ;PORTB’nin üst dört bit’i çıkış MOVLW d'25' ;9600 baud rate’lik hız için MOVWF SPBRG ;25 desimal sayısı yükle MOVLW b'00000100' ;SYNC=0(4.bit), BRGH=1(2.bit) MOVWF TXSTA BANKSEL PORTB ;BANK0’a geç MOVLW b'10010000' ;SPEN=1(7.bit),CREN=1(4.bit) MOVWF RCSTA LED_GONDER ;----- Verileri PORTA’daki LED’lere gönder--- CALL VERI_AL MOVWF PORTA ;W saklayıcıyı PORTA’ya gönder MOVWF PORTB ;W saklayıcıyı PORTB’ye gönder GOTO LED_GONDER VERI_AL ;------RCREG’den veri okuma alt programı------- BTFSS PIR1, RCIF ;RCIF bayrağı “1” mi? GOTO VERI_AL ;Hayır, tekrar test et. MOVF RCREG,W ;Evet, RCREG’i W’ye yükle RETURN END ;-----------------------------------------------------------