📄 eeprom_r_w.lis
字号:
.module EEPROM_R_W.C
.area text(rom, con, rel)
0000 .dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\EEPROM_R_W.C
0000 .dbfunc e EEPROM_write _EEPROM_write fV
0000 ; ucData -> R18
0000 ; uiAddress -> R16,R17
.even
0000 _EEPROM_write::
0000 .dbline -1
0000 .dbline 5
0000 ; #include <iom8v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; void EEPROM_write(unsigned int uiAddress, unsigned char ucData)
0000 ; {
0000 L2:
0000 .dbline 8
0000 L3:
0000 .dbline 7
0000 ; /* 等待上一次写操作结束 */
0000 ; while(EECR & (1<<EEWE))
0000 E199 sbic 0x1c,1
0002 FECF rjmp L2
0004 .dbline 10
0004 ; ;
0004 ; /* 设置地址和数据寄存器 */
0004 ; EEAR = uiAddress;
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 uiAddress 16 i
0010 .dbend
0010 .dbfunc e EEPROM_read _EEPROM_read fc
0010 ; uiAddress -> R16,R17
.even
0010 _EEPROM_read::
0010 .dbline -1
0010 .dbline 19
0010 ; }
0010 ;
0010 ; unsigned char EEPROM_read(unsigned int uiAddress)
0010 ; {
0010 L6:
0010 .dbline 22
0010 L7:
0010 .dbline 21
0010 ; /* 等待上一次写操作结束 */
0010 ; while(EECR & (1<<EEWE))
0010 E199 sbic 0x1c,1
0012 FECF rjmp L6
0014 .dbline 24
0014 ; ;
0014 ; /* 设置地址寄存器 */
0014 ; EEAR = uiAddress;
0014 1FBB out 0x1f,R17
0016 0EBB out 0x1e,R16
0018 .dbline 26
0018 ; /* 设置EERE以启动读操作 */
0018 ; EECR |= (1<<EERE);
0018 E09A sbi 0x1c,0
001A .dbline 28
001A ; /* 自数据寄存器返回数据 */
001A ; return EEDR;
001A 0DB3 in R16,0x1d
001C .dbline -2
001C L5:
001C .dbline 0 ; func end
001C 0895 ret
001E .dbsym r uiAddress 16 i
001E .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -