
Rev. 1.00
40
October 26, 2018
Rev. 1.00
41
October 26, 2018
BS86DH12C
High Voltage Touch A/D Flash MCU with HVIO
BS86DH12C
High Voltage Touch A/D Flash MCU with HVIO
Programming Examples
Reading data from the EEPROM – polling method
MOV A, EEPROM_ADRES ; user defined address
MOV EEA, A
MOV A, 040H ; set memory pointer MP1L
MOV MP1L, A ; MP1L points to EEC register
MOV A, 01H ; set memory pointer MP1H
MOV MP1H, A
SET IAR1.1 ; set RDEN bit, enable read operations
SET IAR1.0 ; start Read Cycle - set RD bit
BACK:
SZ IAR1.0 ; check for read cycle end
JMP BACK
CLR IAR1 ; disable EEPROM read if no more read operations are required
CLR MP1H
MOV A, EED ; move read data to register
MOV READ_DATA, A
Note: For each read operation, the address register should be re-specified followed by setting the RD
bit high to activate a read cycle even if the target address is consecutive.
Writing Data to the EEPROM – polling method
MOV A, EEPROM_ADRES ; user defined address
MOV EEA, A
MOV A, EEPROM_DATA ; user defined data
MOV EED, A
MOV A, 040H ; set memory pointer MP1L
MOV MP1L, A ; MP1L points to EEC register
MOV A, 01H ; set memory pointer MP1H
MOV MP1H, A
CLR EMI
SET IAR1.3 ; set WREN bit, enable write operations
SET IAR1.2 ; start Write Cycle - set WR bit – executed immediately
; after setting WREN bit
SET EMI
BACK:
SZ IAR1.2 ; check for write cycle end
JMP BACK
CLR MP1H