LIST P = 16F628 ; MICROCONTROLLER USED
#include "P16F628.inc" ; HEADER FILE (CONTAINS APPROPRIATE EQUATES SECTION
;===========================================================================
; CONFIGURATION WORD
;===========================================================================
ERRORLEVEL 0, -302 ; STOPS BANK SELECTION MESSAGES
__CONFIG 0x3D18 ;CONFIGURATION WORD (SETS OSCILATOR ETC)
org 0x0000
bsf STATUS, RP0 ;select bank 1
MOVLW 0X07
MOVWF CMCON
MOVLW B'00100011'
MOVWF TRISA
MOVLW B'00000010'
MOVWF TRISB
MOVLW D'12'
MOVWF SPBRG
MOVLW B'00100100'
MOVWF TXSTA
MOVLW B'00000000'
MOVWF PIE1
MOVLW b'00100100'
MOVWF TXSTA ;configure USART transmission
clrf PIE1
bcf STATUS, RP0 ;return to bank 0
bsf RCSTA, SPEN
;----------------------------------------------------------------------------
; Main program
;----------------------------------------------------------------------------
START
BANKSEL PORTA
BTFSC PORTA, 0 ;Check to see if the carry is set
CALL CAMERA_A
BTFSC PORTA, 1
CALL CAMERA_B
GOTO START ;Loop forever
CAMERA_A
C_A
BANKSEL TXSTA
BTFSS TXSTA, TRMT
GOTO C_A
BANKSEL TXREG
MOVLW H'41'
MOVWF TXREG
RETURN
CAMERA_B
C_B
BANKSEL TXSTA
BTFSS TXSTA, TRMT
GOTO C_B
BANKSEL TXREG
MOVLW H'42'
MOVWF TXREG
RETURN
END