⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lis

📁 一个关于AVR单片机的例程
💻 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 + -