📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile E:\avr\2.5.4\main.c
0000 .dbfunc e uart0_init _uart0_init fV
.even
0000 _uart0_init::
0000 .dbline -1
0000 .dbline 21
0000 ; // ICC-AVR application builder : 2007-5-25 21:35:24
0000 ; // Target : M16
0000 ; // Crystal: 7.3728Mhz
0000 ; // 用途:演示getchar(),getchar(),printf()等函数的使用。
0000 ; // 作者:古欣
0000 ; // AVR与虚拟仪器 http://www.avrvi.com
0000 ; // 使用7.3728M外部晶振,注意:请短接跳线JP2的1和2,电源跳线连接3.3V或者5V
0000 ; // 串口使用JP4的连接方法:1和2短接,使用RS232,请注意查看跳线旁边的示意图
0000 ; // 开发板连接:无连线
0000 ;
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; #include <stdio.h>
0000 ;
0000 ; //UART0 initialize
0000 ; // desired baud rate: 9600
0000 ; // actual: baud rate:9600 (0.0%)
0000 ; // char size: 8 bit
0000 ; // parity: Disabled
0000 ; void uart0_init(void)
0000 ; {
0000 .dbline 22
0000 ; UCSRB = 0x00; //disable while setting baud rate
0000 2224 clr R2
0002 2AB8 out 0xa,R2
0004 .dbline 23
0004 ; UCSRA = 0x00;
0004 2BB8 out 0xb,R2
0006 .dbline 24
0006 ; UCSRC = BIT(URSEL) | 0x06;
0006 86E8 ldi R24,134
0008 80BD out 0x20,R24
000A .dbline 25
000A ; UBRRL = 0x2F; //set baud rate lo
000A 8FE2 ldi R24,47
000C 89B9 out 0x9,R24
000E .dbline 26
000E ; UBRRH = 0x00; //set baud rate hi
000E 20BC out 0x20,R2
0010 .dbline 27
0010 ; UCSRB = 0x18;
0010 88E1 ldi R24,24
0012 8AB9 out 0xa,R24
0014 .dbline -2
0014 L1:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbend
0016 .dbfunc e delay _delay fV
0016 ; i -> R16
0016 ; j -> R18
.even
0016 _delay::
0016 .dbline -1
0016 .dbline 31
0016 ; }
0016 ;
0016 ; void delay(void)
0016 ; {
0016 .dbline 32
0016 ; unsigned char i=0,j=0;
0016 0027 clr R16
0018 .dbline 32
0018 2227 clr R18
001A .dbline 33
001A ; for(i=1;i!=0;i++)
001A 01E0 ldi R16,1
001C 06C0 xjmp L6
001E L3:
001E .dbline 34
001E ; {
001E .dbline 35
001E ; for(j=1;j!=0;j++)
001E 21E0 ldi R18,1
0020 01C0 xjmp L10
0022 L7:
0022 .dbline 36
0022 L8:
0022 .dbline 35
0022 2395 inc R18
0024 L10:
0024 .dbline 35
0024 2223 tst R18
0026 E9F7 brne L7
0028 .dbline 37
0028 L4:
0028 .dbline 33
0028 0395 inc R16
002A L6:
002A .dbline 33
002A 0023 tst R16
002C C1F7 brne L3
002E .dbline -2
002E L2:
002E .dbline 0 ; func end
002E 0895 ret
0030 .dbsym r i 16 c
0030 .dbsym r j 18 c
0030 .dbend
.area lit(rom, con, rel)
0000 L12:
0000 202020202020202020202000 .byte 32,32,32,32,32,32,32,32,32,32,32,0
.area text(rom, con, rel)
0030 .dbfile E:\avr\2.5.4\main.c
0030 .dbfunc e main _main fV
0030 ; i -> <dead>
0030 ; c -> R20
0030 ; b -> R20
0030 ; temp -> y+1
0030 ; a -> y+0
.even
0030 _main::
0030 2D97 sbiw R28,13
0032 .dbline -1
0032 .dbline 41
0032 ; ;
0032 ; }
0032 ; }
0032 ;
0032 ; void main(void)
0032 ; {
0032 .dbline 43
0032 ; unsigned char i;
0032 ; unsigned char temp[]=" ";
0032 80E0 ldi R24,<L12
0034 90E0 ldi R25,>L12
0036 FE01 movw R30,R28
0038 3196 adiw R30,1
003A 0CE0 ldi R16,12
003C 10E0 ldi R17,0
003E FA93 st -y,R31
0040 EA93 st -y,R30
0042 9A93 st -y,R25
0044 8A93 st -y,R24
0046 0E940000 xcall asgncblk
004A .dbline 44
004A ; unsigned char a=0,b=0,c=0;
004A 2224 clr R2
004C 2882 std y+0,R2
004E .dbline 44
004E 4427 clr R20
0050 .dbline 44
0050 .dbline 45
0050 ; uart0_init(); //初始化串口
0050 D7DF xcall _uart0_init
0052 .dbline 46
0052 ; printf("www.avrvi.com\r\n"); //输出字符串
0052 00E0 ldi R16,<L13
0054 10E0 ldi R17,>L13
0056 0E940000 xcall _printf
005A 0CC0 xjmp L15
005C L14:
005C .dbline 57
005C .dbline 58
005C DCDF xcall _delay
005E .dbline 59
005E 9E01 movw R18,R28
0060 00E0 ldi R16,<L17
0062 10E0 ldi R17,>L17
0064 0E940000 xcall _scanf
0068 .dbline 60
0068 2881 ldd R18,y+0
006A 3327 clr R19
006C 00E0 ldi R16,<L18
006E 10E0 ldi R17,>L18
0070 0E940000 xcall _printf
0074 .dbline 61
0074 L15:
0074 .dbline 56
0074 F3CF xjmp L14
0076 X0:
0076 .dbline -2
0076 L11:
0076 2D96 adiw R28,13
0078 .dbline 0 ; func end
0078 0895 ret
007A .dbsym l i 1 c
007A .dbsym r c 20 c
007A .dbsym r b 20 c
007A .dbsym l temp 1 A[12:12]c
007A .dbsym l a 0 c
007A .dbend
.area data(ram, con, rel)
0000 .dbfile E:\avr\2.5.4\main.c
0000 L18:
0000 .blkb 5
.area idata
0000 25640D0A00 .byte 37,'d,13,10,0
.area data(ram, con, rel)
0005 .dbfile E:\avr\2.5.4\main.c
0005 L17:
0005 .blkb 3
.area idata
0005 256400 .byte 37,'d,0
.area data(ram, con, rel)
0008 .dbfile E:\avr\2.5.4\main.c
0008 L13:
0008 .blkb 16
.area idata
0008 7777772E61767276692E636F6D0D0A00 .byte 'w,'w,'w,46,'a,'v,'r,'v,'i,46,'c,'o,'m,13,10,0
.area data(ram, con, rel)
0018 .dbfile E:\avr\2.5.4\main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -