GOOGLE "PIC READ MODIFY WRITE"
Code:
;----[18F25K22 Hardware Configuration]------------------------------------------
#IF __PROCESSOR__ = "18F25K22"
#DEFINE MCU_FOUND 1
#CONFIG
CONFIG FOSC = INTIO67 ; Internal oscillator block
CONFIG PLLCFG = OFF ; Oscillator used directly
CONFIG PRICLKEN = ON ; Primary clock can be disabled by software
CONFIG FCMEN = OFF ; Fail-Safe Clock Monitor disabled
CONFIG IESO = OFF ; Oscillator Switchover mode disabled
CONFIG PWRTEN = OFF ; Power up timer disabled
CONFIG BOREN = SBORDIS ; Brown-out Reset enabled in hardware only (SBOREN is disabled)
CONFIG BORV = 190 ; VBOR set to 1.90 V nominal
CONFIG WDTEN = ON ; WDT is always enabled. SWDTEN bit has no effect
CONFIG WDTPS = 32768 ; 1:32768
CONFIG CCP2MX = PORTC1 ; CCP2 input/output is multiplexed with RC1
CONFIG PBADEN = OFF ; PORTB<5:0> pins are configured as digital I/O on Reset
CONFIG CCP3MX = PORTB5 ; P3A/CCP3 input/output is multiplexed with RB5
CONFIG HFOFST = ON ; HFINTOSC output and ready status are not delayed by the oscillator stable status
CONFIG T3CMX = PORTC0 ; T3CKI is on RC0
CONFIG P2BMX = PORTB5 ; P2B is on RB5
CONFIG MCLRE = INTMCLR ; RE3 input pin enabled; MCLR disabled
CONFIG STVREN = ON ; Stack full/underflow will cause Reset
CONFIG LVP = OFF ; Single-Supply ICSP disabled
CONFIG XINST = OFF ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
CONFIG DEBUG = OFF ; Disabled
CONFIG CP0 = OFF ; Block 0 (000800-001FFFh) not code-protected
CONFIG CP1 = OFF ; Block 1 (002000-003FFFh) not code-protected
CONFIG CP2 = OFF ; Block 2 (004000-005FFFh) not code-protected
CONFIG CP3 = OFF ; Block 3 (006000-007FFFh) not code-protected
CONFIG CPB = OFF ; Boot block (000000-0007FFh) not code-protected
CONFIG CPD = OFF ; Data EEPROM not code-protected
CONFIG WRT0 = OFF ; Block 0 (000800-001FFFh) not write-protected
CONFIG WRT1 = OFF ; Block 1 (002000-003FFFh) not write-protected
CONFIG WRT2 = OFF ; Block 2 (004000-005FFFh) not write-protected
CONFIG WRT3 = OFF ; Block 3 (006000-007FFFh) not write-protected
CONFIG WRTC = OFF ; Configuration registers (300000-3000FFh) not write-protected
CONFIG WRTB = OFF ; Boot Block (000000-0007FFh) not write-protected
CONFIG WRTD = OFF ; Data EEPROM not write-protected
CONFIG EBTR0 = OFF ; Block 0 (000800-001FFFh) not protected from table reads executed in other blocks
CONFIG EBTR1 = OFF ; Block 1 (002000-003FFFh) not protected from table reads executed in other blocks
CONFIG EBTR2 = OFF ; Block 2 (004000-005FFFh) not protected from table reads executed in other blocks
CONFIG EBTR3 = OFF ; Block 3 (006000-007FFFh) not protected from table reads executed in other blocks
CONFIG EBTRB = OFF ; Boot Block (000000-0007FFh) not protected from table reads executed in other blocks
#ENDCONFIG
#ENDIF
;----[Verify Configs have been specified for Selected Processor]----------------
; Note: Only include this routine once, after all #CONFIG blocks
#IFNDEF MCU_FOUND
#ERROR "No CONFIGs found for [" + __PROCESSOR__ +"]"
#ENDIF
' -----[ Initialization ]-------------------------------------------------------
Reset:
OSCCON = %01010000 ' 4MHz
ADCON1 = %00001110 ' set to digital outputs this is totally wrong
TRISA = %00000000 ' sets pin as input (1) or output (0)
TRISB = %00000001 ' sets pin as input (1) or output (0)
TRISC = %10001100 ' sets pin as input (1) or output (0)
PORTA = %00000000 ' sets outputs as high (1) or low (0)
PORTB = %00000000 ' sets outputs as high (1) or low (0)
PORTC = %00000000 ' sets outputs as high (1) or low (0)
ANSELA=0 WILL SET PORTA DIGITAL
ANSELB=0 WILL SET PORTB DIGITAL
' -----[ Variables ]------------------------------------------------------------
led1 var porta.1 ' LED 1 JUST ASKING FOR READ MODIFY WRITE ISSUES
led2 var porta.2 ' LED 2
led3 var portb.1 ' LED 3
led4 var portb.2 ' LED 4
led1 var LATA.1 ' LED 1 CAN ELIMINATE READ MODIFY WRITE ISSUES
led2 var LATA.2 ' LED 2
led3 var LATB.1 ' LED 3
led4 var LATB.2 ' LED 4
program var porta.0 ' button to restart sequence
action:
led1 = 1
pause 500
led2 = 1
pause 500
led3 = 1
pause 500
led4 = 1
pause 500
while program = 1 ' loop here until the button is pressed
pause 100
wend
led1 = 0
led2 = 0
led3 = 0
led4 = 0
goto action
Bookmarks