📄 eeprom.lis
字号:
.module eeprom.c
.area text(rom, con, rel)
0000 .dbfile E:\item\car\AT45DB041D\eeprom.c
0000 .dbfunc e eeprom_write_byte _eeprom_write_byte fV
0000 ; ucData -> R18
0000 ; address -> R16,R17
.even
0000 _eeprom_write_byte::
0000 .dbline -1
0000 .dbline 5
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; void eeprom_write_byte(unsigned int address,unsigned char ucData)
0000 ; {
0000 L2:
0000 .dbline 8
0000 ; /* 等待上一次写操作结束 */
0000 ; while(EECR & (1<<EEWE))
0000 ; ;
0000 L3:
0000 .dbline 7
0000 E199 sbic 0x1c,1
0002 FECF rjmp L2
0004 X0:
0004 .dbline 10
0004 ; /* 设置地址和数据寄存器 */
0004 ; EEAR = address;
0004 1FBB out 0x1f,R17
0006 0EBB out 0x1e,R16
0008 .dbline 11
0008 ; EEDR = ucData;
0008 2DBB out 0x1d,R18
000A .dbline 13
000A ; /* 置位EEMWE */
000A ; EECR |= (1<<EEMWE);
000A E29A sbi 0x1c,2
000C .dbline 15
000C ; /* 置位EEWE以启动写操作 */
000C ; EECR |= (1<<EEWE);
000C E19A sbi 0x1c,1
000E .dbline -2
000E L1:
000E .dbline 0 ; func end
000E 0895 ret
0010 .dbsym r ucData 18 c
0010 .dbsym r address 16 i
0010 .dbend
0010 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -