I VAR byte
PM_ADDR VAR WORD
PM_ADDRL VAR PM_ADDR.LOWBYTE
PM_ADDRH VAR PM_ADDR.HIGHBYTE
ADC_CH0 VAR WORD
ADC_CH0_L VAR ADC_CH0.LOWBYTE
ADC_CH0_H VAR ADC_CH0.HIGHBYTE
INICIO: TRISIO = %11011111 'Configura puerto GPIO.5 como salida
ANSEL = 0 'Configura puerto como digital
LOW LED
FOR PM_ADDR = $7A0 TO $7FF STEP 4
PMADRH = PM_ADDRH
PMADRL = PM_ADDRL - 1
FOR i = 0 TO 3
PMADRL = PMADRL + 1
PMDATH = ADC_CH0_H
PMDATL = ADC_CH0_L
ADC_CH0 = ADC_CH0 + 1
GOSUB WR_D
NEXT I
NEXT PM_ADDR
HIGH LED
AGAIN: GOTO again
WR_D:
ASM
BANKSEL PMCON1
BSF PMCON1,WREN ;Habilita la escritura de la memoria de programa
MOVLW 55H
MOVWF PMCON2
MOVLW 0AAH
MOVWF PMCON2
BSF PMCON1,WR ;Comienza la escritura en la memoria de programa
NOP
NOP
CLRF PMCON1
BANKSEL _PM_ADDRL
ENDASM
RETURN[attachment id=1 msg=396290]