📄 work.lis
字号:
01B4 80910400 lds R24,_u
01B8 90910500 lds R25,_u+1
01BC 0196 adiw R24,1
01BE 90930500 sts _u+1,R25
01C2 80930400 sts _u,R24
01C6 L55:
01C6 .dbline 175
01C6 80910400 lds R24,_u
01CA 90910500 lds R25,_u+1
01CE 8039 cpi R24,144
01D0 E1E0 ldi R30,1
01D2 9E07 cpc R25,R30
01D4 70F3 brlo L52
01D6 .dbline -2
01D6 .dbline 179
01D6 ; {
01D6 ; PulseXingZou(); //翻页电机驱动脉冲输出
01D6 ; }
01D6 ; }
01D6 L48:
01D6 .dbline 0 ; func end
01D6 0895 ret
01D8 .dbend
01D8 .dbfunc e Judge1 _Judge1 fV
.even
01D8 _Judge1::
01D8 .dbline -1
01D8 .dbline 182
01D8 ; //***************字轮电机转动方向及步数判断函数1****************//
01D8 ; void Judge1() //判断字轮正反转
01D8 ; {
01D8 .dbline 183
01D8 ; if(b>10){R_Step=(20-b)*12; M_DIR1;}
01D8 8AE0 ldi R24,10
01DA 90E0 ldi R25,0
01DC 20900200 lds R2,_b
01E0 30900300 lds R3,_b+1
01E4 8215 cp R24,R2
01E6 9305 cpc R25,R3
01E8 58F4 brsh L57
01EA .dbline 183
01EA .dbline 183
01EA 24E1 ldi R18,20
01EC 30E0 ldi R19,0
01EE 2219 sub R18,R2
01F0 3309 sbc R19,R3
01F2 0CE0 ldi R16,12
01F4 10E0 ldi R17,0
01F6 00D0 rcall mpy16s
01F8 00930000 sts _R_Step,R16
01FC .dbline 183
01FC AB9A sbi 0x15,3
01FE .dbline 183
01FE 0CC0 rjmp L58
0200 L57:
0200 .dbline 184
0200 .dbline 184
0200 20910200 lds R18,_b
0204 30910300 lds R19,_b+1
0208 0CE0 ldi R16,12
020A 10E0 ldi R17,0
020C 00D0 rcall mpy16s
020E 00930000 sts _R_Step,R16
0212 .dbline 184
0212 85B3 in R24,0x15
0214 877F andi R24,247
0216 85BB out 0x15,R24
0218 .dbline 184
0218 L58:
0218 .dbline -2
0218 .dbline 185
0218 ; else {R_Step=b*12; M_DIR0; }
0218 ; }
0218 L56:
0218 .dbline 0 ; func end
0218 0895 ret
021A .dbend
021A .dbfunc e Judge2 _Judge2 fV
.even
021A _Judge2::
021A .dbline -1
021A .dbline 188
021A ; //***************字轮电机转动方向及步数判断函数2****************//
021A ; void Judge2() //判断字轮正反转
021A ; {
021A .dbline 189
021A ; if(b>10){R_Step=(20-b)*12; M_DIR0;}
021A 8AE0 ldi R24,10
021C 90E0 ldi R25,0
021E 20900200 lds R2,_b
0222 30900300 lds R3,_b+1
0226 8215 cp R24,R2
0228 9305 cpc R25,R3
022A 68F4 brsh L60
022C .dbline 189
022C .dbline 189
022C 24E1 ldi R18,20
022E 30E0 ldi R19,0
0230 2219 sub R18,R2
0232 3309 sbc R19,R3
0234 0CE0 ldi R16,12
0236 10E0 ldi R17,0
0238 00D0 rcall mpy16s
023A 00930000 sts _R_Step,R16
023E .dbline 189
023E 85B3 in R24,0x15
0240 877F andi R24,247
0242 85BB out 0x15,R24
0244 .dbline 189
0244 0AC0 rjmp L61
0246 L60:
0246 .dbline 190
0246 .dbline 190
0246 20910200 lds R18,_b
024A 30910300 lds R19,_b+1
024E 0CE0 ldi R16,12
0250 10E0 ldi R17,0
0252 00D0 rcall mpy16s
0254 00930000 sts _R_Step,R16
0258 .dbline 190
0258 AB9A sbi 0x15,3
025A .dbline 190
025A L61:
025A .dbline -2
025A .dbline 191
025A ; else {R_Step=b*12; M_DIR1; }
025A ; }
025A L59:
025A .dbline 0 ; func end
025A 0895 ret
025C .dbend
025C .dbfunc e MotorZhua_fangZhi _MotorZhua_fangZhi fV
.even
025C _MotorZhua_fangZhi::
025C .dbline -1
025C .dbline 194
025C ; //***************机械手配合翻页电机翻页过程函数*****************//
025C ; void MotorZhua_fangZhi()
025C ; {Reverse_Step();
025C .dbline 194
025C 83DF rcall _Reverse_Step
025E .dbline 195
025E ; u=0;
025E 2224 clr R2
0260 3324 clr R3
0262 30920500 sts _u+1,R3
0266 20920400 sts _u,R2
026A .dbline 196
026A ; DelayLong(5); //吸纸延时10*(1000)
026A 05E0 ldi R16,5
026C 10E0 ldi R17,0
026E E7DE rcall _DelayLong
0270 16C0 rjmp L64
0272 L63:
0272 .dbline 198
0272 ; while(SONSOR_6==0) //检测传感器6
0272 ; {
0272 .dbline 199
0272 ; M_DIR1; //翻页电机正转
0272 AB9A sbi 0x15,3
0274 .dbline 200
0274 ; u++;
0274 80910400 lds R24,_u
0278 90910500 lds R25,_u+1
027C 0196 adiw R24,1
027E 90930500 sts _u+1,R25
0282 80930400 sts _u,R24
0286 .dbline 201
0286 ; PulseXingZou(); //翻页电机驱动脉冲输出
0286 27DF rcall _PulseXingZou
0288 .dbline 202
0288 ; if(u==380){ GRASP_ACT0;} //抓纸机械手后翻页电机往正转380步放纸
0288 80910400 lds R24,_u
028C 90910500 lds R25,_u+1
0290 8C37 cpi R24,124
0292 E1E0 ldi R30,1
0294 9E07 cpc R25,R30
0296 19F4 brne L66
0298 .dbline 202
0298 .dbline 202
0298 85B3 in R24,0x15
029A 8E7F andi R24,254
029C 85BB out 0x15,R24
029E .dbline 202
029E L66:
029E .dbline 203
029E L64:
029E .dbline 197
029E B69B sbis 0x16,6
02A0 E8CF rjmp L63
02A2 .dbline -2
02A2 .dbline 204
02A2 ; }
02A2 ; }
02A2 L62:
02A2 .dbline 0 ; func end
02A2 0895 ret
02A4 .dbend
02A4 .dbfunc e Motor3QianZou _Motor3QianZou fV
.even
02A4 _Motor3QianZou::
02A4 .dbline -1
02A4 .dbline 207
02A4 ; //******************装票步进电机出仓过程函数********************//
02A4 ; void Motor3QianZou()
02A4 ; {
02A4 .dbline 208
02A4 ; M_DIR1; //装票步进电机出仓方向
02A4 AB9A sbi 0x15,3
02A6 01C0 rjmp L70
02A8 L69:
02A8 .dbline 210
02A8 0BDF rcall _PulseZhuangPiao
02AA L70:
02AA .dbline 209
02AA ; while(SONSOR_0==0) //检测前传感器
02AA B09B sbis 0x16,0
02AC FDCF rjmp L69
02AE .dbline -2
02AE .dbline 211
02AE ; PulseZhuangPiao(); //承票板往前走
02AE ; }
02AE L68:
02AE .dbline 0 ; func end
02AE 0895 ret
02B0 .dbend
02B0 .dbfunc e Motor3HouZhong _Motor3HouZhong fV
02B0 ; e -> R20
.even
02B0 _Motor3HouZhong::
02B0 00D0 rcall push_gset1
02B2 .dbline -1
02B2 .dbline 214
02B2 ; //******************装票步进电机入仓过程函数********************//
02B2 ; void Motor3HouZhong()
02B2 ; {
02B2 04C0 rjmp L74
02B4 L73:
02B4 .dbline 217
02B4 .dbline 218
02B4 85B3 in R24,0x15
02B6 877F andi R24,247
02B8 85BB out 0x15,R24
02BA .dbline 219
02BA 02DF rcall _PulseZhuangPiao
02BC .dbline 220
02BC L74:
02BC .dbline 216
02BC ; uchar e;
02BC ; while(SONSOR_1==0) //检测中传感器
02BC B19B sbis 0x16,1
02BE FACF rjmp L73
02C0 .dbline 221
02C0 ; {
02C0 ; M_DIR0; //装票步进电机入仓方向
02C0 ; PulseZhuangPiao(); //装票步进电机驱动脉冲输出
02C0 ; }
02C0 ; for(e=0;e<55;e++) //修正传感器位置误差55
02C0 4427 clr R20
02C2 05C0 rjmp L79
02C4 L76:
02C4 .dbline 222
02C4 .dbline 223
02C4 85B3 in R24,0x15
02C6 877F andi R24,247
02C8 85BB out 0x15,R24
02CA .dbline 224
02CA FADE rcall _PulseZhuangPiao
02CC .dbline 225
02CC L77:
02CC .dbline 221
02CC 4395 inc R20
02CE L79:
02CE .dbline 221
02CE 4733 cpi R20,55
02D0 C8F3 brlo L76
02D2 .dbline -2
02D2 .dbline 226
02D2 ; {
02D2 ; M_DIR0; //装票步进电机入仓方向
02D2 ; PulseZhuangPiao(); //装票步进电机驱动脉冲输出
02D2 ; }
02D2 ; }
02D2 L72:
02D2 00D0 rcall pop_gset1
02D4 .dbline 0 ; func end
02D4 0895 ret
02D6 .dbsym r e 20 c
02D6 .dbend
02D6 .dbfunc e Motor3HouZou _Motor3HouZou fV
.even
02D6 _Motor3HouZou::
02D6 .dbline -1
02D6 .dbline 229
02D6 ; //*********装票步进电机入仓后再进入盖章位置的过程函数***********//
02D6 ; void Motor3HouZou()
02D6 ; {
02D6 .dbline 230
02D6 ; M_DIR0; //装票步进电机入仓方向
02D6 85B3 in R24,0x15
02D8 877F andi R24,247
02DA 85BB out 0x15,R24
02DC 01C0 rjmp L82
02DE L81:
02DE .dbline 232
02DE F0DE rcall _PulseZhuangPiao
02E0 L82:
02E0 .dbline 231
02E0 ; while(SONSOR_2==0) //检测后传感器
02E0 B29B sbis 0x16,2
02E2 FDCF rjmp L81
02E4 .dbline -2
02E4 .dbline 233
02E4 ; PulseZhuangPiao(); //装票步进电机驱动脉冲输出
02E4 ; }
02E4 L80:
02E4 .dbline 0 ; func end
02E4 0895 ret
02E6 .dbend
02E6 .dbfunc e Motor3 _Motor3 fV
.even
02E6 _Motor3::
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -