Hello, I am having problem with program written with KEIL: *** error 65: access violation at I:0x81 : no 'write' permission. Can't find sollution myself, could you help?
This program takes info from ADC and writes it to RAM (100 samples). These is also delay routine with a 10x10ms=100ms.
ADC is AD573, processor - 8051.
RAM equ 0000H
ADC_CONV equ 4000H
ADC_READ_HBE equ 8000H
ADC_READ_LBE equ 0C000H
ADC_NIN equ 100
TIMER_MULTIP equ 10
ORG 0000H
SJMP MAIN
ORG 0040H
MAIN: MOV R1, #ADC_NIN
WAIT1: MOV DPTR, #ADC_CONV
MOVX @DPTR, A
WAIT2: JNB P3.2, WAIT2
LCALL READ
READ: MOV DPTR, #ADC_READ_HBE
MOVX A, @DPTR
MOV DPTR, #RAM
MOVX @DPTR, A
INC DPTR
MOV R2, DPH
MOV R3, DPL
MOV DPTR, #ADC_READ_LBE
MOVX A, @DPTR
ANL A, #0C0H
MOV DPH, R2
MOV DPL, R3
MOVX @DPTR, A
INC DPTR
MOV R2, DPH
MOV R3, DPL
LCALL DELAY
WAIT3: DJNZ R1, WAIT1
RET
DELAY: MOV TMOD,#01
MOV R0,#TIMER_MULTIP
WAIT4: MOV TH0,#0D8H
MOV TL0,#0EFH
SETB TR0
FLAG: JNB TF0, FLAG
CLR TR0
CLR TF0
DJNZ R0, WAIT4
RET
END