📄 eeprom.lis
字号:
.module eeprom.c
.area text(rom, con, rel)
0000 .dbfile E:\abol\file\EMD\programme\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 22
0000 ;
0000 ; /********************************************************/
0000 ; /* ABOL */
0000 ; /* 868MHZ数码管显示接收器 */
0000 ; /* 作者:于朝晖 2008-5-24 9:30:00 */
0000 ; /* 目标MCU:MEGA16 晶振:INT RC 8MHZ */
0000 ; /* 文件名称:main.c 主函数 */
0000 ; /* 编译:ICC-AVR application builder */
0000 ; /* 当前版本: 1.0 */
0000 ; /* 修改日期: 2008.5.24 */
0000 ; /********************************************************/
0000 ;
0000 ;
0000 ; #include <iom88v.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 23
0000 ; WDR();
0000 A895 wdr
0002 L2:
0002 .dbline 24
0002 L3:
0002 .dbline 24
0002 ; while(EECR&(1<<EEWE)); /*等待上一次写操作结束*/
0002 F999 sbic 0x1f,1
0004 FECF rjmp L2
0006 .dbline 25
0006 ; EEAR=uiaddress; /*设置地址寄存器*/
0006 202E mov R2,R16
0008 3324 clr R3
000A 32BC out 0x22,R3
000C 21BC out 0x21,R2
000E .dbline 26
000E ; EEDR=ucdata;
000E 20BD out 0x20,R18
0010 .dbline 27
0010 ; EECR|=(1<<EEMWE);
0010 FA9A sbi 0x1f,2
0012 .dbline 28
0012 ; EECR|=(1<<EEWE); /*置位EEMWE 置位EEWE以启动写操作*/
0012 F99A sbi 0x1f,1
0014 .dbline -2
0014 L1:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbsym r ucdata 18 c
0016 .dbsym r uiaddress 16 c
0016 .dbend
0016 .dbfunc e EEPROM_read _EEPROM_read fc
0016 ; uiaddress -> R16
.even
0016 _EEPROM_read::
0016 .dbline -1
0016 .dbline 33
0016 ; }
0016 ;
0016 ; /* EEPROM 读取 */
0016 ; unsigned char EEPROM_read(unsigned char uiaddress)
0016 ; {
0016 L6:
0016 .dbline 34
0016 L7:
0016 .dbline 34
0016 ; while(EECR&(1<<EEWE)); /*等待上一次写操作结束*/
0016 F999 sbic 0x1f,1
0018 FECF rjmp L6
001A .dbline 35
001A ; EEAR=uiaddress; /*设置地址寄存器*/
001A 202E mov R2,R16
001C 3324 clr R3
001E 32BC out 0x22,R3
0020 21BC out 0x21,R2
0022 .dbline 36
0022 ; EECR|=(1<<EERE); /*置位EEMWE 置位EEWE以启动读操作*/
0022 F89A sbi 0x1f,0
0024 .dbline 37
0024 ; return EEDR; /*自数据存贮器返回数据*/
0024 00B5 in R16,0x20
0026 .dbline -2
0026 L5:
0026 .dbline 0 ; func end
0026 0895 ret
0028 .dbsym r uiaddress 16 c
0028 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -