📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile D:\AVR\我的程序\EEPROM读写实验/cfg.h
0000 .dbfunc e delay_ms _delay_ms fV
0000 ; i -> R20,R21
0000 ; time -> R16,R17
.even
0000 _delay_ms::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 11
0004 ; /***********************************
0004 ; *实验目的:熟悉EEPROM编程
0004 ; *设 计:萧联珠
0004 ; *日 期:2007-11-22
0004 ; ************************************/
0004 ; #include <iom16v.h>
0004 ; #include "cfg.h"
0004 ;
0004 ; void main()
0004 ; {
0004 ; unsigned char i;
0004 .dbline 13
0004 ; uart_init();
0004 ; for(i=0;i<10;i++)
0004 0AC0 xjmp L5
0006 L2:
0006 .dbline 14
0006 4427 clr R20
0008 5527 clr R21
000A L6:
000A .dbline 14
000A L7:
000A .dbline 14
000A 4F5F subi R20,255 ; offset = 1
000C 5F4F sbci R21,255
000E .dbline 14
000E 483E cpi R20,232
0010 E3E0 ldi R30,3
0012 5E07 cpc R21,R30
0014 D4F3 brlt L6
0016 L3:
0016 .dbline 13
0016 0150 subi R16,1
0018 1040 sbci R17,0
001A L5:
001A .dbline 13
001A 2224 clr R2
001C 3324 clr R3
001E 2016 cp R2,R16
0020 3106 cpc R3,R17
0022 8CF3 brlt L2
0024 .dbline -2
0024 L1:
0024 0E940000 xcall pop_gset1
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbsym r i 20 I
002A .dbsym r time 16 I
002A .dbend
002A .dbfunc e uart_init _uart_init fV
.even
002A _uart_init::
002A .dbline -1
002A .dbline 19
002A ; EEPROM_write(0x01+i,i);
002A ; delay_ms(1000);
002A ; while(1)
002A ; {
002A ; for(i=0;i<10;i++)
002A ; {
002A .dbline 20
002A ; while(!(UCSRA&(1<<UDRE))); //等待发送寄存器为空
002A 82E0 ldi R24,2
002C 8BB9 out 0xb,R24
002E .dbline 21
002E ; delay_ms(10);
002E 88E1 ldi R24,24
0030 8AB9 out 0xa,R24
0032 .dbline 22
0032 ; UDR=EEPROM_read(0x01+i); //发送数据
0032 86E0 ldi R24,6
0034 80BD out 0x20,R24
0036 .dbline 23
0036 ; }
0036 2224 clr R2
0038 20BC out 0x20,R2
003A .dbline 24
003A ; }
003A 8CE0 ldi R24,12
003C 89B9 out 0x9,R24
003E .dbline -2
003E L10:
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbend
0040 .dbfunc e EEPROM_write _EEPROM_write fV
0040 ; Data -> R18
0040 ; Address -> R16,R17
.even
0040 _EEPROM_write::
0040 .dbline -1
0040 .dbline 29
0040 ; }
0040 ; }
0040 ; }
0040 ; }
0040 ; }
0040 L12:
0040 .dbline 30
0040 L13:
0040 .dbline 30
0040 ; }
0040 E199 sbic 0x1c,1
0042 FECF rjmp L12
0044 .dbline 31
0044 ; }
0044 1FBB out 0x1f,R17
0046 0EBB out 0x1e,R16
0048 .dbline 32
0048 ; }
0048 2DBB out 0x1d,R18
004A .dbline 34
004A ; }
004A ; }
004A E29A sbi 0x1c,2
004C .dbline 35
004C ; }
004C E19A sbi 0x1c,1
004E .dbline -2
004E L11:
004E .dbline 0 ; func end
004E 0895 ret
0050 .dbsym r Data 18 c
0050 .dbsym r Address 16 i
0050 .dbend
0050 .dbfunc e EEPROM_read _EEPROM_read fc
0050 ; Address -> R16,R17
.even
0050 _EEPROM_read::
0050 .dbline -1
0050 .dbline 40
0050 ; }
0050 ; }
0050 ; }
0050 ; }
0050 ; }
0050 L16:
0050 .dbline 41
0050 L17:
0050 .dbline 41
0050 ; }
0050 E199 sbic 0x1c,1
0052 FECF rjmp L16
0054 .dbline 42
0054 ; }
0054 1FBB out 0x1f,R17
0056 0EBB out 0x1e,R16
0058 .dbline 43
0058 ; }
0058 E09A sbi 0x1c,0
005A .dbline 44
005A ; }
005A 0DB3 in R16,0x1d
005C .dbline -2
005C L15:
005C .dbline 0 ; func end
005C 0895 ret
005E .dbsym r Address 16 i
005E .dbend
005E .dbfile D:\AVR\我的程序\EEPROM读写实验\main.c
005E .dbfunc e main _main fV
005E ; i -> R20
.even
005E _main::
005E .dbline -1
005E .dbline 10
005E .dbline 12
005E E5DF xcall _uart_init
0060 .dbline 13
0060 4427 clr R20
0062 07C0 xjmp L23
0064 L20:
0064 .dbline 14
0064 242F mov R18,R20
0066 042F mov R16,R20
0068 1127 clr R17
006A 0F5F subi R16,255 ; offset = 1
006C 1F4F sbci R17,255
006E E8DF xcall _EEPROM_write
0070 L21:
0070 .dbline 13
0070 4395 inc R20
0072 L23:
0072 .dbline 13
0072 4A30 cpi R20,10
0074 B8F3 brlo L20
0076 .dbline 15
0076 08EE ldi R16,1000
0078 13E0 ldi R17,3
007A C2DF xcall _delay_ms
007C 10C0 xjmp L25
007E L24:
007E .dbline 17
007E .dbline 18
007E 4427 clr R20
0080 0CC0 xjmp L30
0082 X0:
0082 .dbline 19
0082 L31:
0082 .dbline 20
0082 L32:
0082 .dbline 20
0082 5D9B sbis 0xb,5
0084 FECF rjmp L31
0086 .dbline 21
0086 0AE0 ldi R16,10
0088 10E0 ldi R17,0
008A BADF xcall _delay_ms
008C .dbline 22
008C 042F mov R16,R20
008E 1127 clr R17
0090 0F5F subi R16,255 ; offset = 1
0092 1F4F sbci R17,255
0094 DDDF xcall _EEPROM_read
0096 0CB9 out 0xc,R16
0098 .dbline 23
0098 L28:
0098 .dbline 18
0098 4395 inc R20
009A L30:
009A .dbline 18
009A 4A30 cpi R20,10
009C 90F3 brlo L32
009E .dbline 24
009E L25:
009E .dbline 16
009E EFCF xjmp L24
00A0 X1:
00A0 .dbline -2
00A0 L19:
00A0 .dbline 0 ; func end
00A0 0895 ret
00A2 .dbsym r i 20 c
00A2 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -