Kód: Vybrat vše
LIST P=16F88, R=DEC
INCLUDE<P16F88.INC>
;------------------------------------------------------------
; cpu init
#DEFINE kolo 20h
#DEFINE adresa 21h
;------------------------------------------------------------
org 0x2100
de 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
de 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
;------------------------------------------------------------
org 0
goto INIT
org 0x04
retfie;
;
;------------------------------------------------------------
BANK0
BCF STATUS,RP0 ; RAM PAGE 0
BCF STATUS,RP1 ; RAM PAGE 0
return
BANK1
BSF STATUS,RP0 ; RAM PAGE 1
BCF STATUS,RP1 ; RAM PAGE 1
return
BANK2
BCF STATUS,RP0 ; RAM PAGE 2
BSF STATUS,RP1 ; RAM PAGE 2
return
BANK3
BSF STATUS,RP0 ; RAM PAGE 3
BSF STATUS,RP1 ; RAM PAGE 3
return
INIT
CALL BANK1
MOVLW b'11011111'
MOVWF TRISB
; Boot Baud Rate = 9600, No Parity, 1 Stop Bit
;
MOVLW 0x19 ; 0x19=9600 bps (0x0C=19200 bps)
MOVWF SPBRG
MOVLW b'00100100' ; brgh = high (2)
MOVWF TXSTA ; enable Async Transmission, set brgh
CALL BANK0
MOVLW b'10010000' ; enable Async Reception
MOVWF RCSTA
;***************************************************
START
MOVLW .0 ;od ktorej adresy bude citat
MOVWF adresa
CALL EEREAD
GOTO START
EEREAD
CALL BANK0
MOVLW .9
MOVWF kolo
NEXT
CALL BANK0
DECFSZ kolo,f
GOTO POKRACUJ
RETURN
POKRACUJ MOVFW adresa
CALL BANK2
MOVWF EEADR ; adresa EEPROM z W
; to read
CALL BANK3
BCF EECON1, EEPGD ; Point to Data memory
BSF EECON1, RD ; EE Read
CALL BANK2
MOVF EEDATA, W ; data
CALL BANK0
MOVWF TXREG
CALL BANK1
CAKAJ BTFSS TXSTA,TRMT ; (1) transmission is complete if hi
GOTO CAKAJ
CALL BANK0
INCF adresa,f
GOTO NEXT
return
GOTO START
end