Tony Nixon [sales at picnpoke.com] of ICmicro's says:
Title "Your Program"
;
list P = 16F877
;
include "P16f877.inc"
;
; ------------------
; CONFIGURATION FUSE
; ------------------
;
__CONFIG _CP_OFF & _WRT_ENABLE_ON & _RC_OSC & _WDT_ON & _PWRTE_OFF &
_BODEN_ON & _LVP_ON & _CPD_OFF & _DEBUG_OFF
;
; CRYSTAL SPEED = 4000000Hz
;
CBLOCK 0x20
dataL
ENDC
;
; -------------
; PROGRAM START
; -------------
;
org 0x0000 ; startup = 0000h
;
Start movlw 0x00 ; setup ports
movwf PORTA
movlw 0x00
movwf PORTB
movlw 0x40
movwf PORTC
movlw 0x00
movwf PORTD
movlw 0x00
movwf PORTE
bsf STATUS,RP0 ; RAM Page 1
movlw 0x00
movwf TRISA
movlw 0x00
movwf TRISB
movlw 0x80
movwf TRISC
movlw 0xFF
movwf TRISD
movlw 0xFF
movwf TRISE
;
; -------------------------
; SET ANALOG/DIGITAL INPUTS
; -------------------------
;
movlw 0x06 ; all digital
movwf ADCON1
;
; ------------------------------------
; SET BAUD RATE TO COMMUNICATE WITH PC
; ------------------------------------
; Boot Baud Rate = 19200, No Parity, 1 Stop Bit
;
movlw 0x0C ; 19200 baud
movwf SPBRG
movlw b'00100100' ; brgh = high (2)
movwf TXSTA ; enable Async Transmission, set brgh
movlw b'10010000' ; enable Async Reception
bcf STATUS,RP0 ; RAM Page 0
movwf RCSTA
;
; ------------------------------------
; PROVIDE A SETTLING TIME FOR START UP
; ------------------------------------
;
clrf dataL
settle decfsz dataL,F
goto settle
;
movf RCREG,W
movf RCREG,W
movf RCREG,W ; flush receive buffer
Loop call Receive ; wait for a char
movwf TXREG ; echo data back to sender
goto Loop
;
; ----------------------------
; RECEIVE CHARACTER FROM RS232
; ----------------------------
; This routine does not return until a character is received.
;
Receive btfss PIR1,RCIF ; (5) check for received data
goto Receive
;
movf RCREG,W
return
;
; ------------------------------------
; WAIT UNTIL RS232 IS FINISHED SENDING
; ------------------------------------
;
TransWt bsf STATUS,RP0
WtHere btfss TXSTA,TRMT ; (1) transmission is complete if hi
goto WtHere
;
clrf STATUS ; RAM Page 0
return
;
;
end
See:
Questions:
Comments: