📄 carinit.lis
字号:
02C0 3A93 st -y,R19
02C2 2A93 st -y,R18
02C4 1A93 st -y,R17
02C6 0A93 st -y,R16
02C8 00D0 rcall sub32fs
02CA 00E0 ldi R16,<L38
02CC 10E0 ldi R17,>L38
02CE 00D0 rcall lpm32
02D0 3A93 st -y,R19
02D2 2A93 st -y,R18
02D4 1A93 st -y,R17
02D6 0A93 st -y,R16
02D8 00D0 rcall div32f
02DA 00D0 rcall fp2int
02DC 10930300 sts _juli+2+1,R17
02E0 00930200 sts _juli+2,R16
02E4 .dbline 123
02E4 ; LCD_write(6,1,'0'+juli[1]);
02E4 802F mov R24,R16
02E6 912F mov R25,R17
02E8 C096 adiw R24,48
02EA 9983 std y+1,R25
02EC 8883 std y+0,R24
02EE 21E0 ldi R18,1
02F0 06E0 ldi R16,6
02F2 00D0 rcall _LCD_write
02F4 .dbline 124
02F4 ; }
02F4 L35:
02F4 .dbline 125
02F4 00910400 lds R16,_juli+4
02F8 10910500 lds R17,_juli+4+1
02FC 00D0 rcall int2fp
02FE 3A93 st -y,R19
0300 2A93 st -y,R18
0302 1A93 st -y,R17
0304 0A93 st -y,R16
0306 00E0 ldi R16,<L33
0308 10E0 ldi R17,>L33
030A 00D0 rcall lpm32
030C 3A93 st -y,R19
030E 2A93 st -y,R18
0310 1A93 st -y,R17
0312 0A93 st -y,R16
0314 00910000 lds R16,_qcnt
0318 10910100 lds R17,_qcnt+1
031C 00D0 rcall int2fp
031E 3A93 st -y,R19
0320 2A93 st -y,R18
0322 1A93 st -y,R17
0324 0A93 st -y,R16
0326 00D0 rcall mpy32fs
0328 20910200 lds R18,_juli+2
032C 30910300 lds R19,_juli+2+1
0330 0AE0 ldi R16,10
0332 10E0 ldi R17,0
0334 00D0 rcall mpy16s
0336 00D0 rcall int2fp
0338 3A93 st -y,R19
033A 2A93 st -y,R18
033C 1A93 st -y,R17
033E 0A93 st -y,R16
0340 00D0 rcall sub32fs
0342 20910000 lds R18,_juli
0346 30910100 lds R19,_juli+1
034A 04E6 ldi R16,100
034C 10E0 ldi R17,0
034E 00D0 rcall mpy16s
0350 00D0 rcall int2fp
0352 3A93 st -y,R19
0354 2A93 st -y,R18
0356 1A93 st -y,R17
0358 0A93 st -y,R16
035A 00D0 rcall sub32fs
035C 00D0 rcall cmp32f
035E 09F4 brne X2
0360 38C0 rjmp L41
0362 X2:
0362 .dbline 126
0362 .dbline 127
0362 00E0 ldi R16,<L33
0364 10E0 ldi R17,>L33
0366 00D0 rcall lpm32
0368 3A93 st -y,R19
036A 2A93 st -y,R18
036C 1A93 st -y,R17
036E 0A93 st -y,R16
0370 00910000 lds R16,_qcnt
0374 10910100 lds R17,_qcnt+1
0378 00D0 rcall int2fp
037A 3A93 st -y,R19
037C 2A93 st -y,R18
037E 1A93 st -y,R17
0380 0A93 st -y,R16
0382 00D0 rcall mpy32fs
0384 20910200 lds R18,_juli+2
0388 30910300 lds R19,_juli+2+1
038C 0AE0 ldi R16,10
038E 10E0 ldi R17,0
0390 00D0 rcall mpy16s
0392 00D0 rcall int2fp
0394 3A93 st -y,R19
0396 2A93 st -y,R18
0398 1A93 st -y,R17
039A 0A93 st -y,R16
039C 00D0 rcall sub32fs
039E 20910000 lds R18,_juli
03A2 30910100 lds R19,_juli+1
03A6 04E6 ldi R16,100
03A8 10E0 ldi R17,0
03AA 00D0 rcall mpy16s
03AC 00D0 rcall int2fp
03AE 3A93 st -y,R19
03B0 2A93 st -y,R18
03B2 1A93 st -y,R17
03B4 0A93 st -y,R16
03B6 00D0 rcall sub32f
03B8 00D0 rcall fp2int
03BA 10930500 sts _juli+4+1,R17
03BE 00930400 sts _juli+4,R16
03C2 .dbline 128
03C2 802F mov R24,R16
03C4 912F mov R25,R17
03C6 C096 adiw R24,48
03C8 9983 std y+1,R25
03CA 8883 std y+0,R24
03CC 21E0 ldi R18,1
03CE 08E0 ldi R16,8
03D0 00D0 rcall _LCD_write
03D2 .dbline 129
03D2 L41:
03D2 .dbline -2
03D2 .dbline 130
03D2 ; if(juli[2]!=JULI-juli[1]*10-juli[0]*100)
03D2 ; {
03D2 ; juli[2]=JULI-juli[1]*10-juli[0]*100;
03D2 ; LCD_write(8,1,'0'+juli[2]);
03D2 ; }
03D2 ; }
03D2 L30:
03D2 2296 adiw R28,2
03D4 00D0 rcall pop_lset
03D6 .dbline 0 ; func end
03D6 1895 reti
03D8 .dbend
03D8 .dbfunc e init_devices _init_devices fV
.even
03D8 _init_devices::
03D8 .dbline -1
03D8 .dbline 137
03D8 ;
03D8 ; ////////////////////////////////
03D8 ; // Function : init_devices()
03D8 ; // Purpose : 硬件初始化
03D8 ; //
03D8 ; void init_devices(void)
03D8 ; {
03D8 .dbline 138
03D8 ; CLI();
03D8 F894 cli
03DA .dbline 139
03DA ; port_init();
03DA 12DE rcall _port_init
03DC .dbline 140
03DC ; timer0_init();
03DC 1CDE rcall _timer0_init
03DE .dbline 141
03DE ; timer1_init();
03DE ADDE rcall _timer1_init
03E0 .dbline 142
03E0 ; PORTA&=0xC0;
03E0 8BB3 in R24,0x1b
03E2 807C andi R24,192
03E4 8BBB out 0x1b,R24
03E6 .dbline 143
03E6 ; PORTB=0xFF;
03E6 8FEF ldi R24,255
03E8 88BB out 0x18,R24
03EA .dbline 144
03EA ; MCUCR = 0x0F;
03EA 8FE0 ldi R24,15
03EC 85BF out 0x35,R24
03EE .dbline 145
03EE ; GIMSK = 0xC0;
03EE 80EC ldi R24,192
03F0 8BBF out 0x3b,R24
03F2 .dbline 146
03F2 ; TIMSK = 0x02;
03F2 82E0 ldi R24,2
03F4 89BF out 0x39,R24
03F6 .dbline 147
03F6 ; SEI();
03F6 7894 sei
03F8 .dbline -2
03F8 .dbline 148
03F8 ; }
03F8 L48:
03F8 .dbline 0 ; func end
03F8 0895 ret
03FA .dbend
03FA .dbfunc e shifth _shifth fV
.even
03FA _shifth::
03FA .dbline -1
03FA .dbline 154
03FA ;
03FA ; ///////////////////////////////
03FA ; // 控制车速函数
03FA ; //
03FA ; void shifth(void) //控制高速
03FA ; {
03FA .dbline 155
03FA ; OCR1BH = 0xFF;
03FA 8FEF ldi R24,255
03FC 89BD out 0x29,R24
03FE .dbline 156
03FE ; OCR1BL = 0xFF;
03FE 88BD out 0x28,R24
0400 .dbline -2
0400 .dbline 157
0400 ; }
0400 L49:
0400 .dbline 0 ; func end
0400 0895 ret
0402 .dbend
0402 .dbfunc e stop _stop fV
.even
0402 _stop::
0402 .dbline -1
0402 .dbline 161
0402 ; //////////////////////////////
0402 ; //
0402 ; void stop(void) //制动
0402 ; {
0402 .dbline 162
0402 ; OCR1BH = 0x00;
0402 2224 clr R2
0404 29BC out 0x29,R2
0406 .dbline 163
0406 ; OCR1BL = 0x00;
0406 28BC out 0x28,R2
0408 .dbline -2
0408 .dbline 164
0408 ; }
0408 L50:
0408 .dbline 0 ; func end
0408 0895 ret
040A .dbend
040A .dbfunc e shiftl _shiftl fV
.even
040A _shiftl::
040A .dbline -1
040A .dbline 168
040A ; //////////////////////////////
040A ; //
040A ; void shiftl(void) //控制低速
040A ; {
040A .dbline 169
040A ; OCR1BH = 0x01;
040A 81E0 ldi R24,1
040C 89BD out 0x29,R24
040E .dbline 170
040E ; OCR1BL = 0xFF;
040E 8FEF ldi R24,255
0410 88BD out 0x28,R24
0412 .dbline -2
0412 .dbline 171
0412 ; }
0412 L51:
0412 .dbline 0 ; func end
0412 0895 ret
0414 .dbend
.area lit(rom, con, rel)
0000 L38:
0000 00002041 .word 0x0,0x4120
0004 L34:
0004 0000C842 .word 0x0,0x42c8
0008 L33:
0008 6891AD3F .word 0x9168,0x3fad
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -