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

📄 car.lis

📁 飞思卡尔系列单片机智能汽车程序源代码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00DA           ;       
 00DA           ;       PORTB=0X01;
 00DA 81E0              ldi R24,1
 00DC 88BB              out 0x18,R24
 00DE                   .dbline 140
 00DE           ;       delay(cc); 
 00DE 8501              movw R16,R10
 00E0 9ADF              xcall _delay
 00E2                   .dbline 141
 00E2           ;       PORTB=0X00;
 00E2 2224              clr R2
 00E4 28BA              out 0x18,R2
 00E6                   .dbline 142
 00E6           ;       delay(T-cc);  
 00E6 00910000          lds R16,_T
 00EA 10910100          lds R17,_T+1
 00EE 0A19              sub R16,R10
 00F0 1B09              sbc R17,R11
 00F2 91DF              xcall _delay
 00F4                   .dbline -2
 00F4           L12:
 00F4                   .dbline 0 ; func end
 00F4 B990              ld R11,y+
 00F6 A990              ld R10,y+
 00F8 0895              ret
 00FA                   .dbsym r cc 10 i
 00FA                   .dbend
 00FA                   .dbfunc e BTOL _BTOL fV
 00FA           ;             dd -> R10,R11
                        .even
 00FA           _BTOL::
 00FA AA92              st -y,R10
 00FC BA92              st -y,R11
 00FE 5801              movw R10,R16
 0100                   .dbline -1
 0100                   .dbline 146
 0100           ; }
 0100           ; 
 0100           ; void BTOL(unsigned int dd)    //后右转
 0100           ; {
 0100                   .dbline 148
 0100           ;        
 0100           ;        PORTB=0X08;
 0100 88E0              ldi R24,8
 0102 88BB              out 0x18,R24
 0104                   .dbline 149
 0104           ;        delay(dd);
 0104 8501              movw R16,R10
 0106 87DF              xcall _delay
 0108                   .dbline 150
 0108           ;        PORTB=0X00;
 0108 2224              clr R2
 010A 28BA              out 0x18,R2
 010C                   .dbline 151
 010C           ;        delay(T-dd);
 010C 00910000          lds R16,_T
 0110 10910100          lds R17,_T+1
 0114 0A19              sub R16,R10
 0116 1B09              sbc R17,R11
 0118 7EDF              xcall _delay
 011A                   .dbline -2
 011A           L13:
 011A                   .dbline 0 ; func end
 011A B990              ld R11,y+
 011C A990              ld R10,y+
 011E 0895              ret
 0120                   .dbsym r dd 10 i
 0120                   .dbend
 0120                   .dbfunc e Linecheck_GO _Linecheck_GO fV
 0120           ;           temp -> R10
                        .even
 0120           _Linecheck_GO::
 0120 0E940000          xcall push_xgset300C
 0124                   .dbline -1
 0124                   .dbline 161
 0124           ; }
 0124           ; //============================================================================================
 0124           ; //函数: void  line_check_GO(void)
 0124           ; //语法:void  line_check_GO(void)
 0124           ; //描述: 前进黑白寻迹检测
 0124           ; //参数:无
 0124           ; //返回:无
 0124           ; //============================================================================================        
 0124           ; void  Linecheck_GO(void)
 0124           ; { 
 0124                   .dbline 163
 0124           ;   unsigned char temp;
 0124           ;   PORTA = 0XFF;
 0124 8FEF              ldi R24,255
 0126 8BBB              out 0x1b,R24
 0128                   .dbline 164
 0128           ;   DDRA  = 0x00;//PA 为输入口
 0128 2224              clr R2
 012A 2ABA              out 0x1a,R2
 012C                   .dbline 165
 012C           ;      NOP();
 012C 0000              nop
 012E                   .dbline 166
 012E           ;     temp=PINA;
 012E A9B2              in R10,0x19
 0130                   .dbline 167
 0130           ;      switch(temp)
 0130 4A2D              mov R20,R10
 0132 5527              clr R21
 0134 403F              cpi R20,240
 0136 E0E0              ldi R30,0
 0138 5E07              cpc R21,R30
 013A D9F0              breq L18
 013C           X1:
 013C 80EF              ldi R24,240
 013E 90E0              ldi R25,0
 0140 8417              cp R24,R20
 0142 9507              cpc R25,R21
 0144 2CF0              brlt L24
 0146           X2:
 0146           L23:
 0146 413E              cpi R20,225
 0148 E0E0              ldi R30,0
 014A 5E07              cpc R21,R30
 014C 11F1              breq L22
 014E           X3:
 014E 25C0              xjmp L15
 0150           L24:
 0150 473F              cpi R20,247
 0152 E0E0              ldi R30,0
 0154 5E07              cpc R21,R30
 0156 89F0              breq L19
 0158           X4:
 0158 473F              cpi R20,247
 015A E0E0              ldi R30,0
 015C 5E07              cpc R21,R30
 015E ECF0              brlt L15
 0160           X5:
 0160           L25:
 0160 4B3F              cpi R20,251
 0162 E0E0              ldi R30,0
 0164 5E07              cpc R21,R30
 0166 69F0              breq L20
 0168           X6:
 0168 4D3F              cpi R20,253
 016A E0E0              ldi R30,0
 016C 5E07              cpc R21,R30
 016E 69F0              breq L21
 0170           X7:
 0170 14C0              xjmp L15
 0172           L18:
 0172                   .dbline 169
 0172           ;             {
 0172           ;                     case 0xf0:  GTOL(600); break;
 0172 08E5              ldi R16,600
 0174 12E0              ldi R17,2
 0176 88DF              xcall _GTOL
 0178                   .dbline 169
 0178 13C0              xjmp L16
 017A           L19:
 017A                   .dbline 170
 017A           ;                     case 0xF7:  GTOL(600); break;
 017A 08E5              ldi R16,600
 017C 12E0              ldi R17,2
 017E 84DF              xcall _GTOL
 0180                   .dbline 170
 0180 0FC0              xjmp L16
 0182           L20:
 0182                   .dbline 171
 0182           ;                         case 0xFB:  GO(700);  break;
 0182 0CEB              ldi R16,700
 0184 12E0              ldi R17,2
 0186 5ADF              xcall _GO
 0188                   .dbline 171
 0188 0BC0              xjmp L16
 018A           L21:
 018A                   .dbline 172
 018A           ;                     case 0XFD:  GTOR(600); break;
 018A 08E5              ldi R16,600
 018C 12E0              ldi R17,2
 018E 8FDF              xcall _GTOR
 0190                   .dbline 172
 0190 07C0              xjmp L16
 0192           L22:
 0192                   .dbline 173
 0192           ;                 case 0xe1:  GTOR(600); break;
 0192 08E5              ldi R16,600
 0194 12E0              ldi R17,2
 0196 8BDF              xcall _GTOR
 0198                   .dbline 173
 0198 03C0              xjmp L16
 019A           L15:
 019A                   .dbline 174
 019A           ;                     default :  GO(700); 
 019A 0CEB              ldi R16,700
 019C 12E0              ldi R17,2
 019E 4EDF              xcall _GO
 01A0                   .dbline 175
 01A0           ;      }                      
 01A0           L16:
 01A0                   .dbline -2
 01A0           L14:
 01A0                   .dbline 0 ; func end
 01A0 0C940000          xjmp pop_xgset300C
 01A4                   .dbsym r temp 10 c
 01A4                   .dbend
 01A4                   .dbfunc e Linecheck_BACK _Linecheck_BACK fV
 01A4           ;           temp -> R10
                        .even
 01A4           _Linecheck_BACK::
 01A4 0E940000          xcall push_xgset300C
 01A8                   .dbline -1
 01A8                   .dbline 185
 01A8           ; }
 01A8           ; //============================================================================================
 01A8           ; //函数: void  line_check_BACK(void)
 01A8           ; //语法:void  line_check_BACK(void)
 01A8           ; //描述: 前进黑白寻迹检测
 01A8           ; //参数:无
 01A8           ; //返回:无
 01A8           ; //============================================================================================        
 01A8           ; void  Linecheck_BACK(void)
 01A8           ; { 
 01A8                   .dbline 187
 01A8           ;   unsigned char temp;
 01A8           ;   PORTA = 0XFF;
 01A8 8FEF              ldi R24,255
 01AA 8BBB              out 0x1b,R24
 01AC                   .dbline 188
 01AC           ;   DDRA  = 0x00;//PA 为输入口
 01AC 2224              clr R2
 01AE 2ABA              out 0x1a,R2
 01B0                   .dbline 189
 01B0           ;      _NOP();
 01B0 0000              nop
 01B2                   .dbline 190
 01B2           ;     temp=PINA;
 01B2 A9B2              in R10,0x19
 01B4                   .dbline 191
 01B4           ;      switch(temp)
 01B4 4A2D              mov R20,R10
 01B6 5527              clr R21
 01B8 413E              cpi R20,225
 01BA E0E0              ldi R30,0
 01BC 5E07              cpc R21,R30
 01BE 29F1              breq L34
 01C0           X8:
 01C0 423E              cpi R20,226
 01C2 E0E0              ldi R30,0
 01C4 5E07              cpc R21,R30
 01C6 E9F0              breq L33
 01C8           X9:
 01C8 443E              cpi R20,228
 01CA E0E0              ldi R30,0
 01CC 5E07              cpc R21,R30
 01CE A9F0              breq L32
 01D0           X10:
 01D0 483E              cpi R20,232
 01D2 E0E0              ldi R30,0
 01D4 5E07              cpc R21,R30
 01D6 69F0              breq L31
 01D8           X11:
 01D8 413E              cpi R20,225
 01DA E0E0              ldi R30,0
 01DC 5E07              cpc R21,R30
 01DE CCF0              brlt L27
 01E0           X12:
 01E0           L35:
 01E0 403F              cpi R20,240
 01E2 E0E0              ldi R30,0
 01E4 5E07              cpc R21,R30
 01E6 09F0              breq L30
 01E8           X13:
 01E8 14C0              xjmp L27
 01EA           L30:
 01EA                   .dbline 193
 01EA           ;             {
 01EA           ;                     case 0xf0:  BTOR(600); break;
 01EA 08E5              ldi R16,600
 01EC 12E0              ldi R17,2
 01EE 72DF              xcall _BTOR
 01F0                   .dbline 193
 01F0 13C0              xjmp L28
 01F2           L31:
 01F2                   .dbline 194
 01F2           ;                     case 0xe8:  BTOR(600); break;
 01F2 08E5              ldi R16,600
 01F4 12E0              ldi R17,2
 01F6 6EDF              xcall _BTOR
 01F8                   .dbline 194
 01F8 0FC0              xjmp L28
 01FA           L32:
 01FA                   .dbline 195
 01FA           ;                         case 0xe4:  BACK(700);  break;
 01FA 0CEB              ldi R16,700
 01FC 12E0              ldi R17,2
 01FE 31DF              xcall _BACK
 0200                   .dbline 195
 0200 0BC0              xjmp L28
 0202           L33:
 0202                   .dbline 196
 0202           ;                     case 0Xe2:  BTOL(600); break;
 0202 08E5              ldi R16,600
 0204 12E0              ldi R17,2
 0206 79DF              xcall _BTOL
 0208                   .dbline 196
 0208 07C0              xjmp L28
 020A           L34:
 020A                   .dbline 197
 020A           ;                 case 0xe1:  BTOL(600); break;
 020A 08E5              ldi R16,600
 020C 12E0              ldi R17,2
 020E 75DF              xcall _BTOL
 0210                   .dbline 197
 0210 03C0              xjmp L28
 0212           L27:
 0212                   .dbline 198
 0212           ;                     default :  BACK(700); 
 0212 0CEB              ldi R16,700
 0214 12E0              ldi R17,2
 0216 25DF              xcall _BACK
 0218                   .dbline 199
 0218           ;      }                      
 0218           L28:
 0218                   .dbline -2
 0218           L26:
 0218                   .dbline 0 ; func end
 0218 0C940000          xjmp pop_xgset300C
 021C                   .dbsym r temp 10 c
 021C                   .dbend
 021C                   .dbfunc e main _main fV
                        .even
 021C           _main::
 021C                   .dbline -1
 021C                   .dbline 209
 021C           ; }
 021C           ; //============================================================================================
 021C           ; //函数: void main() 
 021C           ; //语法:void main()
 021C           ; //描述:主函数
 021C           ; //参数  无
 021C           ; //返回:无
 021C           ; //============================================================================================ 
 021C           ; void main()
 021C           ; {  
 021C                   .dbline 210
 021C           ;     port_init(); 
 021C F1DE              xcall _port_init
 021E 01C0              xjmp L38
 0220           L37:
 0220                   .dbline 212
 0220           ;     while(1)
 0220           ;       { 
 0220                   .dbline 213
 0220           ;         Linecheck_GO();
 0220 7FDF              xcall _Linecheck_GO
 0222                   .dbline 219
 0222           ;         //Linecheck_BACK();
 0222           ;         //GO(800);
 0222           ;       // BACK(700);
 0222           ;         // TOR(700);
 0222           ;         //TOL(500);
 0222           ;     }
 0222           L38:
 0222                   .dbline 211
 0222 FECF              xjmp L37
 0224           X14:
 0224                   .dbline -2
 0224           L36:
 0224                   .dbline 0 ; func end
 0224 0895              ret
 0226                   .dbend
 0226           ; }

⌨️ 快捷键说明

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