📄 eeprom.lis
字号:
.module eeprom.c
.area text(rom, con, rel)
0000 .dbfile E:\abol\file\EMD\programme\EM-PB-2129\eeprom.c
0000 .dbfunc e EEPROM_write _EEPROM_write fV
0000 ; ucdata -> R18
0000 ; uiaddress -> R16
.even
0000 _EEPROM_write::
0000 .dbline -1
0000 .dbline 15
0000 ;
0000 ; /* 文件名称:main.c 主函数 */
0000 ; /* 编译:ICC-AVR application builder */
0000 ;
0000 ;
0000 ;
0000 ; #include <iot13v.h>
0000 ; #include <macros.h>
0000 ; #include "eeprom.h"
0000 ;
0000 ;
0000 ;
0000 ; /* EEPROM 写入 */
0000 ; void EEPROM_write(unsigned char uiaddress,unsigned char ucdata)
0000 ; {
0000 .dbline 16
0000 ; WDR();
0000 A895 wdr
0002 L2:
0002 .dbline 17
0002 L3:
0002 .dbline 17
0002 ; while(EECR&(1<<EEWE)); /*等待上一次写操作结束*/
0002 E199 sbic 0x1c,1
0004 FECF rjmp L2
0006 .dbline 18
0006 ; EEAR=uiaddress; /*设置地址寄存器*/
0006 0EBB out 0x1e,R16
0008 .dbline 19
0008 ; EEDR=ucdata;
0008 2DBB out 0x1d,R18
000A .dbline 20
000A ; EECR|=(1<<EEMWE);
000A E29A sbi 0x1c,2
000C .dbline 21
000C ; EECR|=(1<<EEWE); /*置位EEMWE 置位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 c
0010 .dbend
0010 .dbfunc e EEPROM_read _EEPROM_read fc
0010 ; uiaddress -> R16
.even
0010 _EEPROM_read::
0010 .dbline -1
0010 .dbline 26
0010 ; }
0010 ;
0010 ; /* EEPROM 读取 */
0010 ; unsigned char EEPROM_read(unsigned char uiaddress)
0010 ; {
0010 L6:
0010 .dbline 27
0010 L7:
0010 .dbline 27
0010 ; while(EECR&(1<<EEWE)); /*等待上一次写操作结束*/
0010 E199 sbic 0x1c,1
0012 FECF rjmp L6
0014 .dbline 28
0014 ; EEAR=uiaddress; /*设置地址寄存器*/
0014 0EBB out 0x1e,R16
0016 .dbline 29
0016 ; EECR|=(1<<EERE); /*置位EEMWE 置位EEWE以启动读操作*/
0016 E09A sbi 0x1c,0
0018 .dbline 30
0018 ; return EEDR; /*自数据存贮器返回数据*/
0018 0DB3 in R16,0x1d
001A .dbline -2
001A L5:
001A .dbline 0 ; func end
001A 0895 ret
001C .dbsym r uiaddress 16 c
001C .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -