📄 双足机器人.lis
字号:
00B6 04C0 xjmp L31
00B8 L30:
00B8 .dbline 82
00B8 .dbline 83
00B8 04EB ldi R16,180
00BA 10E0 ldi R17,0
00BC A1DF xcall _delay_us
00BE .dbline 84
00BE 4A95 dec R20
00C0 .dbline 85
00C0 L31:
00C0 .dbline 81
00C0 ; while(time!=0)
00C0 4423 tst R20
00C2 D1F7 brne L30
00C4 .dbline -2
00C4 L29:
00C4 0E940000 xcall pop_gset1
00C8 .dbline 0 ; func end
00C8 0895 ret
00CA .dbsym r time 20 c
00CA .dbend
00CA .dbfunc e stop _stop fV
.even
00CA _stop::
00CA .dbline -1
00CA .dbline 88
00CA ; {
00CA ; delay_us(180);
00CA ; time--;
00CA ; }
00CA ; }
00CA ; void stop(void)
00CA ; {
00CA .dbline 89
00CA ; PORTD&=0x3f;
00CA 82B3 in R24,0x12
00CC 8F73 andi R24,63
00CE 82BB out 0x12,R24
00D0 .dbline 90
00D0 ; delay_20ms();
00D0 AEDF xcall _delay_20ms
00D2 .dbline 91
00D2 ; PORTD|=0xc0;
00D2 82B3 in R24,0x12
00D4 806C ori R24,192
00D6 82BB out 0x12,R24
00D8 .dbline 92
00D8 ; delay_stop();
00D8 B7DF xcall _delay_stop
00DA .dbline -2
00DA L33:
00DA .dbline 0 ; func end
00DA 0895 ret
00DC .dbend
00DC .dbfunc e run _run fV
.even
00DC _run::
00DC .dbline -1
00DC .dbline 95
00DC ; }
00DC ; void run(void)
00DC ; {
00DC .dbline 96
00DC ; PORTD&=0x3f;
00DC 82B3 in R24,0x12
00DE 8F73 andi R24,63
00E0 82BB out 0x12,R24
00E2 .dbline 97
00E2 ; delay_20ms();
00E2 A5DF xcall _delay_20ms
00E4 .dbline 99
00E4 ;
00E4 ; PORTD|=0x80;
00E4 979A sbi 0x12,7
00E6 .dbline 100
00E6 ; delay_run();
00E6 D7DF xcall _delay_run
00E8 .dbline 101
00E8 ; PORTD&=0x3f;
00E8 82B3 in R24,0x12
00EA 8F73 andi R24,63
00EC 82BB out 0x12,R24
00EE .dbline 104
00EE ;
00EE ;
00EE ; PORTD|=0x40;
00EE 969A sbi 0x12,6
00F0 .dbline 105
00F0 ; delay_back();
00F0 DFDF xcall _delay_back
00F2 .dbline 106
00F2 ; PORTD&=0x3f;
00F2 82B3 in R24,0x12
00F4 8F73 andi R24,63
00F6 82BB out 0x12,R24
00F8 .dbline 110
00F8 ;
00F8 ;
00F8 ;
00F8 ; delay_conver();
00F8 B4DF xcall _delay_conver
00FA .dbline -2
00FA L34:
00FA .dbline 0 ; func end
00FA 0895 ret
00FC .dbend
00FC .dbfunc e run_back _run_back fV
.even
00FC _run_back::
00FC .dbline -1
00FC .dbline 114
00FC ;
00FC ; }
00FC ; void run_back(void)
00FC ; {
00FC .dbline 115
00FC ; PORTD&=0x3f;
00FC 82B3 in R24,0x12
00FE 8F73 andi R24,63
0100 82BB out 0x12,R24
0102 .dbline 116
0102 ; delay_20ms();
0102 95DF xcall _delay_20ms
0104 .dbline 119
0104 ;
0104 ;
0104 ; PORTD|=0x80;
0104 979A sbi 0x12,7
0106 .dbline 120
0106 ; delay_back();
0106 D4DF xcall _delay_back
0108 .dbline 121
0108 ; PORTD&=0x3f;
0108 82B3 in R24,0x12
010A 8F73 andi R24,63
010C 82BB out 0x12,R24
010E .dbline 124
010E ;
010E ;
010E ; PORTD|=0x40;
010E 969A sbi 0x12,6
0110 .dbline 125
0110 ; delay_run();
0110 C2DF xcall _delay_run
0112 .dbline 126
0112 ; PORTD&=0x3f;
0112 82B3 in R24,0x12
0114 8F73 andi R24,63
0116 82BB out 0x12,R24
0118 .dbline 128
0118 ;
0118 ; delay_conver();
0118 A4DF xcall _delay_conver
011A .dbline -2
011A L35:
011A .dbline 0 ; func end
011A 0895 ret
011C .dbend
011C .dbfunc e turn_left _turn_left fV
.even
011C _turn_left::
011C .dbline -1
011C .dbline 131
011C ; }
011C ; void turn_left(void)
011C ; {
011C .dbline 132
011C ; PORTD&=0x3f;
011C 82B3 in R24,0x12
011E 8F73 andi R24,63
0120 82BB out 0x12,R24
0122 .dbline 133
0122 ; delay_20ms();
0122 85DF xcall _delay_20ms
0124 .dbline 134
0124 ; PORTD|=0x80;
0124 979A sbi 0x12,7
0126 .dbline 135
0126 ; delay_run();
0126 B7DF xcall _delay_run
0128 .dbline 136
0128 ; PORTD&=0x3f;
0128 82B3 in R24,0x12
012A 8F73 andi R24,63
012C 82BB out 0x12,R24
012E .dbline -2
012E L36:
012E .dbline 0 ; func end
012E 0895 ret
0130 .dbend
0130 .dbfunc e turn_right _turn_right fV
.even
0130 _turn_right::
0130 .dbline -1
0130 .dbline 140
0130 ; //delay_turn();
0130 ; }
0130 ; void turn_right(void)
0130 ; {
0130 .dbline 141
0130 ; PORTD&=0x3f;
0130 82B3 in R24,0x12
0132 8F73 andi R24,63
0134 82BB out 0x12,R24
0136 .dbline 142
0136 ; delay_20ms();
0136 7BDF xcall _delay_20ms
0138 .dbline 143
0138 ; PORTD|=0x40;
0138 969A sbi 0x12,6
013A .dbline 144
013A ; delay_run();
013A ADDF xcall _delay_run
013C .dbline 145
013C ; PORTD&=0x3f;
013C 82B3 in R24,0x12
013E 8F73 andi R24,63
0140 82BB out 0x12,R24
0142 .dbline -2
0142 L37:
0142 .dbline 0 ; func end
0142 0895 ret
0144 .dbend
0144 .dbfunc e LeftUp _LeftUp fV
0144 ; time -> R20
.even
0144 _LeftUp::
0144 0E940000 xcall push_gset1
0148 402F mov R20,R16
014A .dbline -1
014A .dbline 150
014A ; //delay_turn();
014A ; }
014A ;
014A ; void LeftUp(unsigned char time)//抬左脚
014A ; {
014A 0AC0 xjmp L40
014C L39:
014C .dbline 152
014C .dbline 153
014C 4A95 dec R20
014E .dbline 155
014E 82B3 in R24,0x12
0150 8F73 andi R24,63
0152 82BB out 0x12,R24
0154 .dbline 156
0154 6CDF xcall _delay_20ms
0156 .dbline 159
0156 979A sbi 0x12,7
0158 .dbline 160
0158 9EDF xcall _delay_run
015A .dbline 161
015A 82B3 in R24,0x12
015C 8F73 andi R24,63
015E 82BB out 0x12,R24
0160 .dbline 163
0160 L40:
0160 .dbline 151
0160 ; while(time>1)
0160 81E0 ldi R24,1
0162 8417 cp R24,R20
0164 98F3 brlo L39
0166 .dbline -2
0166 L38:
0166 0E940000 xcall pop_gset1
016A .dbline 0 ; func end
016A 0895 ret
016C .dbsym r time 20 c
016C .dbend
016C .dbfunc e LeftFwd _LeftFwd fV
016C ; time -> R20
.even
016C _LeftFwd::
016C 0E940000 xcall push_gset1
0170 402F mov R20,R16
0172 .dbline -1
0172 .dbline 168
0172 ; {
0172 ; time--;
0172 ;
0172 ; PORTD&=0x3f;
0172 ; delay_20ms();
0172 ;
0172 ;
0172 ; PORTD|=0x80;
0172 ; delay_run();
0172 ; PORTD&=0x3f;
0172 ;
0172 ; }
0172 ;
0172 ; }
0172 ;
0172 ; void LeftFwd(unsigned char time)//迈左脚步
0172 ; {
0172 0AC0 xjmp L44
0174 L43:
0174 .dbline 172
0174 .dbline 173
0174 4A95 dec R20
0176 .dbline 175
0176 82B3 in R24,0x12
0178 8F73 andi R24,63
017A 82BB out 0x12,R24
017C .dbline 176
017C 58DF xcall _delay_20ms
017E .dbline 179
017E 969A sbi 0x12,6
0180 .dbline 180
0180 8ADF xcall _delay_run
0182 .dbline 181
0182 82B3 in R24,0x12
0184 8F73 andi R24,63
0186 82BB out 0x12,R24
0188 .dbline 182
0188 L44:
0188 .dbline 171
0188 ;
0188 ;
0188 ; while(time>1)
0188 81E0 ldi R24,1
018A 8417 cp R24,R20
018C 98F3 brlo L43
018E .dbline -2
018E L42:
018E 0E940000 xcall pop_gset1
0192 .dbline 0 ; func end
0192 0895 ret
0194 .dbsym r time 20 c
0194 .dbend
0194 .dbfunc e RightUp _RightUp fV
0194 ; time -> R20
.even
0194 _RightUp::
0194 0E940000 xcall push_gset1
0198 402F mov R20,R16
019A .dbline -1
019A .dbline 190
019A ; {
019A ; time--;
019A ;
019A ; PORTD&=0x3f;
019A ; delay_20ms();
019A ;
019A ;
019A ; PORTD|=0x40;
019A ; delay_run();
019A ; PORTD&=0x3f;
019A ; }
019A ;
019A ;
019A ;
019A ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -