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

📄 bianma.lis

📁 单片机开发资料光盘-双龙-686M.zip
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0094 84BB              out 0x14,R24
 0096                   .dbline 163
 0096 8FEF              ldi R24,255
 0098 85BB              out 0x15,R24
 009A                   .dbline 164
 009A           ;         }
 009A 80E8              ldi R24,128
 009C 87BB              out 0x17,R24
 009E                   .dbline 164
 009E 8FEF              ldi R24,255
 00A0 88BB              out 0x18,R24
 00A2                   .dbline 166
 00A2           ;       if(pc==0x60)
 00A2           ;         {
 00A2 43B3              in R20,0x13
 00A4 4071              andi R20,16
 00A6                   .dbline 167
 00A6           ;          stop();
 00A6 C9F4              brne L18
 00A8                   .dbline 168
 00A8           ;          //后退,往右转弯
 00A8                   .dbline 169
 00A8           ;          PORTD = 0x50;
 00A8 E5DF              rcall _backward
 00AA                   .dbline 170
 00AA           ;          PORTA=0x3C;//后退
 00AA 0AEF              ldi R16,250
 00AC 10E0              ldi R17,0
 00AE C0DF              rcall _delay_ms
 00B0                   .dbline 172
 00B0           ;          delay_ms(delaytime);
 00B0           ;          PORTD = 0x60;//右转
 00B0 80910C00          lds R24,_work_status
 00B4 8037              cpi R24,112
 00B6 69F4              brne L20
 00B8                   .dbline 173
 00B8           ;          PORTA=0xCC;
 00B8                   .dbline 174
 00B8           ;          delay_ms(delaytime);
 00B8 E7DF              rcall _stop
 00BA 0AC0              rjmp L23
 00BC           L22:
 00BC                   .dbline 176
 00BC                   .dbline 177
 00BC 85E5              ldi R24,85
 00BE 8BBB              out 0x1b,R24
 00C0                   .dbline 178
 00C0 0AEF              ldi R16,250
 00C2 10E0              ldi R17,0
 00C4 B5DF              rcall _delay_ms
 00C6                   .dbline 179
 00C6 8AEA              ldi R24,170
 00C8 8BBB              out 0x1b,R24
 00CA                   .dbline 180
 00CA 0AEF              ldi R16,250
 00CC 10E0              ldi R17,0
 00CE B0DF              rcall _delay_ms
 00D0                   .dbline 181
 00D0           L23:
 00D0                   .dbline 175
 00D0           ;         }
 00D0 F5CF              rjmp L22
 00D2           X1:
 00D2                   .dbline 182
 00D2           ;       if(pc==0xE0)
 00D2           ;         {
 00D2           ;        //刹车
 00D2           ;        PORTD = 0xF0;
 00D2           ;          PORTA = 0xFF;
 00D2           ;         } 
 00D2           ;       else
 00D2           L20:
 00D2                   .dbline 184
 00D2           ;         {
 00D2           ;           PORTD = 0xA0;//前行
 00D2 C1DF              rcall _turn_left
 00D4                   .dbline 185
 00D4           ;               PORTA=0xC3;
 00D4 0AEF              ldi R16,250
 00D6 10E0              ldi R17,0
 00D8 ABDF              rcall _delay_ms
 00DA                   .dbline 186
 00DA           ;       }
 00DA           L18:
 00DA                   .dbline 188
 00DA           ;    }
 00DA           ; }
 00DA 46B3              in R20,0x16
 00DC 4077              andi R20,112
 00DE                   .dbline 189
 00DE           ; 
 00DE 4035              cpi R20,80
 00E0 41F4              brne L25
 00E2                   .dbline 190
 00E2           ; void music_car()
 00E2                   .dbline 191
 00E2           ; {
 00E2 CDDF              rcall _forward
 00E4                   .dbline 192
 00E4           ;  DDRA = 0xFF; PORTA = 0xFF;
 00E4 0AEF              ldi R16,250
 00E6 10E0              ldi R17,0
 00E8 A3DF              rcall _delay_ms
 00EA                   .dbline 194
 00EA           ;  PORTA = 0xCC;
 00EA           ;  while (1)
 00EA B5DF              rcall _turn_left
 00EC                   .dbline 195
 00EC           ;       ;
 00EC 0AEF              ldi R16,250
 00EE 10E0              ldi R17,0
 00F0 9FDF              rcall _delay_ms
 00F2                   .dbline 196
 00F2           ; }
 00F2           L25:
 00F2                   .dbline 197
 00F2           ; 
 00F2 4033              cpi R20,48
 00F4 41F4              brne L27
 00F6                   .dbline 198
 00F6           ; void led_car()
 00F6                   .dbline 199
 00F6           ; {
 00F6 BEDF              rcall _backward
 00F8                   .dbline 200
 00F8           ;  DDRA = 0xFF; PORTA = 0xFF;
 00F8 0AEF              ldi R16,250
 00FA 10E0              ldi R17,0
 00FC 99DF              rcall _delay_ms
 00FE                   .dbline 202
 00FE           ;  PORTA = 0x0F;
 00FE           ;  while (1)
 00FE ABDF              rcall _turn_left
 0100                   .dbline 203
 0100           ;       ;
 0100 0AEF              ldi R16,250
 0102 10E0              ldi R17,0
 0104 95DF              rcall _delay_ms
 0106                   .dbline 204
 0106           ; }
 0106           L27:
 0106                   .dbline 205
 0106           ; 
 0106 4036              cpi R20,96
 0108 41F4              brne L29
 010A                   .dbline 206
 010A           ; void main(void)
 010A                   .dbline 207
 010A           ; {
 010A B4DF              rcall _backward
 010C                   .dbline 208
 010C           ;  unsigned temp;
 010C 0AEF              ldi R16,250
 010E 10E0              ldi R17,0
 0110 8FDF              rcall _delay_ms
 0112                   .dbline 210
 0112           ;  
 0112           ;  port_init();         //PA,PB,PC,PD 初始化
 0112 A1DF              rcall _turn_left
 0114                   .dbline 211
 0114           ;  
 0114 0AEF              ldi R16,250
 0116 10E0              ldi R17,0
 0118 8BDF              rcall _delay_ms
 011A                   .dbline 212
 011A           ;  loop:
 011A           L29:
 011A                   .dbline 213
 011A           ; 
 011A 4032              cpi R20,32
 011C C1F4              brne L31
 011E                   .dbline 214
 011E           ;  PORTA = 0x00;delay_ms(500);
 011E                   .dbline 215
 011E           ;  PORTA = 0xff;delay_ms(500);
 011E B4DF              rcall _stop
 0120                   .dbline 216
 0120           ;  bianma = 0x0000;
 0120 08EE              ldi R16,1000
 0122 13E0              ldi R17,3
 0124 85DF              rcall _delay_ms
 0126 12C0              rjmp L34
 0128           L33:
 0128                   .dbline 218
 0128           ;  
 0128           ;  while(1)
 0128                   .dbline 219
 0128           ;      {
 0128 43B3              in R20,0x13
 012A 4071              andi R20,16
 012C                   .dbline 220
 012C           ;         remote = PINB & 0x0f;
 012C 09F4              brne L36
 012E                   .dbline 221
 012E           ;         PORTA = ~remote;
 012E                   .dbline 221
 012E 0FC0              rjmp L35
 0130           L36:
 0130                   .dbline 222
 0130           ;         switch (remote)
 0130 85E5              ldi R24,85
 0132 8BBB              out 0x1b,R24
 0134                   .dbline 223
 0134           ;               {//按键检查
 0134 0AEF              ldi R16,250
 0136 10E0              ldi R17,0
 0138 7BDF              rcall _delay_ms
 013A                   .dbline 224
 013A           ;          case  0x04 : 
 013A 8AEA              ldi R24,170
 013C 8BBB              out 0x1b,R24
 013E                   .dbline 225
 013E           ;                 {
 013E 0AEF              ldi R16,250
 0140 10E0              ldi R17,0
 0142 76DF              rcall _delay_ms
 0144                   .dbline 226
 0144           ;                          bianma=bianma | 0xA000;
 0144 66B3              in R22,0x16
 0146 6F70              andi R22,15
 0148                   .dbline 227
 0148           ;                          bianma_count = bianma_count+1;
 0148 09F0              breq L38
 014A                   .dbline 228
 014A           ;                         }
 014A                   .dbline 228
 014A 01C0              rjmp L35
 014C           L38:
 014C                   .dbline 229
 014C           L34:
 014C                   .dbline 217
 014C EDCF              rjmp L33
 014E           L35:
 014E                   .dbline 230
 014E           L31:
 014E                   .dbline -2
 014E                   .dbline 231
 014E           ;               break;
 014E           ;          case  0x02 : 
 014E           ;                 {
 014E           L17:
 014E 00D0              rcall pop_gset2
 0150                   .dbline 0 ; func end
 0150 0895              ret
 0152                   .dbsym r remote_in 22 c
 0152                   .dbsym r sw_in 20 c
 0152                   .dbend
 0152                   .dbfunc e mic_startup _mic_startup fV
 0152           ;         mic_in -> R20
                        .even
 0152           _mic_startup::
 0152 00D0              rcall push_gset1
 0154                   .dbline -1
 0154                   .dbline 234
 0154           ;                          bianma=bianma | 0x0B00;
 0154           ;                          bianma_count = bianma_count+1;
 0154           ;                         }
 0154                   .dbline 236
 0154           ;               break;
 0154           ;          case  0x08 : 
 0154 81E0              ldi R24,1
 0156 84BB              out 0x14,R24
 0158                   .dbline 236
 0158 8FEF              ldi R24,255
 015A 85BB              out 0x15,R24
 015C                   .dbline 237
 015C           ;                 {
 015C 01E0              ldi R16,1
 015E 10E0              ldi R17,0
 0160 5FDF              rcall _delay_us
 0162 04C0              rjmp L42
 0164           L41:
 0164                   .dbline 239
 0164           ;                          bianma=bianma | 0x00C0;
 0164           ;                          bianma_count = bianma_count+1;
 0164                   .dbline 240
 0164           ;                         }
 0164 43B3              in R20,0x13
 0166 4870              andi R20,8
 0168                   .dbline 241
 0168           ;               break;
 0168 09F4              brne L44
 016A                   .dbline 241
 016A                   .dbline 241
 016A 01C0              rjmp L43
 016C           L44:
 016C                   .dbline 242
 016C           L42:
 016C                   .dbline 238
 016C FBCF              rjmp L41
 016E           L43:
 016E                   .dbline -2
 016E                   .dbline 243
 016E           ;          case 0x01 : 
 016E           ;                 {
 016E           L40:
 016E 00D0              rcall pop_gset1
 0170                   .dbline 0 ; func end
 0170 0895              ret
 0172                   .dbsym r mic_in 20 c
 0172                   .dbend
 0172                   .dbfunc e remote_auto_time _remote_auto_time fV
 0172           ;      remote_in -> R16
                        .even
 0172           _remote_auto_time::
 0172                   .dbline -1
 0172                   .dbline 260
 0172           ;                          bianma=bianma | 0x000D;
 0172           ;                          bianma_count = bianma_count+1;
 0172           ;                         }
 0172           ;               break;
 0172           ;               }
 0172           ;         while(1)
 0172           ;             {//释键检查
 0172           ;                  temp = PINB & 0x0f;
 0172           ;                  if(temp != remote)
 0172           ;                  {break;}
 0172           ;                 }
 0172           ;         if(bianma_count == 4)
 0172           ;           {//按键四次,认为 一次有效输入结束
 0172           ;                bianma_count=0;break;
 0172           ;               }
 0172           ;        }
 0172           ;  delay_ms(200);
 0172                   .dbline 262
 0172           ;  PORTA = 0xaa;delay_ms(500);
 0172           ;  PORTA = 0x55;delay_ms(500);
 0172 06B3              in R16,0x16
 0174 0F70              andi R16,15
 0176                   .dbline 263
 0176           ;  if(bianma == 0xa000)   
 0176 1127              clr R17
 0178 0030              cpi R16,0
 017A 0107              cpc R16,R17
 017C 09F4              brne X4
 017E 62C0              rjmp L48
 0180           X4:
 0180           X2:
 0180 0130              cpi R16,1
 0182 E0E0              ldi R30,0
 0184 1E07              cpc R17,R30
 0186 09F4              brne X5
 0188 4AC0              rjmp L59
 018A           X5:
 018A 0230              cpi R16,2
 018C E0E0              ldi R30,0
 018E 1E07              cpc R17,R30
 0190 F1F0              breq L53
 0192 0430              cpi R16,4
 0194 E0E0              ldi R30,0
 0196 1E07              cpc R17,R30
 0198 29F0              breq L50
 019A 0830              cpi R16,8
 019C E0E0              ldi R30,0
 019E 1E07              cpc R17,R30
 01A0 51F1              breq L56
 01A2 50C0              rjmp L47
 01A4           X3:
 01A4                   .dbline 264
 01A4           ;    {xuanya_car();}
 01A4           L50:
 01A4                   .dbline 266
 01A4           ;  if(bianma == 0x0b00)
 01A4           ;    {remote_car();}
 01A4 80910800          lds R24,_delay_time2
 01A8 90910900          lds R25,_delay_time2+1
 01AC C297              sbiw R24,50
 01AE 90930900          sts _delay_time2+1,R25
 01B2 80930800          sts _delay_time2,R24
 01B6                   .dbline 267
 01B6           ;  if(bianma == 0x00c0)
 01B6 8233              cpi R24,50
 01B8 E0E0              ldi R30,0
 01BA 9E07              cpc R25,R30
 01BC 09F0              breq X6
 01BE 42C0              rjmp L48
 01C0           X6:
 01C0                   .dbline 268
 01C0           ;    {music_car();}
 01C0                   .dbline 268
 01C0 84E6              ldi R24,100
 01C2 90E0              ldi R25,0
 01C4 90930900          sts _delay_time2+1,R25
 01C8 80930800          sts _delay_time2,R24
 01CC                   .dbline 268
 01CC                   .dbline 269
 01CC           ;  if(bianma == 0x000d)
 01CC 3BC0              rjmp L48

⌨️ 快捷键说明

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