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

📄 main.lis

📁 MEGA16单片机程序包2
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 011A                   .dbline 45
 011A           ;                             back_right();
 011A 0E940000          xcall _back_right
 011E                   .dbline 46
 011E           ;                                         delay(1000);
 011E 08EE              ldi R16,1000
 0120 13E0              ldi R17,3
 0122 0E940000          xcall _delay
 0126                   .dbline 47
 0126           ;                                         for_left();
 0126 0E940000          xcall _for_left
 012A                   .dbline 48
 012A           ;                                         delay(1000);
 012A 08EE              ldi R16,1000
 012C 13E0              ldi R17,3
 012E 0E940000          xcall _delay
 0132                   .dbline 50
 0132           ;                                        
 0132           ;                                   };                              break;
 0132                   .dbline 50
 0132                   .dbline 50
 0132 31C0              xjmp L4
 0134           L11:
 0134                   .dbline 52
 0134           ;                                       
 0134           ;               case 0x05:    forward();                    break;
 0134 0E940000          xcall _forward
 0138                   .dbline 52
 0138 2EC0              xjmp L4
 013A           L12:
 013A                   .dbline 54
 013A           ;               
 013A           ;               case 0x06:  {
 013A                   .dbline 55
 013A           ;                             back_right();
 013A 0E940000          xcall _back_right
 013E                   .dbline 56
 013E           ;                                         delay(1000);
 013E 08EE              ldi R16,1000
 0140 13E0              ldi R17,3
 0142 0E940000          xcall _delay
 0146                   .dbline 57
 0146           ;                                         for_left();
 0146 0E940000          xcall _for_left
 014A                   .dbline 58
 014A           ;                                         delay(1000);
 014A 08EE              ldi R16,1000
 014C 13E0              ldi R17,3
 014E 0E940000          xcall _delay
 0152                   .dbline 60
 0152           ;                                         
 0152           ;                                       };                              break;
 0152                   .dbline 60
 0152                   .dbline 60
 0152 21C0              xjmp L4
 0154           L13:
 0154                   .dbline 62
 0154           ;                                       
 0154           ;               case 0x07:  {
 0154                   .dbline 63
 0154           ;                             backward(); 
 0154 0E940000          xcall _backward
 0158                   .dbline 64
 0158           ;                             delay(1000);
 0158 08EE              ldi R16,1000
 015A 13E0              ldi R17,3
 015C 0E940000          xcall _delay
 0160                   .dbline 65
 0160           ;                                         for_left();
 0160 0E940000          xcall _for_left
 0164                   .dbline 66
 0164           ;                                         delay(1000);
 0164 08EE              ldi R16,1000
 0166 13E0              ldi R17,3
 0168 0E940000          xcall _delay
 016C                   .dbline 67
 016C           ;                                       };                              break;
 016C                   .dbline 67
 016C                   .dbline 67
 016C 14C0              xjmp L4
 016E           L14:
 016E                   .dbline 71
 016E           ;                                       
 016E           ; /**************************以下为检测黑线时的执行函数************************************/
 016E           ;                                                                                
 016E           ;               case 0x30:  for_left();                     break;
 016E 0E940000          xcall _for_left
 0172                   .dbline 71
 0172 11C0              xjmp L4
 0174           L15:
 0174                   .dbline 73
 0174           ;               
 0174           ;               case 0x28:  forward();                      break;
 0174 0E940000          xcall _forward
 0178                   .dbline 73
 0178 0EC0              xjmp L4
 017A           L16:
 017A                   .dbline 75
 017A           ;                                       
 017A           ;               case 0x18:  for_right();                    break;
 017A 0E940000          xcall _for_right
 017E                   .dbline 75
 017E 0BC0              xjmp L4
 0180           L17:
 0180                   .dbline 77
 0180           ;                           
 0180           ;               case 0x20:  for_left();                     break;
 0180 0E940000          xcall _for_left
 0184                   .dbline 77
 0184 08C0              xjmp L4
 0186           L18:
 0186                   .dbline 79
 0186           ;                             
 0186           ;               case 0x08:  for_right();                    break;
 0186 0E940000          xcall _for_right
 018A                   .dbline 79
 018A 05C0              xjmp L4
 018C           L19:
 018C                   .dbline 81
 018C           ;               
 018C           ;               case 0x38:  backward();                     break;
 018C 0E940000          xcall _backward
 0190                   .dbline 81
 0190 02C0              xjmp L4
 0192           L3:
 0192                   .dbline 83
 0192 0E940000          xcall _forward
 0196                   .dbline 83
 0196           L4:
 0196                   .dbline -2
 0196           L2:
 0196 0E940000          xcall pop_gset1
 019A                   .dbline 0 ; func end
 019A 0895              ret
 019C                   .dbsym r mes 20 c
 019C                   .dbend
 019C                   .dbfunc e main _main fV
 019C           ;           mesg -> R20
 019C           ;           mesc -> R22
 019C           ;            pin -> R10
                        .even
 019C           _main::
 019C 2297              sbiw R28,2
 019E                   .dbline -1
 019E                   .dbline 91
 019E           ;               
 019E           ;               default:    forward();                      break;                      
 019E           ;                                       
 019E           ;               
 019E           ;               }
 019E           ; }
 019E           ; 
 019E           ; 
 019E           ; void main()
 019E           ; {
 019E                   .dbline 94
 019E           ;  unsigned char mesg,mesc;
 019E           ;  unsigned char pin;
 019E           ;  init_lcd();                         //初始化液晶
 019E 0E940000          xcall _init_lcd
 01A2                   .dbline 95
 01A2           ;  LCD_write_string(0,0,"auto car");   //显示信息
 01A2 80E0              ldi R24,<L26
 01A4 90E0              ldi R25,>L26
 01A6 9983              std y+1,R25
 01A8 8883              std y+0,R24
 01AA 2227              clr R18
 01AC 0027              clr R16
 01AE 0E940000          xcall _LCD_write_string
 01B2                   .dbline 96
 01B2           ;  LCD_write_string(0,1,"ATMega 16");
 01B2 80E0              ldi R24,<L27
 01B4 90E0              ldi R25,>L27
 01B6 9983              std y+1,R25
 01B8 8883              std y+0,R24
 01BA 21E0              ldi R18,1
 01BC 0027              clr R16
 01BE 0E940000          xcall _LCD_write_string
 01C2 12C0              xjmp L29
 01C4           L28:
 01C4                   .dbline 99
 01C4           ; 
 01C4           ;  while(1)
 01C4           ;    { 
 01C4                   .dbline 100
 01C4           ;     pin = 0x00;              //初始化引脚信息
 01C4 AA24              clr R10
 01C6                   .dbline 101
 01C6           ;     mesg = 0x00;            
 01C6 4427              clr R20
 01C8                   .dbline 102
 01C8           ;       mesc = 0x00;
 01C8 6627              clr R22
 01CA                   .dbline 103
 01CA           ;     pin = ReadPin();         //读取引脚信息
 01CA 1ADF              xcall _ReadPin
 01CC A02E              mov R10,R16
 01CE                   .dbline 104
 01CE           ;       mesc|= pin&0x07;         //屏蔽光电传感器干扰,检测障碍物
 01CE 8A2D              mov R24,R10
 01D0 8770              andi R24,7
 01D2 682B              or R22,R24
 01D4                   .dbline 105
 01D4           ;       mesg|= pin&0x38;         //屏蔽超声波干扰,检测黑线
 01D4 8A2D              mov R24,R10
 01D6 8873              andi R24,56
 01D8 482B              or R20,R24
 01DA                   .dbline 106
 01DA           ;       if(mesc)
 01DA 6623              tst R22
 01DC 19F0              breq L31
 01DE                   .dbline 107
 01DE           ;         car_turn(mesc);  
 01DE 062F              mov R16,R22
 01E0 16DF              xcall _car_turn
 01E2 02C0              xjmp L32
 01E4           L31:
 01E4                   .dbline 109
 01E4           ;       else
 01E4           ;           car_turn(mesg);
 01E4 042F              mov R16,R20
 01E6 13DF              xcall _car_turn
 01E8           L32:
 01E8                   .dbline 110
 01E8           L29:
 01E8                   .dbline 98
 01E8 EDCF              xjmp L28
 01EA           X18:
 01EA                   .dbline -2
 01EA           L25:
 01EA 2296              adiw R28,2
 01EC                   .dbline 0 ; func end
 01EC 0895              ret
 01EE                   .dbsym r mesg 20 c
 01EE                   .dbsym r mesc 22 c
 01EE                   .dbsym r pin 10 c
 01EE                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile F:\USING0~1\LINEAN~1\main.c
 0000           L27:
 0000                   .blkb 10
                        .area idata
 0000 41544D65676120313600      .byte 'A,'T,'M,'e,'g,'a,32,49,54,0
                        .area data(ram, con, rel)
 000A                   .dbfile F:\USING0~1\LINEAN~1\main.c
 000A           L26:
 000A                   .blkb 9
                        .area idata
 000A 6175746F2063617200        .byte 'a,'u,'t,'o,32,'c,'a,'r,0
                        .area data(ram, con, rel)
 0013                   .dbfile F:\USING0~1\LINEAN~1\main.c

⌨️ 快捷键说明

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