📄 main.lis
字号:
001B 0A .byte 10
.area data(ram, con, rel)
001C .dbfile D:\gmj_1\main.c
001C .dbsym e max_ganshu _max_ganshu c
001C _caoshu::
001C .blkb 1
.area idata
001C 00 .byte 0
.area data(ram, con, rel)
001D .dbfile D:\gmj_1\main.c
001D .dbsym e caoshu _caoshu c
001D _menu_jb::
001D .blkb 1
.area idata
001D 00 .byte 0
.area data(ram, con, rel)
001E .dbfile D:\gmj_1\main.c
001E .dbsym e menu_jb _menu_jb c
001E _menu_gn::
001E .blkb 1
.area idata
001E 00 .byte 0
.area data(ram, con, rel)
001F .dbfile D:\gmj_1\main.c
001F .dbsym e menu_gn _menu_gn c
001F _string2::
001F .blkb 9
.area idata
001F 202020205041535300 .byte 32,32,32,32,'P,'A,'S,'S,0
.area data(ram, con, rel)
0028 .dbfile D:\gmj_1\main.c
0028 .dbsym e string2 _string2 A[9:9]c
0028 _cs_num::
0028 .blkb 1
.area idata
0028 00 .byte 0
.area data(ram, con, rel)
0029 .dbfile D:\gmj_1\main.c
0029 .dbsym e cs_num _cs_num c
.area text(rom, con, rel)
0436 .dbfile D:\gmj_1\main.c
0436 .dbfunc e port_init _port_init fV
.even
0436 _port_init::
0436 .dbline -1
0436 .dbline 122
0436 .dbline 123
0436 2224 clr R2
0438 2BBA out 0x1b,R2
043A .dbline 124
043A 2ABA out 0x1a,R2
043C .dbline 125
043C 80EF ldi R24,240
043E 88BB out 0x18,R24
0440 .dbline 126
0440 87BB out 0x17,R24
0442 .dbline 127
0442 25BA out 0x15,R2
0444 .dbline 128
0444 80EC ldi R24,192
0446 84BB out 0x14,R24
0448 .dbline 129
0448 22BA out 0x12,R2
044A .dbline 130
044A 21BA out 0x11,R2
044C .dbline -2
044C L132:
044C .dbline 0 ; func end
044C 0895 ret
044E .dbend
044E .dbfunc e read_adc _read_adc fi
044E ; adc_jg -> R20,R21
044E ; adc_L -> R20
044E ; adc_H -> R22
.even
044E _read_adc::
044E 0E940000 xcall push_gset2
0452 .dbline -1
0452 .dbline 134
0452 .dbline 137
0452 44B1 in R20,0x4
0454 .dbline 138
0454 65B1 in R22,0x5
0456 .dbline 139
0456 262F mov R18,R22
0458 3327 clr R19
045A 00E0 ldi R16,256
045C 11E0 ldi R17,1
045E 0E940000 xcall empy16s
0462 1801 movw R2,R16
0464 442E mov R4,R20
0466 5524 clr R5
0468 240C add R2,R4
046A 351C adc R3,R5
046C A101 movw R20,R2
046E .dbline 140
046E 8101 movw R16,R2
0470 .dbline -2
0470 L133:
0470 0E940000 xcall pop_gset2
0474 .dbline 0 ; func end
0474 0895 ret
0476 .dbsym r adc_jg 20 i
0476 .dbsym r adc_L 20 c
0476 .dbsym r adc_H 22 c
0476 .dbend
0476 .dbfunc e timer0_init _timer0_init fV
.even
0476 _timer0_init::
0476 .dbline -1
0476 .dbline 147
0476 .dbline 148
0476 2224 clr R2
0478 23BE out 0x33,R2
047A .dbline 149
047A 22BE out 0x32,R2
047C .dbline 150
047C 2CBE out 0x3c,R2
047E .dbline 151
047E 82E0 ldi R24,2
0480 83BF out 0x33,R24
0482 .dbline -2
0482 L134:
0482 .dbline 0 ; func end
0482 0895 ret
0484 .dbend
.area vector(rom, abs)
.org 36
0024 0C944202 jmp _timer0_ovf_isr
.area text(rom, con, rel)
0484 .dbfile D:\gmj_1\main.c
0484 .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
0484 ; i -> R16
.even
0484 _timer0_ovf_isr::
0484 2A92 st -y,R2
0486 3A92 st -y,R3
0488 0A93 st -y,R16
048A 8A93 st -y,R24
048C 2FB6 in R2,0x3f
048E 2A92 st -y,R2
0490 .dbline -1
0490 .dbline 156
0490 .dbline 158
0490 80910C00 lds R24,_on_scr
0494 8130 cpi R24,1
0496 71F4 brne L136
0498 .dbline 159
0498 .dbline 160
0498 2224 clr R2
049A 23BE out 0x33,R2
049C .dbline 161
049C AE9A sbi 0x15,6
049E .dbline 162
049E 0027 clr R16
04A0 01C0 xjmp L141
04A2 L138:
04A2 .dbline 162
04A2 L139:
04A2 .dbline 162
04A2 0395 inc R16
04A4 L141:
04A4 .dbline 162
04A4 0431 cpi R16,20
04A6 E8F3 brlo L138
04A8 .dbline 163
04A8 85B3 in R24,0x15
04AA 8F7B andi R24,191
04AC 85BB out 0x15,R24
04AE .dbline 164
04AE 2224 clr R2
04B0 20920C00 sts _on_scr,R2
04B4 .dbline 165
04B4 L136:
04B4 .dbline 166
04B4 2224 clr R2
04B6 30903400 lds R3,_time0_chi
04BA 2314 cp R2,R3
04BC 40F4 brsh L142
04BE .dbline 167
04BE .dbline 168
04BE 22BE out 0x32,R2
04C0 .dbline 169
04C0 82E0 ldi R24,2
04C2 83BF out 0x33,R24
04C4 .dbline 170
04C4 832D mov R24,R3
04C6 8150 subi R24,1
04C8 80933400 sts _time0_chi,R24
04CC .dbline 171
04CC 13C0 xjmp L143
04CE L142:
04CE .dbline 173
04CE .dbline 174
04CE 2224 clr R2
04D0 30903200 lds R3,_time0_fen
04D4 2314 cp R2,R3
04D6 30F4 brsh L144
04D8 .dbline 175
04D8 .dbline 176
04D8 32BE out 0x32,R3
04DA .dbline 177
04DA 82E0 ldi R24,2
04DC 83BF out 0x33,R24
04DE .dbline 178
04DE 20923200 sts _time0_fen,R2
04E2 .dbline 179
04E2 08C0 xjmp L145
04E4 L144:
04E4 .dbline 181
04E4 .dbline 182
04E4 20903300 lds R2,_time0_yu
04E8 22BE out 0x32,R2
04EA .dbline 183
04EA 82E0 ldi R24,2
04EC 83BF out 0x33,R24
04EE .dbline 184
04EE 81E0 ldi R24,1
04F0 80930C00 sts _on_scr,R24
04F4 .dbline 185
04F4 L145:
04F4 .dbline 186
04F4 L143:
04F4 .dbline -2
04F4 L135:
04F4 2990 ld R2,y+
04F6 2FBE out 0x3f,R2
04F8 8991 ld R24,y+
04FA 0991 ld R16,y+
04FC 3990 ld R3,y+
04FE 2990 ld R2,y+
0500 .dbline 0 ; func end
0500 1895 reti
0502 .dbsym r i 16 c
0502 .dbend
0502 .dbfunc e timer1_init _timer1_init fV
.even
0502 _timer1_init::
0502 .dbline -1
0502 .dbline 195
0502 .dbline 196
0502 2224 clr R2
0504 2EBC out 0x2e,R2
0506 .dbline 197
0506 2DBC out 0x2d,R2
0508 .dbline 198
0508 2CBC out 0x2c,R2
050A .dbline 199
050A 2BBC out 0x2b,R2
050C .dbline 200
050C 2ABC out 0x2a,R2
050E .dbline 201
050E 29BC out 0x29,R2
0510 .dbline 202
0510 ; OCR1BL = 0x00 /*INVALID SETTING*/;
0510 28BC out 0x28,R2
0512 .dbline 205
0512 ; //OCR1CH = $OCR1CH$;
0512 ; //OCR1CL = $OCR1CL$;
0512 ; ICR1H = 0x00 /*INVALID SETTING*/;
0512 27BC out 0x27,R2
0514 .dbline 206
0514 ; ICR1L = 0x00 /*INVALID SETTING*/;
0514 26BC out 0x26,R2
0516 .dbline 207
0516 ; TCCR1A = 0x00;
0516 2FBC out 0x2f,R2
0518 .dbline 208
0518 ; TCCR1B = 0x02; //start Timer
0518 82E0 ldi R24,2
051A 8EBD out 0x2e,R24
051C .dbline -2
051C L146:
051C .dbline 0 ; func end
051C 0895 ret
051E .dbend
.area vector(rom, abs)
.org 32
0020 0C948F02 jmp _timer1_ovf_isr
.area text(rom, con, rel)
051E .dbfile D:\gmj_1\main.c
051E .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
051E ; avg_speed -> R12,R13
051E ; time1_jsq -> R10,R11
051E ; i -> R12
.even
051E _timer1_ovf_isr::
051E 0A92 st -y,R0
0520 1A92 st -y,R1
0522 2A92 st -y,R2
0524 3A92 st -y,R3
0526 4A92 st -y,R4
0528 5A92 st -y,R5
052A 6A92 st -y,R6
052C 7A92 st -y,R7
052E 8A92 st -y,R8
0530 9A92 st -y,R9
0532 0A93 st -y,R16
0534 1A93 st -y,R17
0536 2A93 st -y,R18
0538 3A93 st -y,R19
053A 8A93 st -y,R24
053C 9A93 st -y,R25
053E EA93 st -y,R30
0540 FA93 st -y,R31
0542 0FB6 in R0,0x3f
0544 0A92 st -y,R0
0546 0E940000 xcall push_gset5
054A 2497 sbiw R28,4
054C .dbline -1
054C .dbline 213
054C ; }
054C ;
054C ; #pragma interrupt_handler timer1_ovf_isr:9
054C ; void timer1_ovf_isr(void) //步进电机控制
054C ; {
054C .dbline 217
054C ; unsigned char i; //循环变量
054C ; unsigned int time1_jsq; //time1的时间值
054C ; unsigned int avg_speed; //平均速度
054C ; if (M_state==0) //停止状态
054C 20900000 lds R2,_M_state
0550 2220 tst R2
0552 09F4 brne L148
0554 .dbline 218
0554 ; {
0554 .dbline 219
0554 ; return;
0554 2FC2 xjmp L147
0556 L148:
0556 .dbline 222
0556 ; }
0556 ; //TIMER1 has overflowed
0556 ; TCNT1 = tmp_t1; //计数器赋初值
0556 20900300 lds R2,_tmp_t1
055A 30900400 lds R3,_tmp_t1+1
055E 3DBC out 0x2d,R3
0560 2CBC out 0x2c,R2
0562 .dbline 223
0562 ; PORTC |=0b10000000; //给出步进电机驱动脉冲
0562 AF9A sbi 0x15,7
0564 .dbline 224
0564 CC24 clr R12
0566 01C0 xjmp L153
0568 L150:
0568 .dbline 224
0568 L151:
0568
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -