📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile D:\AVR\我的程序\AT24C02的I2C实验/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 39
0004 ; /***********************************
0004 ; *实验目的:熟悉AT24C02编程
0004 ; *设 计:萧联珠
0004 ; *日 期:2007-11-22
0004 ; ************************************/
0004 ; #include <iom16v.h>
0004 ; #include "cfg.h"
0004 ;
0004 ; void main()
0004 ; {
0004 ; unsigned char i;
0004 ; uart_init(); /*串口初始化*/
0004 ; for(i=0;i<10;i++)
0004 ; I2C_Write(i,0x80+i);
0004 ; delay_ms(1000);
0004 ; while(1)
0004 ; {
0004 ; for(i=0;i<10;i++)
0004 ; {
0004 ; while(!(UCSRA&(1<<UDRE))); /*等待接受准备好*/
0004 ; delay_ms(10);
0004 ; UDR=I2C_Read(0x80+i);
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 ; }
0004 .dbline 41
0004 ; }
0004 ; }
0004 0AC0 xjmp L5
0006 L2:
0006 .dbline 42
0006 4427 clr R20
0008 5527 clr R21
000A L6:
000A .dbline 42
000A L7:
000A .dbline 42
000A 4F5F subi R20,255 ; offset = 1
000C 5F4F sbci R21,255
000E .dbline 42
000E 483E cpi R20,232
0010 E3E0 ldi R30,3
0012 5E07 cpc R21,R30
0014 D4F3 brlt L6
0016 L3:
0016 .dbline 41
0016 0150 subi R16,1
0018 1040 sbci R17,0
001A L5:
001A .dbline 41
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 47
002A ; }
002A ; }
002A ; }
002A ; }
002A ; }
002A ; }
002A .dbline 48
002A ; }
002A 82E0 ldi R24,2
002C 8BB9 out 0xb,R24
002E .dbline 49
002E ; }
002E 88E1 ldi R24,24
0030 8AB9 out 0xa,R24
0032 .dbline 50
0032 ; }
0032 86E0 ldi R24,6
0034 80BD out 0x20,R24
0036 .dbline 51
0036 ; }
0036 2224 clr R2
0038 20BC out 0x20,R2
003A .dbline 52
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 I2C_Write _I2C_Write fc
0040 ; RegAddress -> R22
0040 ; Wdata -> R20
.even
0040 _I2C_Write::
0040 0E940000 xcall push_gset2
0044 622F mov R22,R18
0046 402F mov R20,R16
0048 .dbline -1
0048 .dbline 61
0048 ; }
0048 ; }
0048 ; }
0048 ; }
0048 ; }
0048 ; }
0048 ; }
0048 ; }
0048 ; }
0048 .dbline 62
0048 ; }
0048 84EA ldi R24,164
004A 86BF out 0x36,R24
004C .dbline 63
004C L12:
004C .dbline 63
004C L13:
004C .dbline 63
004C ; }
004C 26B6 in R2,0x36
004E 27FE sbrs R2,7
0050 FDCF rjmp L12
0052 .dbline 63
0052 .dbline 63
0052 .dbline 64
0052 ; }
0052 81B1 in R24,0x1
0054 887F andi R24,248
0056 8830 cpi R24,8
0058 11F0 breq L15
005A .dbline 65
005A ; }
005A 01E0 ldi R16,1
005C 2BC0 xjmp L11
005E L15:
005E .dbline 67
005E ; }
005E ; }
005E .dbline 67
005E 80EA ldi R24,160
0060 83B9 out 0x3,R24
0062 .dbline 67
0062 84E8 ldi R24,132
0064 86BF out 0x36,R24
0066 .dbline 67
0066 .dbline 67
0066 .dbline 68
0066 L17:
0066 .dbline 68
0066 L18:
0066 .dbline 68
0066 ; }
0066 26B6 in R2,0x36
0068 27FE sbrs R2,7
006A FDCF rjmp L17
006C .dbline 68
006C .dbline 68
006C .dbline 69
006C ; }
006C 81B1 in R24,0x1
006E 887F andi R24,248
0070 8831 cpi R24,24
0072 11F0 breq L20
0074 .dbline 70
0074 ; }
0074 01E0 ldi R16,1
0076 1EC0 xjmp L11
0078 L20:
0078 .dbline 72
0078 ; }
0078 ; }
0078 .dbline 72
0078 63B9 out 0x3,R22
007A .dbline 72
007A 84E8 ldi R24,132
007C 86BF out 0x36,R24
007E .dbline 72
007E .dbline 72
007E .dbline 73
007E L22:
007E .dbline 73
007E L23:
007E .dbline 73
007E ; }
007E 26B6 in R2,0x36
0080 27FE sbrs R2,7
0082 FDCF rjmp L22
0084 .dbline 73
0084 .dbline 73
0084 .dbline 74
0084 ; }
0084 81B1 in R24,0x1
0086 887F andi R24,248
0088 8832 cpi R24,40
008A 11F0 breq L25
008C .dbline 75
008C ; }
008C 01E0 ldi R16,1
008E 12C0 xjmp L11
0090 L25:
0090 .dbline 77
0090 ; }
0090 ; }
0090 .dbline 77
0090 43B9 out 0x3,R20
0092 .dbline 77
0092 84E8 ldi R24,132
0094 86BF out 0x36,R24
0096 .dbline 77
0096 .dbline 77
0096 .dbline 78
0096 L27:
0096 .dbline 78
0096 L28:
0096 .dbline 78
0096 ; }
0096 26B6 in R2,0x36
0098 27FE sbrs R2,7
009A FDCF rjmp L27
009C .dbline 78
009C .dbline 78
009C .dbline 79
009C ; }
009C 81B1 in R24,0x1
009E 887F andi R24,248
00A0 8832 cpi R24,40
00A2 11F0 breq L30
00A4 .dbline 80
00A4 ; }
00A4 01E0 ldi R16,1
00A6 06C0 xjmp L11
00A8 L30:
00A8 .dbline 82
00A8 ; }
00A8 ; }
00A8 84E9 ldi R24,148
00AA 86BF out 0x36,R24
00AC .dbline 83
00AC ; }
00AC 04E6 ldi R16,100
00AE 10E0 ldi R17,0
00B0 A7DF xcall _delay_ms
00B2 .dbline 84
00B2 ; }
00B2 0027 clr R16
00B4 .dbline -2
00B4 L11:
00B4 0E940000 xcall pop_gset2
00B8 .dbline 0 ; func end
00B8 0895 ret
00BA .dbsym r RegAddress 22 c
00BA .dbsym r Wdata 20 c
00BA .dbend
00BA .dbfunc e I2C_Read _I2C_Read fc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -