Hello guys, i run Proteus isus simulator, i have added the device AVR at90s1200 (atmel microcont.) and i wrote some code that Writes to EEPROM this is the code:
write_eeprom_byte: ; write byte in eeprom needs address in TEMP_ADDR and data in TEMP, it destorys temp
out EEAR,temp_addr ; load address to adress register of eeprom
out EEDR,temp ; load data
ldi temp,0x02
out EECR,temp
write_delay: ;wait until write ends
sbic EECR,1 ;EMULATOR PROBLEM HERE
rjmp write_delay
ret
I run this With start debug option of ISIS simulator the problem is that it stacks in the loop write_delay:, the command sbic EECR,1 never skips to ret command, the AVR I/O Registers monitor shows that EECR never clears EEWR bit to zero as the hardware should do to ensure that write was complete.... is this a simulator bug or am i doing something wrong? thank you in advance
write_eeprom_byte: ; write byte in eeprom needs address in TEMP_ADDR and data in TEMP, it destorys temp
out EEAR,temp_addr ; load address to adress register of eeprom
out EEDR,temp ; load data
ldi temp,0x02
out EECR,temp
write_delay: ;wait until write ends
sbic EECR,1 ;EMULATOR PROBLEM HERE
rjmp write_delay
ret
I run this With start debug option of ISIS simulator the problem is that it stacks in the loop write_delay:, the command sbic EECR,1 never skips to ret command, the AVR I/O Registers monitor shows that EECR never clears EEWR bit to zero as the hardware should do to ensure that write was complete.... is this a simulator bug or am i doing something wrong? thank you in advance