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

📄 carinit.lis

📁 本次设计的自动往返电动小汽车
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0134                   .dbline 77
 0134           ;           }
 0134           L11:
 0134                   .dbline 78
 0134           L4:
 0134                   .dbline -2
 0134                   .dbline 79
 0134           ;     }
 0134           ; }
 0134           L3:
 0134 2296              adiw R28,2
 0136 00D0              rcall pop_lset
 0138                   .dbline 0 ; func end
 0138 1895              reti
 013A                   .dbend
 013A                   .dbfunc e timer1_init _timer1_init fV
                        .even
 013A           _timer1_init::
 013A                   .dbline -1
 013A                   .dbline 86
 013A           ; 
 013A           ; ////////////////////////////////////////
 013A           ; // Function : timer1_init()
 013A           ; // Purpose : T/C1 PWM模式初始化
 013A           ; //
 013A           ; void timer1_init(void)
 013A           ; {
 013A                   .dbline 87
 013A           ;     TCCR1B = 0x00; //stop
 013A 2224              clr R2
 013C 2EBC              out 0x2e,R2
 013E                   .dbline 88
 013E           ;       TCNT1H = 0xE0; //setup
 013E 80EE              ldi R24,224
 0140 8DBD              out 0x2d,R24
 0142                   .dbline 89
 0142           ;       TCNT1L = 0xC0;
 0142 80EC              ldi R24,192
 0144 8CBD              out 0x2c,R24
 0146                   .dbline 90
 0146           ;       OCR1AH = 0x1F;
 0146 8FE1              ldi R24,31
 0148 8BBD              out 0x2b,R24
 014A                   .dbline 91
 014A           ;       OCR1AL = 0x40;
 014A 80E4              ldi R24,64
 014C 8ABD              out 0x2a,R24
 014E                   .dbline 92
 014E           ;       OCR1BH = 0xFF;
 014E 8FEF              ldi R24,255
 0150 89BD              out 0x29,R24
 0152                   .dbline 93
 0152           ;       OCR1BL = 0xFF;
 0152 88BD              out 0x28,R24
 0154                   .dbline 94
 0154           ;       TCCR1A = 0x63;
 0154 83E6              ldi R24,99
 0156 8FBD              out 0x2f,R24
 0158                   .dbline 95
 0158           ;       TCCR1B = 0x01; //start Timer
 0158 81E0              ldi R24,1
 015A 8EBD              out 0x2e,R24
 015C                   .dbline -2
 015C                   .dbline 96
 015C           ; }
 015C           L28:
 015C                   .dbline 0 ; func end
 015C 0895              ret
 015E                   .dbend
                        .area vector(rom, abs)
                        .org 2
 0002 AFC0              rjmp _int0_isr
                        .area text(rom, con, rel)
 015E                   .dbfile C:\DOCUME~1\Administrator\桌面\自动往返小汽车\源程序\自动往返小车lcd版\CarInit.c
 015E                   .dbfunc e int0_isr _int0_isr fV
                        .even
 015E           _int0_isr::
 015E 8A93              st -y,R24
 0160 9A93              st -y,R25
 0162 8FB7              in R24,0x3f
 0164 8A93              st -y,R24
 0166                   .dbline -1
 0166                   .dbline 104
 0166           ; 
 0166           ; ////////////////////////////////////////
 0166           ; // Function : int0_isr()
 0166           ; // Purpose : INT0中断服务
 0166           ; //
 0166           ; #pragma interrupt_handler int0_isr:2
 0166           ; void int0_isr(void)
 0166           ; {
 0166                   .dbline 105
 0166           ;    lcnt++;//检测的线条数目
 0166 80910000          lds R24,_lcnt
 016A 90910100          lds R25,_lcnt+1
 016E 0196              adiw R24,1
 0170 90930100          sts _lcnt+1,R25
 0174 80930000          sts _lcnt,R24
 0178                   .dbline -2
 0178                   .dbline 106
 0178           ; }
 0178           L29:
 0178 8991              ld R24,y+
 017A 8FBF              out 0x3f,R24
 017C 9991              ld R25,y+
 017E 8991              ld R24,y+
 0180                   .dbline 0 ; func end
 0180 1895              reti
 0182                   .dbend
                        .area vector(rom, abs)
                        .org 4
 0004 C1C0              rjmp _int1_isr
                        .area text(rom, con, rel)
 0182                   .dbfile C:\DOCUME~1\Administrator\桌面\自动往返小汽车\源程序\自动往返小车lcd版\CarInit.c
 0182                   .dbfunc e int1_isr _int1_isr fV
                        .even
 0182           _int1_isr::
 0182 00D0              rcall push_lset
 0184 2297              sbiw R28,2
 0186                   .dbline -1
 0186                   .dbline 113
 0186           ; ///////////////////////////////////////
 0186           ; // Function : int1_1sr()
 0186           ; // Purpose : INT1中断服务
 0186           ; //
 0186           ; #pragma interrupt_handler int1_isr:3
 0186           ; void int1_isr(void)
 0186           ; {
 0186                   .dbline 114
 0186           ;     qcnt++;   
 0186 80910000          lds R24,_qcnt
 018A 90910100          lds R25,_qcnt+1
 018E 0196              adiw R24,1
 0190 90930100          sts _qcnt+1,R25
 0194 80930000          sts _qcnt,R24
 0198                   .dbline 115
 0198           ;       if(juli[0]!=JULI/100)
 0198 00910000          lds R16,_juli
 019C 10910100          lds R17,_juli+1
 01A0 00D0              rcall int2fp
 01A2 3A93              st -y,R19
 01A4 2A93              st -y,R18
 01A6 1A93              st -y,R17
 01A8 0A93              st -y,R16
 01AA 00E0              ldi R16,<L33
 01AC 10E0              ldi R17,>L33
 01AE 00D0              rcall lpm32
 01B0 3A93              st -y,R19
 01B2 2A93              st -y,R18
 01B4 1A93              st -y,R17
 01B6 0A93              st -y,R16
 01B8 00910000          lds R16,_qcnt
 01BC 10910100          lds R17,_qcnt+1
 01C0 00D0              rcall int2fp
 01C2 3A93              st -y,R19
 01C4 2A93              st -y,R18
 01C6 1A93              st -y,R17
 01C8 0A93              st -y,R16
 01CA 00D0              rcall mpy32fs
 01CC 00E0              ldi R16,<L34
 01CE 10E0              ldi R17,>L34
 01D0 00D0              rcall lpm32
 01D2 3A93              st -y,R19
 01D4 2A93              st -y,R18
 01D6 1A93              st -y,R17
 01D8 0A93              st -y,R16
 01DA 00D0              rcall div32fs
 01DC 00D0              rcall cmp32f
 01DE 31F1              breq L31
 01E0                   .dbline 116
 01E0           ;     { 
 01E0                   .dbline 117
 01E0           ;           juli[0]=JULI/100;
 01E0 00E0              ldi R16,<L33
 01E2 10E0              ldi R17,>L33
 01E4 00D0              rcall lpm32
 01E6 3A93              st -y,R19
 01E8 2A93              st -y,R18
 01EA 1A93              st -y,R17
 01EC 0A93              st -y,R16
 01EE 00910000          lds R16,_qcnt
 01F2 10910100          lds R17,_qcnt+1
 01F6 00D0              rcall int2fp
 01F8 3A93              st -y,R19
 01FA 2A93              st -y,R18
 01FC 1A93              st -y,R17
 01FE 0A93              st -y,R16
 0200 00D0              rcall mpy32fs
 0202 00E0              ldi R16,<L34
 0204 10E0              ldi R17,>L34
 0206 00D0              rcall lpm32
 0208 3A93              st -y,R19
 020A 2A93              st -y,R18
 020C 1A93              st -y,R17
 020E 0A93              st -y,R16
 0210 00D0              rcall div32f
 0212 00D0              rcall fp2int
 0214 10930100          sts _juli+1,R17
 0218 00930000          sts _juli,R16
 021C                   .dbline 118
 021C           ;           LCD_write(5,1,'0'+juli[0]);
 021C 802F              mov R24,R16
 021E 912F              mov R25,R17
 0220 C096              adiw R24,48
 0222 9983              std y+1,R25
 0224 8883              std y+0,R24
 0226 21E0              ldi R18,1
 0228 05E0              ldi R16,5
 022A 00D0              rcall _LCD_write
 022C                   .dbline 119
 022C           ;       }                         
 022C           L31:
 022C                   .dbline 120
 022C           ;       if(juli[1]!=(JULI-juli[0]*100)/10)
 022C 00910200          lds R16,_juli+2
 0230 10910300          lds R17,_juli+2+1
 0234 00D0              rcall int2fp
 0236 3A93              st -y,R19
 0238 2A93              st -y,R18
 023A 1A93              st -y,R17
 023C 0A93              st -y,R16
 023E 00E0              ldi R16,<L33
 0240 10E0              ldi R17,>L33
 0242 00D0              rcall lpm32
 0244 3A93              st -y,R19
 0246 2A93              st -y,R18
 0248 1A93              st -y,R17
 024A 0A93              st -y,R16
 024C 00910000          lds R16,_qcnt
 0250 10910100          lds R17,_qcnt+1
 0254 00D0              rcall int2fp
 0256 3A93              st -y,R19
 0258 2A93              st -y,R18
 025A 1A93              st -y,R17
 025C 0A93              st -y,R16
 025E 00D0              rcall mpy32fs
 0260 20910000          lds R18,_juli
 0264 30910100          lds R19,_juli+1
 0268 04E6              ldi R16,100
 026A 10E0              ldi R17,0
 026C 00D0              rcall mpy16s
 026E 00D0              rcall int2fp
 0270 3A93              st -y,R19
 0272 2A93              st -y,R18
 0274 1A93              st -y,R17
 0276 0A93              st -y,R16
 0278 00D0              rcall sub32fs
 027A 00E0              ldi R16,<L38
 027C 10E0              ldi R17,>L38
 027E 00D0              rcall lpm32
 0280 3A93              st -y,R19
 0282 2A93              st -y,R18
 0284 1A93              st -y,R17
 0286 0A93              st -y,R16
 0288 00D0              rcall div32fs
 028A 00D0              rcall cmp32f
 028C 99F1              breq L35
 028E                   .dbline 121
 028E           ;       {
 028E                   .dbline 122
 028E           ;           juli[1]=(JULI-juli[0]*100)/10;
 028E 00E0              ldi R16,<L33
 0290 10E0              ldi R17,>L33
 0292 00D0              rcall lpm32
 0294 3A93              st -y,R19
 0296 2A93              st -y,R18
 0298 1A93              st -y,R17
 029A 0A93              st -y,R16
 029C 00910000          lds R16,_qcnt
 02A0 10910100          lds R17,_qcnt+1
 02A4 00D0              rcall int2fp
 02A6 3A93              st -y,R19
 02A8 2A93              st -y,R18
 02AA 1A93              st -y,R17
 02AC 0A93              st -y,R16
 02AE 00D0              rcall mpy32fs
 02B0 20910000          lds R18,_juli
 02B4 30910100          lds R19,_juli+1
 02B8 04E6              ldi R16,100
 02BA 10E0              ldi R17,0
 02BC 00D0              rcall mpy16s
 02BE 00D0              rcall int2fp

⌨️ 快捷键说明

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