📄 elevator.lst
字号:
a6e: 2f 91 pop r18
a70: 0f 90 pop r0
a72: 0f be out 0x3f, r0 ; 63
a74: 0f 90 pop r0
a76: 1f 90 pop r1
a78: 18 95 reti
00000a7a <__vector_1>:
}
SIGNAL(SIG_INTERRUPT0)
{
a7a: 1f 92 push r1
a7c: 0f 92 push r0
a7e: 0f b6 in r0, 0x3f ; 63
a80: 0f 92 push r0
a82: 11 24 eor r1, r1
a84: 8f 93 push r24
stepspeed=stepspeed+3;
a86: 80 91 11 01 lds r24, 0x0111
a8a: 8d 5f subi r24, 0xFD ; 253
a8c: 80 93 11 01 sts 0x0111, r24
a90: 8f 91 pop r24
a92: 0f 90 pop r0
a94: 0f be out 0x3f, r0 ; 63
a96: 0f 90 pop r0
a98: 1f 90 pop r1
a9a: 18 95 reti
00000a9c <__vector_7>:
}
SIGNAL(SIG_INTERRUPT6)
{
a9c: 1f 92 push r1
a9e: 0f 92 push r0
aa0: 0f b6 in r0, 0x3f ; 63
aa2: 0f 92 push r0
aa4: 11 24 eor r1, r1
aa6: 8f 93 push r24
stepspeed=stepspeed-3;
aa8: 80 91 11 01 lds r24, 0x0111
aac: 83 50 subi r24, 0x03 ; 3
aae: 80 93 11 01 sts 0x0111, r24
ab2: 8f 91 pop r24
ab4: 0f 90 pop r0
ab6: 0f be out 0x3f, r0 ; 63
ab8: 0f 90 pop r0
aba: 1f 90 pop r1
abc: 18 95 reti
00000abe <lcd_control_wait>:
}
//=============================================================
// 功能模块: TEXT LCD模块
// 实现功能: 实现TEXT LCD的显示
// 包含函数: void initialize_text_lcd(void) TEXT LCD初始化
// void print_message(char *message) TEXT LCD显示
// void lcd_control_wait(void)
// void lcd_data_wait(void)
//=============================================================
void initialize_text_lcd(void)
{lcd_control=TLCD_CTRL;
lcd_data=TLCD_DATA;
lcd_control_wait();
*lcd_control|=0x38;
lcd_control_wait();
*lcd_control|=0x02;
lcd_control_wait();
*lcd_control|=0x01;
lcd_control_wait();
*lcd_control|=0x06;
lcd_control_wait();
*lcd_control|=0x0c;
lcd_control_wait();
}
void print_message(char *message)
{unsigned char i;
for(i=0;;i++)
{if(message[i]=='\0') break;
else if(message[i]=='\r')
{*lcd_control=0xc0;
lcd_control_wait();
}
else{*lcd_data=message[i];
lcd_data_wait();
}
}
}
void lcd_control_wait(void)
{delay(40,35);}
abe: 63 e2 ldi r22, 0x23 ; 35
ac0: 70 e0 ldi r23, 0x00 ; 0
ac2: 88 e2 ldi r24, 0x28 ; 40
ac4: 90 e0 ldi r25, 0x00 ; 0
ac6: 0e 94 ea 02 call 0x5d4 <delay>
aca: 08 95 ret
00000acc <initialize_text_lcd>:
acc: 80 e0 ldi r24, 0x00 ; 0
ace: 90 e7 ldi r25, 0x70 ; 112
ad0: 90 93 f9 01 sts 0x01F9, r25
ad4: 80 93 f8 01 sts 0x01F8, r24
ad8: 81 e0 ldi r24, 0x01 ; 1
ada: 90 e7 ldi r25, 0x70 ; 112
adc: 90 93 d4 01 sts 0x01D4, r25
ae0: 80 93 d3 01 sts 0x01D3, r24
ae4: 0e 94 5f 05 call 0xabe <lcd_control_wait>
ae8: e0 91 f8 01 lds r30, 0x01F8
aec: f0 91 f9 01 lds r31, 0x01F9
af0: 80 81 ld r24, Z
af2: 88 63 ori r24, 0x38 ; 56
af4: 80 83 st Z, r24
af6: 0e 94 5f 05 call 0xabe <lcd_control_wait>
afa: e0 91 f8 01 lds r30, 0x01F8
afe: f0 91 f9 01 lds r31, 0x01F9
b02: 80 81 ld r24, Z
b04: 82 60 ori r24, 0x02 ; 2
b06: 80 83 st Z, r24
b08: 0e 94 5f 05 call 0xabe <lcd_control_wait>
b0c: e0 91 f8 01 lds r30, 0x01F8
b10: f0 91 f9 01 lds r31, 0x01F9
b14: 80 81 ld r24, Z
b16: 81 60 ori r24, 0x01 ; 1
b18: 80 83 st Z, r24
b1a: 0e 94 5f 05 call 0xabe <lcd_control_wait>
b1e: e0 91 f8 01 lds r30, 0x01F8
b22: f0 91 f9 01 lds r31, 0x01F9
b26: 80 81 ld r24, Z
b28: 86 60 ori r24, 0x06 ; 6
b2a: 80 83 st Z, r24
b2c: 0e 94 5f 05 call 0xabe <lcd_control_wait>
b30: e0 91 f8 01 lds r30, 0x01F8
b34: f0 91 f9 01 lds r31, 0x01F9
b38: 80 81 ld r24, Z
b3a: 8c 60 ori r24, 0x0C ; 12
b3c: 80 83 st Z, r24
b3e: 0e 94 5f 05 call 0xabe <lcd_control_wait>
b42: 08 95 ret
00000b44 <lcd_data_wait>:
void lcd_data_wait(void)
{delay(10,10);}
b44: 6a e0 ldi r22, 0x0A ; 10
b46: 70 e0 ldi r23, 0x00 ; 0
b48: cb 01 movw r24, r22
b4a: 0e 94 ea 02 call 0x5d4 <delay>
b4e: 08 95 ret
00000b50 <print_message>:
b50: ff 92 push r15
b52: 0f 93 push r16
b54: 1f 93 push r17
b56: cf 93 push r28
b58: 8c 01 movw r16, r24
b5a: c0 e0 ldi r28, 0x00 ; 0
b5c: f0 ec ldi r31, 0xC0 ; 192
b5e: ff 2e mov r15, r31
b60: f8 01 movw r30, r16
b62: ec 0f add r30, r28
b64: f1 1d adc r31, r1
b66: 80 81 ld r24, Z
b68: 88 23 and r24, r24
b6a: d1 f0 breq .+52 ; 0xba0 <print_message+0x50>
b6c: 8d 30 cpi r24, 0x0D ; 13
b6e: 79 f0 breq .+30 ; 0xb8e <print_message+0x3e>
b70: e0 91 d3 01 lds r30, 0x01D3
b74: f0 91 d4 01 lds r31, 0x01D4
b78: 80 83 st Z, r24
b7a: 0e 94 a2 05 call 0xb44 <lcd_data_wait>
b7e: cf 5f subi r28, 0xFF ; 255
b80: f8 01 movw r30, r16
b82: ec 0f add r30, r28
b84: f1 1d adc r31, r1
b86: 80 81 ld r24, Z
b88: 88 23 and r24, r24
b8a: 81 f7 brne .-32 ; 0xb6c <print_message+0x1c>
b8c: 09 c0 rjmp .+18 ; 0xba0 <print_message+0x50>
b8e: e0 91 f8 01 lds r30, 0x01F8
b92: f0 91 f9 01 lds r31, 0x01F9
b96: f0 82 st Z, r15
b98: 0e 94 5f 05 call 0xabe <lcd_control_wait>
b9c: cf 5f subi r28, 0xFF ; 255
b9e: f0 cf rjmp .-32 ; 0xb80 <print_message+0x30>
ba0: cf 91 pop r28
ba2: 1f 91 pop r17
ba4: 0f 91 pop r16
ba6: ff 90 pop r15
ba8: 08 95 ret
00000baa <function>:
baa: f8 94 cli
bac: 0e 94 66 05 call 0xacc <initialize_text_lcd>
bb0: e0 91 d3 01 lds r30, 0x01D3
bb4: f0 91 d4 01 lds r31, 0x01D4
bb8: 80 91 fe 01 lds r24, 0x01FE
bbc: 80 5d subi r24, 0xD0 ; 208
bbe: 80 83 st Z, r24
bc0: 8a e1 ldi r24, 0x1A ; 26
bc2: 91 e0 ldi r25, 0x01 ; 1
bc4: 0e 94 a8 05 call 0xb50 <print_message>
bc8: 10 92 e1 01 sts 0x01E1, r1
bcc: 10 92 e0 01 sts 0x01E0, r1
bd0: a0 91 fa 01 lds r26, 0x01FA
bd4: b0 91 fb 01 lds r27, 0x01FB
bd8: e0 91 e0 01 lds r30, 0x01E0
bdc: f0 91 e1 01 lds r31, 0x01E1
be0: e4 57 subi r30, 0x74 ; 116
be2: ff 4f sbci r31, 0xFF ; 255
be4: 84 91 lpm r24, Z
be6: 8c 93 st X, r24
be8: 6e e1 ldi r22, 0x1E ; 30
bea: 70 e0 ldi r23, 0x00 ; 0
bec: 8a e0 ldi r24, 0x0A ; 10
bee: 90 e0 ldi r25, 0x00 ; 0
bf0: 0e 94 ea 02 call 0x5d4 <delay>
bf4: 80 91 e0 01 lds r24, 0x01E0
bf8: 90 91 e1 01 lds r25, 0x01E1
bfc: 01 96 adiw r24, 0x01 ; 1
bfe: 90 93 e1 01 sts 0x01E1, r25
c02: 80 93 e0 01 sts 0x01E0, r24
c06: 8b 59 subi r24, 0x9B ; 155
c08: 94 40 sbci r25, 0x04 ; 4
c0a: 10 f3 brcs .-60 ; 0xbd0 <function+0x26>
c0c: 08 95 ret
00000c0e <main>:
c0e: cf ef ldi r28, 0xFF ; 255
c10: d0 e1 ldi r29, 0x10 ; 16
c12: de bf out 0x3e, r29 ; 62
c14: cd bf out 0x3d, r28 ; 61
c16: c1 e0 ldi r28, 0x01 ; 1
c18: ec 2e mov r14, r28
c1a: ce 2d mov r28, r14
c1c: dd 24 eor r13, r13
c1e: 85 b7 in r24, 0x35 ; 53
c20: 80 68 ori r24, 0x80 ; 128
c22: 85 bf out 0x35, r24 ; 53
c24: 80 ef ldi r24, 0xF0 ; 240
c26: 81 bb out 0x11, r24 ; 17
c28: 0e 94 b2 02 call 0x564 <initialize_ppi>
c2c: 0e 94 66 05 call 0xacc <initialize_text_lcd>
c30: e0 91 de 01 lds r30, 0x01DE
c34: f0 91 df 01 lds r31, 0x01DF
c38: 80 91 00 01 lds r24, 0x0100
c3c: 80 83 st Z, r24
c3e: 8d e4 ldi r24, 0x4D ; 77
c40: 91 e0 ldi r25, 0x01 ; 1
c42: 0e 94 a8 05 call 0xb50 <print_message>
c46: aa 24 eor r10, r10
c48: bb 24 eor r11, r11
c4a: 0a c0 rjmp .+20 ; 0xc60 <main+0x52>
c4c: 4d 15 cp r20, r13
c4e: d8 f1 brcs .+118 ; 0xcc6 <main+0xb8>
c50: 41 30 cpi r20, 0x01 ; 1
c52: 09 f4 brne .+2 ; 0xc56 <main+0x48>
c54: 5d c0 rjmp .+186 ; 0xd10 <main+0x102>
c56: 67 eb ldi r22, 0xB7 ; 183
c58: 71 e0 ldi r23, 0x01 ; 1
c5a: cb 01 movw r24, r22
c5c: 0e 94 ff 03 call 0x7fe <display>
c60: 62 e3 ldi r22, 0x32 ; 50
c62: 70 e0 ldi r23, 0x00 ; 0
c64: cb 01 movw r24, r22
c66: 0e 94 ea 02 call 0x5d4 <delay>
c6a: 0e 94 fd 02 call 0x5fa <key_scan>
c6e: 80 93 d5 01 sts 0x01D5, r24
c72: 88 23 and r24, r24
c74: 81 f3 breq .-32 ; 0xc56 <main+0x48>
c76: 88 38 cpi r24, 0x88 ; 136
c78: 71 f3 breq .-36 ; 0xc56 <main+0x48>
c7a: 0e 94 7f 03 call 0x6fe <out_put>
c7e: 40 91 fe 01 lds r20, 0x01FE
c82: d4 16 cp r13, r20
c84: 18 f7 brcc .-58 ; 0xc4c <main+0x3e>
c86: 0e 94 66 05 call 0xacc <initialize_text_lcd>
c8a: 8c e3 ldi r24, 0x3C ; 60
c8c: 91 e0 ldi r25, 0x01 ; 1
c8e: 0e 94 a8 05 call 0xb50 <print_message>
c92: 0e 94 ef 03 call 0x7de <initializemotor>
c96: 80 91 c8 01 lds r24, 0x01C8
c9a: 81 30 cpi r24, 0x01 ; 1
c9c: 09 f4 brne .+2 ; 0xca0 <main+0x92>
c9e: 15 c1 rjmp .+554 ; 0xeca <main+0x2bc>
ca0: 10 92 c8 01 sts 0x01C8, r1
ca4: d0 90 fe 01 lds r13, 0x01FE
ca8: 4d 2d mov r20, r13
caa: ff 24 eor r15, r15
cac: 8d 2d mov r24, r13
cae: 99 27 eor r25, r25
cb0: 0c 2f mov r16, r28
cb2: 11 27 eor r17, r17
cb4: 80 1b sub r24, r16
cb6: 91 0b sbc r25, r17
cb8: a8 16 cp r10, r24
cba: b9 06 cpc r11, r25
cbc: 0c f4 brge .+2 ; 0xcc0 <main+0xb2>
cbe: 74 c0 rjmp .+232 ; 0xda8 <main+0x19a>
cc0: ce 2d mov r28, r14
cc2: 4d 15 cp r20, r13
cc4: 28 f6 brcc .-118 ; 0xc50 <main+0x42>
cc6: 0e 94 66 05 call 0xacc <initialize_text_lcd>
cca: 8c e3 ldi r24, 0x3C ; 60
ccc: 91 e0 ldi r25, 0x01 ; 1
cce: 0e 94 a8 05 call 0xb50 <print_message>
cd2: 0e 94 ef 03 call 0x7de <initializemotor>
cd6: 80 91 c8 01 lds r24, 0x01C8
cda: 88 23 and r24, r24
cdc: 29 f4 brne .+10 ; 0xce8 <main+0xda>
cde: 80 91 10 01 lds r24, 0x0110
ce2: 82 50 subi r24, 0x02 ; 2
ce4: 80 93 10 01 sts 0x0110, r24
ce8: 81 e0 ldi r24, 0x01 ; 1
cea: 80 93 c8 01 sts 0x01C8, r24
cee: d0 90 fe 01 lds r13, 0x01FE
cf2: 4d 2d mov r20, r13
cf4: ff 24 eor r15, r15
cf6: 0c 2f mov r16, r28
cf8: 11 27 eor r17, r17
cfa: c8 01 movw r24, r16
cfc: 8d 19 sub r24, r13
cfe: 91 09 sbc r25, r1
d00: a8 16 cp r10, r24
d02: b9 06 cpc r11, r25
d04: 0c f4 brge .+2 ; 0xd08 <main+0xfa>
d06: 96 c0 rjmp .+300 ; 0xe34 <main+0x226>
d08: ce 2d mov r28, r14
d0a: 41 30 cpi r20, 0x01 ; 1
d0c: 09 f0 breq .+2 ; 0xd10 <main+0x102>
d0e: a3 cf rjmp .-186 ; 0xc56 <main+0x48>
d10: 10 92 c8 01 sts 0x01C8, r1
d14: 0e 94 66 05 call 0xacc <initialize_text_lcd>
d18: 8c e3 ldi r24, 0x3C ; 60
d1a: 91 e0 ldi r25, 0x01 ; 1
d1c: 0e 94 a8 05 call 0xb50 <print_message>
d20: 0e 94 ef 03 call 0x7de <initializemotor>
d24: ff 24 eor r15, r15
d26: 0c 2f mov r16, r28
d28: 11 27 eor r17, r17
d2a: 80 91 fe 01 lds r24, 0x01FE
d2e: 98 01 movw r18, r16
d30: 28 1b sub r18, r24
d32: 31 09 sbc r19, r1
d34: a2 16 cp r10, r18
d36: b3 06 cpc r11, r19
d38: 0c f4 brge .+2 ; 0xd3c <main+0x12e>
d3a: b7 c0 rjmp .+366 ; 0xeaa <main+0x29c>
d3c: 0e 94 d5 05 call 0xbaa <functi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -