📄 rs232.lst
字号:
__start:
__text_start:
011C E5CF LDI R28,0x5F
011D E0D2 LDI R29,2
011E BFCD OUT 0x3D,R28
011F BFDE OUT 0x3E,R29
0120 51C0 SUBI R28,0x10
0121 40D0 SBCI R29,0
0122 EA0A LDI R16,0xAA
0123 8308 STD Y+0,R16
0124 2400 CLR R0
0125 E6E2 LDI R30,0x62
0126 E0F1 LDI R31,1
0127 E011 LDI R17,1
0128 37ED CPI R30,0x7D
0129 07F1 CPC R31,R17
012A F011 BEQ 0x012D
012B 9201 ST R0,Z+
012C CFFB RJMP 0x0128
012D 8300 STD Z+0,R16
012E E3E5 LDI R30,0x35
012F E0F1 LDI R31,1
0130 E6A0 LDI R26,0x60
0131 E0B0 LDI R27,0
0132 E012 LDI R17,2
0133 33E7 CPI R30,0x37
0134 07F1 CPC R31,R17
0135 F021 BEQ 0x013A
0136 95C8 LPM
0137 9631 ADIW R30,1
0138 920D ST R0,X+
0139 CFF9 RJMP 0x0133
013A D023 RCALL _main
_exit:
013B CFFF RJMP _exit
FILE: C:\ATMega8515\RS232\init.c
(0001) //ICC-AVR application builder : 2006-4-27 19:28:19
(0002) // Target : M8515
(0003) // Crystal: 11.059Mhz
(0004)
(0005) #include <iom8515v.h>
(0006) #include <macros.h>
(0007)
(0008) void port_init(void)
(0009) {
(0010) PORTA = 0x00;
_port_init:
013C 2422 CLR R2
013D BA2B OUT 0x1B,R2
(0011) DDRA = 0x00;
013E BA2A OUT 0x1A,R2
(0012) PORTB = 0x00;
013F BA28 OUT 0x18,R2
(0013) DDRB = 0x00;
0140 BA27 OUT 0x17,R2
(0014) PORTC = 0x00;
0141 BA25 OUT 0x15,R2
(0015) DDRC = 0x00;
0142 BA24 OUT 0x14,R2
(0016) PORTD = 0x00;
0143 BA22 OUT 0x12,R2
(0017) DDRD = 0x02;
0144 E082 LDI R24,2
0145 BB81 OUT 0x11,R24
(0018) PORTE = 0x00;
0146 B827 OUT 0x07,R2
(0019) DDRE = 0x00;
0147 B826 OUT 0x06,R2
0148 9508 RET
(0020) }
(0021)
(0022) //UART0 initialize
(0023) // desired baud rate: 9600
(0024) // actual: baud rate:9600 (0.0%)
(0025) void uart0_init(void)
(0026) {
(0027) UCSRB = 0x00; //disable while setting baud rate
_uart0_init:
0149 2422 CLR R2
014A B82A OUT 0x0A,R2
(0028) UCSRA = 0x00;
014B B82B OUT 0x0B,R2
(0029) UCSRC = BIT(URSEL) | 0x06;
014C E886 LDI R24,0x86
014D BD80 OUT 0x20,R24
(0030) UBRRL = 0x47; //set baud rate lo
014E E487 LDI R24,0x47
014F B989 OUT 0x09,R24
(0031) UBRRH = 0x00; //set baud rate hi
0150 BC20 OUT 0x20,R2
(0032) UCSRB = 0x18;
0151 E188 LDI R24,0x18
0152 B98A OUT 0x0A,R24
0153 9508 RET
(0033) }
(0034)
(0035) //call this routine to initialize all peripherals
(0036) void init_devices(void)
(0037) {
(0038) //stop errant interrupts until set up
(0039) CLI(); //disable all interrupts
_init_devices:
0154 94F8 BCLR 7
(0040) port_init();
0155 DFE6 RCALL _port_init
(0041) uart0_init();
0156 DFF2 RCALL _uart0_init
(0042)
(0043) MCUCR = 0x00;
0157 2422 CLR R2
0158 BE25 OUT 0x35,R2
(0044) EMCUCR = 0x00;
0159 BE26 OUT 0x36,R2
(0045) GICR = 0x00;
015A BE2B OUT 0x3B,R2
(0046) TIMSK = 0x00;
015B BE29 OUT 0x39,R2
(0047) SEI(); //re-enable interrupts
015C 9478 BSET 7
015D 9508 RET
FILE: C:\ATMega8515\RS232\RS232.C
(0001) #include <iom8515v.h>
(0002) #include"stdio.h"
(0003) #include"ForATmega8515.h"
(0004)
(0005)
(0006) void main()
(0007) {
(0008) uchar index=0;
_main:
index --> R20
015E 2744 CLR R20
(0009) init_devices();
015F DFF4 RCALL _init_devices
(0010) printf("------------Debuging in RS232-------------\n");
0160 E707 LDI R16,0x77
0161 E010 LDI R17,0
0162 D2E0 RCALL _printf
(0011) for(index=0;index!=100;index++)printf("NO.%d:This is a test!\n",index);
0163 C006 RJMP 0x016A
0164 2F24 MOV R18,R20
0165 2733 CLR R19
0166 E600 LDI R16,0x60
0167 E010 LDI R17,0
0168 D2DA RCALL _printf
0169 9543 INC R20
016A 3644 CPI R20,0x64
016B F7C1 BNE 0x0164
(0012) while(1);
FILE: <library>
016C CFFF RJMP 0x016C
016D 9508 RET
__print:
016E D19F RCALL push_arg4
016F D1E0 RCALL push_gset5
0170 972A SBIW R28,0xA
0171 2400 CLR R0
0172 2411 CLR R1
0173 821F STD Y+7,R1
0174 820E STD Y+6,R0
0175 C183 RJMP 0x02F9
0176 89EE LDD R30,Y+22
0177 89FF LDD R31,Y+23
0178 8180 LDD R24,Z+0
0179 3285 CPI R24,0x25
017A F051 BEQ 0x0185
017B 8100 LDD R16,Z+0
017C 89EC LDD R30,Y+20
017D 89FD LDD R31,Y+21
017E D1F0 RCALL xicall
017F 818E LDD R24,Y+6
0180 819F LDD R25,Y+7
0181 9601 ADIW R24,1
0182 839F STD Y+7,R25
0183 838E STD Y+6,R24
0184 C16F RJMP 0x02F4
0185 24EE CLR R14
0186 24FF CLR R15
0187 E642 LDI R20,0x62
0188 E051 LDI R21,1
0189 E260 LDI R22,0x20
018A 898E LDD R24,Y+22
018B 899F LDD R25,Y+23
018C 9601 ADIW R24,1
018D 8B9F STD Y+23,R25
018E 8B8E STD Y+22,R24
018F 2FE8 MOV R30,R24
0190 2FF9 MOV R31,R25
0191 8020 LDD R2,Z+0
0192 2433 CLR R3
0193 823D STD Y+5,R3
0194 822C STD Y+4,R2
0195 2D82 MOV R24,R2
0196 2D93 MOV R25,R3
0197 3588 CPI R24,0x58
0198 E0E0 LDI R30,0
0199 079E CPC R25,R30
019A F409 BNE 0x019C
019B C089 RJMP 0x0225
019C E588 LDI R24,0x58
019D 1582 CP R24,R2
019E 0593 CPC R25,R3
019F F0A4 BLT 0x01B4
01A0 818C LDD R24,Y+4
01A1 819D LDD R25,Y+5
01A2 3485 CPI R24,0x45
01A3 E0E0 LDI R30,0
01A4 079E CPC R25,R30
01A5 F409 BNE 0x01A7
01A6 C148 RJMP 0x02EF
01A7 3485 CPI R24,0x45
01A8 E0E0 LDI R30,0
01A9 079E CPC R25,R30
01AA F40C BGE 0x01AC
01AB C043 RJMP 0x01EF
01AC 818C LDD R24,Y+4
01AD 819D LDD R25,Y+5
01AE 3583 CPI R24,0x53
01AF E0E0 LDI R30,0
01B0 079E CPC R25,R30
01B1 F409 BNE 0x01B3
01B2 C0DB RJMP 0x028E
01B3 C03B RJMP 0x01EF
01B4 818C LDD R24,Y+4
01B5 819D LDD R25,Y+5
01B6 368F CPI R24,0x6F
01B7 E0E0 LDI R30,0
01B8 079E CPC R25,R30
01B9 F409 BNE 0x01BB
01BA C06A RJMP 0x0225
01BB E68F LDI R24,0x6F
01BC E090 LDI R25,0
01BD 802C LDD R2,Y+4
01BE 803D LDD R3,Y+5
01BF 1582 CP R24,R2
01C0 0593 CPC R25,R3
01C1 F0DC BLT 0x01DD
01C2 818C LDD R24,Y+4
01C3 819D LDD R25,Y+5
01C4 3683 CPI R24,0x63
01C5 E0E0 LDI R30,0
01C6 079E CPC R25,R30
01C7 F409 BNE 0x01C9
01C8 C0B0 RJMP 0x0279
01C9 3684 CPI R24,0x64
01CA E0E0 LDI R30,0
01CB 079E CPC R25,R30
01CC F409 BNE 0x01CE
01CD C02D RJMP 0x01FB
01CE 3685 CPI R24,0x65
01CF E0E0 LDI R30,0
01D0 079E CPC R25,R30
01D1 F409 BNE 0x01D3
01D2 C11C RJMP 0x02EF
01D3 3686 CPI R24,0x66
01D4 E0E0 LDI R30,0
01D5 079E CPC R25,R30
01D6 F409 BNE 0x01D8
01D7 C117 RJMP 0x02EF
01D8 3689 CPI R24,0x69
01D9 E0E0 LDI R30,0
01DA 079E CPC R25,R30
01DB F0F9 BEQ 0x01FB
01DC C012 RJMP 0x01EF
01DD 818C LDD R24,Y+4
01DE 819D LDD R25,Y+5
01DF 3783 CPI R24,0x73
01E0 E0E0 LDI R30,0
01E1 079E CPC R25,R30
01E2 F409 BNE 0x01E4
01E3 C0D7 RJMP 0x02BB
01E4 3785 CPI R24,0x75
01E5 E0E0 LDI R30,0
01E6 079E CPC R25,R30
01E7 F409 BNE 0x01E9
01E8 C03C RJMP 0x0225
01E9 3788 CPI R24,0x78
01EA E0E0 LDI R30,0
01EB 079E CPC R25,R30
01EC F409 BNE 0x01EE
01ED C037 RJMP 0x0225
01EE C000 RJMP 0x01EF
01EF 89EE LDD R30,Y+22
01F0 89FF LDD R31,Y+23
01F1 8100 LDD R16,Z+0
01F2 89EC LDD R30,Y+20
01F3 89FD LDD R31,Y+21
01F4 D17A RCALL xicall
01F5 818E LDD R24,Y+6
01F6 819F LDD R25,Y+7
01F7 9601 ADIW R24,1
01F8 839F STD Y+7,R25
01F9 838E STD Y+6,R24
01FA C0F9 RJMP 0x02F4
01FB 8D88 LDD R24,Y+24
01FC 8D99 LDD R25,Y+25
01FD 9602 ADIW R24,2
01FE 8F99 STD Y+25,R25
01FF 8F88 STD Y+24,R24
0200 2FE8 MOV R30,R24
0201 2FF9 MOV R31,R25
0202 9732 SBIW R30,2
0203 8020 LDD R2,Z+0
0204 8031 LDD R3,Z+1
0205 8639 STD Y+9,R3
0206 8628 STD Y+8,R2
0207 2D82 MOV R24,R2
0208 2D93 MOV R25,R3
0209 3080 CPI R24,0
020A E0E0 LDI R30,0
020B 079E CPC R25,R30
020C F474 BGE 0x021B
020D 2D8E MOV R24,R14
020E 2D9F MOV R25,R15
020F 6088 ORI R24,0x8
0210 2EE8 MOV R14,R24
0211 2EF9 MOV R15,R25
0212 E26D LDI R22,0x2D
0213 2D82 MOV R24,R2
0214 2D93 MOV R25,R3
0215 9580 COM R24
0216 9590 COM R25
0217 5F8F SUBI R24,0xFF
0218 4F9F SBCI R25,0xFF
0219 8799 STD Y+9,R25
021A 8788 STD Y+8,R24
021B E08A LDI R24,0xA
021C E090 LDI R25,0
021D 8399 STD Y+1,R25
021E 8388 STD Y+0,R24
021F 8528 LDD R18,Y+8
0220 8539 LDD R19,Y+9
0221 2F04 MOV R16,R20
0222 2F15 MOV R17,R21
0223 D172 RCALL _itoa
0224 C04F RJMP 0x0274
0225 8D88 LDD R24,Y+24
0226 8D99 LDD R25,Y+25
0227 9602 ADIW R24,2
0228 8F99 STD Y+25,R25
0229 8F88 STD Y+24,R24
022A 2FE8 MOV R30,R24
022B 2FF9 MOV R31,R25
022C 9732 SBIW R30,2
022D 8020 LDD R2,Z+0
022E 8031 LDD R3,Z+1
022F 8639 STD Y+9,R3
0230 8628 STD Y+8,R2
0231 89EE LDD R30,Y+22
0232 89FF LDD R31,Y+23
0233 8180 LDD R24,Z+0
0234 3785 CPI R24,0x75
0235 F451 BNE 0x0240
0236 E08A LDI R24,0xA
0237 E090 LDI R25,0
0238 8399 STD Y+1,R25
0239 8388 STD Y+0,R24
023A 2D22 MOV R18,R2
023B 2D33 MOV R19,R3
023C 2F04 MOV R16,R20
023D 2F15 MOV R17,R21
023E D1AB RCALL _utoa
023F C034 RJMP 0x0274
0240 89EE LDD R30,Y+22
0241 89FF LDD R31,Y+23
0242 8180 LDD R24,Z+0
0243 368F CPI R24,0x6F
0244 F451 BNE 0x024F
0245 E088 LDI R24,0x8
0246 E090 LDI R25,0
0247 8399 STD Y+1,R25
0248 8388 STD Y+0,R24
0249 8528 LDD R18,Y+8
024A 8539 LDD R19,Y+9
024B 2F04 MOV R16,R20
024C 2F15 MOV R17,R21
024D D19C RCALL _utoa
024E C025 RJMP 0x0274
024F E180 LDI R24,0x10
0250 E090 LDI R25,0
0251 8399 STD Y+1,R25
0252 8388 STD Y+0,R24
0253 8528 LDD R18,Y+8
0254 8539 LDD R19,Y+9
0255 2F04 MOV R16,R20
0256 2F15 MOV R17,R21
0257 D192 RCALL _utoa
0258 89EE LDD R30,Y+22
0259 89FF LDD R31,Y+23
025A 8180 LDD R24,Z+0
025B 3588 CPI R24,0x58
025C F4B9 BNE 0x0274
025D E682 LDI R24,0x62
025E E091 LDI R25,1
025F 2EC8 MOV R12,R24
0260 2ED9 MOV R13,R25
0261 C00D RJMP 0x026F
0262 2DEC MOV R30,R12
0263 2DFD MOV R31,R13
0264 8100 LDD R16,Z+0
0265 2711 CLR R17
0266 D1C8 RCALL _toupper
0267 2DEC MOV R30,R12
0268 2DFD MOV R31,R13
0269 8300 STD Z+0,R16
026A 2D8C MOV R24,R12
026B 2D9D MOV R25,R13
026C 9601 ADIW R24,1
026D 2EC8 MOV R12,R24
026E 2ED9 MOV R13,R25
026F 2DEC MOV R30,R12
0270 2DFD MOV R31,R13
0271 8020 LDD R2,Z+0
0272 2022 TST R2
0273 F771 BNE 0x0262
0274 E682 LDI R24,0x62
0275 E091 LDI R25,1
0276 2EC8 MOV R12,R24
0277 2ED9 MOV R13,R25
0278 C054 RJMP 0x02CD
0279 8D88 LDD R24,Y+24
027A 8D99 LDD R25,Y+25
027B 9602 ADIW R24,2
027C 8F99 STD Y+25,R25
027D 8F88 STD Y+24,R24
027E 2FE8 MOV R30,R24
027F 2FF9 MOV R31,R25
0280 9732 SBIW R30,2
0281 8020 LDD R2,Z+0
0282 8031 LDD R3,Z+1
0283 822A STD Y+2,R2
0284 2D02 MOV R16,R2
0285 89EC LDD R30,Y+20
0286 89FD LDD R31,Y+21
0287 D0E7 RCALL xicall
0288 818E LDD R24,Y+6
0289 819F LDD R25,Y+7
028A 9601 ADIW R24,1
028B 839F STD Y+7,R25
028C 838E STD Y+6,R24
028D C066 RJMP 0x02F4
028E 8D88 LDD R24,Y+24
028F 8D99 LDD R25,Y+25
0290 9602 ADIW R24,2
0291 8F99 STD Y+25,R25
0292 8F88 STD Y+24,R24
0293 2FE8 MOV R30,R24
0294 2FF9 MOV R31,R25
0295 9732 SBIW R30,2
0296 80A0 LDD R10,Z+0
0297 80B1 LDD R11,Z+1
0298 326D CPI R22,0x2D
0299 F4D9 BNE 0x02B5
029A E20D LDI R16,0x2D
029B 89EC LDD R30,Y+20
029C 89FD LDD R31,Y+21
029D D0D1 RCALL xicall
029E 818E LDD R24,Y+6
029F 819F LDD R25,Y+7
02A0 9601 ADIW R24,1
02A1 839F STD Y+7,R25
02A2 838E STD Y+6,R24
02A3 C011 RJMP 0x02B5
02A4 2DEA MOV R30,R10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -