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

📄 双足机器人.lis

📁 这段源代码是基于atmel公司mega16单片机做的双足机器人控制程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 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 + -