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

📄 uart.lst

📁 avr应用有关使用注意事项如下 1 在使用例子程序之前将库文件libslavr.a 拷贝到ICCAVR 安装目录下的库文件目录中 即...LIB目录将头文件slavr.h 拷贝到头文件目录即...
💻 LST
字号:
__start:
__text_start:
    0044 E5CF      LDI	R28,0x5F
    0045 E0D4      LDI	R29,4
    0046 BFCD      OUT	0x3D,R28
    0047 BFDE      OUT	0x3E,R29
    0048 51C0      SUBI	R28,0x10
    0049 40D0      SBCI	R29,0
    004A EA0A      LDI	R16,0xAA
    004B 8308      STD	Y+0,R16
    004C 2400      CLR	R0
    004D E9E4      LDI	R30,0x94
    004E E0F0      LDI	R31,0
    004F E010      LDI	R17,0
    0050 39E6      CPI	R30,0x96
    0051 07F1      CPC	R31,R17
    0052 F011      BEQ	0x0055
    0053 9201      ST	R0,Z+
    0054 CFFB      RJMP	0x0050
    0055 8300      STD	Z+0,R16
    0056 E5E4      LDI	R30,0x54
    0057 E0F0      LDI	R31,0
    0058 E6A0      LDI	R26,0x60
    0059 E0B0      LDI	R27,0
    005A E010      LDI	R17,0
    005B 38E8      CPI	R30,0x88
    005C 07F1      CPC	R31,R17
    005D F021      BEQ	0x0062
    005E 95C8      LPM
    005F 9631      ADIW	R30,1
    0060 920D      ST	R0,X+
    0061 CFF9      RJMP	0x005B
    0062 940E0065  CALL	_main
_exit:
    0064 CFFF      RJMP	_exit
FILE: E:\MYDOCU~1\ICCAVR_Directory\uart\uart.c
(0001) #include <iom16v.h>
(0002) #include <macros.h>
(0003) #include <stdio.h>
(0004) 
(0005) //函数声明
(0006) void uart0_init(void);
(0007) 
(0008) void main(void)
(0009) {
(0010) 	unsigned char temp;
(0011) 	uart0_init();
_main:
  temp                 --> R20
    0065 D020      RCALL	_uart0_init
(0012) 	puts("UART TEST");//发送字符串
    0066 E80A      LDI	R16,0x8A
    0067 E010      LDI	R17,0
    0068 940E00CF  CALL	_puts
(0013) 	puts("www.ouravr.com");
    006A E70B      LDI	R16,0x7B
    006B E010      LDI	R17,0
    006C 940E00CF  CALL	_puts
(0014) 	putchar('\r');
    006E E00D      LDI	R16,0xD
    006F 940E00B3  CALL	_putchar
(0015) 	putchar('\n');
    0071 E00A      LDI	R16,0xA
    0072 940E00B3  CALL	_putchar
    0074 C00F      RJMP	0x0084
(0016) 	while(1)
(0017) 	{
(0018) 		temp=getchar();
    0075 940E00CA  CALL	_getchar
    0077 2F40      MOV	R20,R16
(0019) 		putchar(temp);
    0078 940E00B3  CALL	_putchar
(0020) 		puts(" had been sent to the MCU!");
    007A E600      LDI	R16,0x60
    007B E010      LDI	R17,0
    007C 940E00CF  CALL	_puts
(0021) 		putchar('\r');
    007E E00D      LDI	R16,0xD
    007F 940E00B3  CALL	_putchar
(0022) 		putchar('\n');
    0081 E00A      LDI	R16,0xA
    0082 940E00B3  CALL	_putchar
    0084 CFF0      RJMP	0x0075
    0085 9508      RET
(0023) 	}
(0024) }
(0025) //UART初始化,软件生成,使能接收和发送,8数据位,1停止位,偶校验,19.2K波特率
(0026) void uart0_init(void)
(0027) {
(0028)  UCSRB = 0x00; //disable while setting baud rate
_uart0_init:
    0086 2422      CLR	R2
    0087 B82A      OUT	0x0A,R2
(0029)  UCSRA = 0x00;
    0088 B82B      OUT	0x0B,R2
(0030)  UCSRC = BIT(URSEL) | 0x26;
    0089 EA86      LDI	R24,0xA6
    008A BD80      OUT	0x20,R24
(0031)  UBRRL = 0x0C; //set baud rate lo
    008B E08C      LDI	R24,0xC
    008C B989      OUT	0x09,R24
(0032)  UBRRH = 0x00; //set baud rate hi
    008D BC20      OUT	0x20,R2
(0033)  UCSRB = 0x18;
FILE: <library>
    008E E188      LDI	R24,0x18
    008F B98A      OUT	0x0A,R24
    0090 9508      RET
pop_gset2:
    0091 E0E2      LDI	R30,2
    0092 940C00A0  JMP	pop
push_gset5:
    0094 92FA      ST	R15,-Y
    0095 92EA      ST	R14,-Y
push_gset4:
    0096 92DA      ST	R13,-Y
    0097 92CA      ST	R12,-Y
push_gset3:
    0098 92BA      ST	R11,-Y
    0099 92AA      ST	R10,-Y
push_gset2:
    009A 937A      ST	R23,-Y
    009B 936A      ST	R22,-Y
push_gset1:
    009C 935A      ST	R21,-Y
    009D 934A      ST	R20,-Y
    009E 9508      RET
pop_gset1:
    009F E0E1      LDI	R30,1
pop:
    00A0 9149      LD	R20,Y+
    00A1 9159      LD	R21,Y+
    00A2 FDE0      SBRC	R30,0
    00A3 9508      RET
    00A4 9169      LD	R22,Y+
    00A5 9179      LD	R23,Y+
    00A6 FDE1      SBRC	R30,1
    00A7 9508      RET
    00A8 90A9      LD	R10,Y+
    00A9 90B9      LD	R11,Y+
    00AA FDE2      SBRC	R30,2
    00AB 9508      RET
    00AC 90C9      LD	R12,Y+
    00AD 90D9      LD	R13,Y+
    00AE FDE3      SBRC	R30,3
    00AF 9508      RET
    00B0 90E9      LD	R14,Y+
    00B1 90F9      LD	R15,Y+
    00B2 9508      RET
_putchar:
    00B3 940E009C  CALL	push_gset1
    00B5 2F40      MOV	R20,R16
    00B6 90200094  LDS	R2,_textmode
    00B8 90300095  LDS	R3,_textmode+1
    00BA 2022      TST	R2
    00BB F411      BNE	0x00BE
    00BC 2033      TST	R3
    00BD F021      BEQ	0x00C2
    00BE 304A      CPI	R20,0xA
    00BF F411      BNE	0x00C2
    00C0 E00D      LDI	R16,0xD
    00C1 DFF1      RCALL	_putchar
    00C2 9B5D      SBIS	0x0B,5
    00C3 CFFE      RJMP	0x00C2
    00C4 B94C      OUT	0x0C,R20
    00C5 2F04      MOV	R16,R20
    00C6 2711      CLR	R17
    00C7 940E009F  CALL	pop_gset1
    00C9 9508      RET
_getchar:
    00CA 9B5F      SBIS	0x0B,7
    00CB CFFE      RJMP	_getchar
    00CC B10C      IN	R16,0x0C
    00CD 2711      CLR	R17
    00CE 9508      RET
_puts:
    00CF 940E009A  CALL	push_gset2
    00D1 2F60      MOV	R22,R16
    00D2 2F71      MOV	R23,R17
    00D3 2744      CLR	R20
    00D4 2755      CLR	R21
    00D5 C009      RJMP	0x00DF
    00D6 2FE6      MOV	R30,R22
    00D7 2FF7      MOV	R31,R23
    00D8 8100      LDD	R16,Z+0
    00D9 940E00B3  CALL	_putchar
    00DB 5F4F      SUBI	R20,0xFF
    00DC 4F5F      SBCI	R21,0xFF
    00DD 5F6F      SUBI	R22,0xFF
    00DE 4F7F      SBCI	R23,0xFF
    00DF 2FE6      MOV	R30,R22
    00E0 2FF7      MOV	R31,R23
    00E1 8020      LDD	R2,Z+0
    00E2 2022      TST	R2
    00E3 F791      BNE	0x00D6
    00E4 E00A      LDI	R16,0xA
    00E5 940E00B3  CALL	_putchar
    00E7 E001      LDI	R16,1
    00E8 E010      LDI	R17,0
    00E9 940E0091  CALL	pop_gset2
    00EB 9508      RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -