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

📄 work.lst

📁 AVRkaifashili.rar
💻 LST
📖 第 1 页 / 共 3 页
字号:
    023D 0435      CPC	R3,R5
    023E F448      BCC	0x0248
(0304) 		   {
(0305) 		     b=p-b;
    023F 2455      CLR	R5
    0240 1842      SUB	R4,R2
    0241 0853      SBC	R5,R3
    0242 92500063  STS	_b+1,R5
    0244 92400062  STS	_b,R4
(0306) 			 Judge1();
    0246 DEC5      RCALL	_Judge1
(0307) 		   }
    0247 C00D      RJMP	0x0255
(0308) 		   else
(0309) 		   {
(0310) 		     b=b-p;
    0248 2E26      MOV	R2,R22
    0249 2433      CLR	R3
    024A 90400062  LDS	R4,_b
    024C 90500063  LDS	R5,_b+1
    024E 1842      SUB	R4,R2
    024F 0853      SBC	R5,R3
    0250 92500063  STS	_b+1,R5
    0252 92400062  STS	_b,R4
(0311) 		     Judge2();
    0254 DED8      RCALL	_Judge2
(0312) 		    }
(0313) 		 for(u=0;u<R_Step;u++)    //字轮电机转到打印位置
    0255 2422      CLR	R2
    0256 2433      CLR	R3
    0257 92300065  STS	_u+1,R3
    0259 92200064  STS	_u,R2
    025B C00A      RJMP	0x0266
(0314)          {PulseZiLun(); }   
    025C DE39      RCALL	_PulseZiLun
    025D 91800064  LDS	R24,_u
    025F 91900065  LDS	R25,_u+1
    0261 9601      ADIW	R24,1
    0262 93900065  STS	_u+1,R25
    0264 93800064  STS	_u,R24
    0266 90200060  LDS	R2,_R_Step
    0268 2433      CLR	R3
    0269 90400064  LDS	R4,_u
    026B 90500065  LDS	R5,_u+1
    026D 1442      CP	R4,R2
    026E 0453      CPC	R5,R3
    026F F360      BCS	0x025C
(0315)          Print_Act();             //打印十位数
    0270 DE30      RCALL	_Print_Act
(0316) 	   }
(0317) 
(0318)      k++;
    0271 9543      INC	R20
(0319)     MotorZhua_fangZhi();          //翻页
    0272 DEDB      RCALL	_MotorZhua_fangZhi
(0320) 	 if(Cancell==1)
    0273 91800066  LDS	R24,_Cancell
    0275 3081      CPI	R24,1
    0276 F409      BNE	0x0278
(0321)      goto OUT2;
    0277 C002      RJMP	0x027A
    0278 9BB3      SBIS	0x16,3
    0279 CF45      RJMP	0x01BF
(0322)  }
(0323)  OUT2:  
(0324)  Cancell=0;                       //取消动作并进行翻页复位
    027A 2422      CLR	R2
    027B 92200066  STS	_Cancell,R2
(0325)  for(u=0;u<450;u++) 
    027D 2433      CLR	R3
    027E 92300065  STS	_u+1,R3
    0280 92200064  STS	_u,R2
    0282 C00D      RJMP	0x0290
(0326)      {
(0327) 	  M_DIR0; 
    0283 B385      IN	R24,0x15
    0284 7F87      ANDI	R24,0xF7
    0285 BB85      OUT	0x15,R24
(0328)       PulseXingZou();	   
    0286 DE04      RCALL	_PulseXingZou
    0287 91800064  LDS	R24,_u
    0289 91900065  LDS	R25,_u+1
    028B 9601      ADIW	R24,1
    028C 93900065  STS	_u+1,R25
    028E 93800064  STS	_u,R24
    0290 91800064  LDS	R24,_u
    0292 91900065  LDS	R25,_u+1
    0294 3C82      CPI	R24,0xC2
    0295 E0E1      LDI	R30,1
    0296 079E      CPC	R25,R30
    0297 F358      BCS	0x0283
(0329)      }   
(0330) }
    0298 D0C0      RCALL	pop_gset2
    0299 9508      RET
(0331) //**************装票电机与翻页电机配合的盖章过程函数*************//
(0332) void MotorGaiZhang()
(0333) {
_MotorGaiZhang:
    029A C009      RJMP	0x02A4
(0334)  while(SONSOR_3==0)         //纸张传感器位为0时执行循环
(0335)  { 
(0336)    Motor3HouZou();          //进入盖章位置
    029B DEEF      RCALL	_Motor3HouZou
(0337)    Sign_Act();              //盖章动作
    029C DE0E      RCALL	_Sign_Act
(0338)    Motor3QianZhong();       //进入翻页位置
    029D DEF7      RCALL	_Motor3QianZhong
(0339)    MotorZhua_fangZhi();     //翻页
    029E DEAF      RCALL	_MotorZhua_fangZhi
(0340)     if(Cancell==1)          //检测取消标志
    029F 91800066  LDS	R24,_Cancell
    02A1 3081      CPI	R24,1
    02A2 F409      BNE	0x02A4
(0341)    goto OUT3;
    02A3 C002      RJMP	0x02A6
    02A4 9BB3      SBIS	0x16,3
    02A5 CFF5      RJMP	0x029B
(0342)  }
(0343) OUT3: 
(0344)  Cancell=0;                 //取消动作
    02A6 2422      CLR	R2
    02A7 92200066  STS	_Cancell,R2
(0345) }
    02A9 9508      RET
(0346) //*********************************主程序***********************************//
(0347) void main(void)
(0348) { INT_Init();            //初始化中断	
_main:
    02AA DD81      RCALL	_INT_Init
(0349)  begin: 	
(0350) 	Cancell=0; 
    02AB 2422      CLR	R2
    02AC 92200066  STS	_Cancell,R2
(0351) 	SIGN_ACT0;           //盖章击打电磁铁1吸起	
    02AE B385      IN	R24,0x15
    02AF 7F8B      ANDI	R24,0xFB
    02B0 BB85      OUT	0x15,R24
(0352)     PRINT_ACT0;          //打印页码击打电磁铁2吸起
    02B1 B385      IN	R24,0x15
    02B2 7F8D      ANDI	R24,0xFD
    02B3 BB85      OUT	0x15,R24
(0353)     GRASP_ACT0;          //抓纸机械手不动作
    02B4 B385      IN	R24,0x15
    02B5 7F8E      ANDI	R24,0xFE
    02B6 BB85      OUT	0x15,R24
(0354) 	Forward_Step();        //翻页步进电机复位
    02B7 DE32      RCALL	_Forward_Step
(0355) 	Motor3HouZou();        //承票板往后走
    02B8 DED2      RCALL	_Motor3HouZou
(0356)   	Motor3QianZhong();     //承票板往中间走进行复位
    02B9 DEDB      RCALL	_Motor3QianZhong
(0357)  do{do {FunkeyScan();} while(KeyDown==0); 
    02BA DD98      RCALL	_FunkeyScan
    02BB 90200067  LDS	R2,_KeyDown
    02BD 2022      TST	R2
    02BE F3D9      BEQ	0x02BA
(0358)    	switch(FunkeyNum)
    02BF 91400061  LDS	R20,_FunkeyNum
    02C1 2755      CLR	R21
    02C2 3040      CPI	R20,0
    02C3 0745      CPC	R20,R21
    02C4 F049      BEQ	0x02CE
    02C5 3041      CPI	R20,1
    02C6 E0E0      LDI	R30,0
    02C7 075E      CPC	R21,R30
    02C8 F039      BEQ	0x02D0
    02C9 3042      CPI	R20,2
    02CA E0E0      LDI	R30,0
    02CB 075E      CPC	R21,R30
    02CC F0D9      BEQ	0x02E8
    02CD C02D      RJMP	0x02FB
(0359) 		{case 0:                     //装票操作             
(0360) 			    Motor3();                   
    02CE DEC4      RCALL	_Motor3
(0361) 				break;									 
    02CF C02B      RJMP	0x02FB
(0362)          case 1 :                     //盖章操作
(0363) 				Motor3QianZou();      //出仓				 
    02D0 DEA1      RCALL	_Motor3QianZou
(0364)           wait1:
(0365) 				while(KEY_1!=0);
    02D1 99C9      SBIC	0x19,1
    02D2 CFFE      RJMP	0x02D1
    02D3 C006      RJMP	0x02DA
(0366)                 while(KEY_1==0) 
(0367)                    {DelayLong(50);
    02D4 E302      LDI	R16,0x32
    02D5 E010      LDI	R17,0
    02D6 DD68      RCALL	_DelayLong
(0368)                     if(KEY_1==0)
    02D7 99C9      SBIC	0x19,1
    02D8 CFF8      RJMP	0x02D1
(0369)                         Motor3HouZhong(); //入仓
    02D9 DE9E      RCALL	_Motor3HouZhong
    02DA 9BC9      SBIS	0x19,1
    02DB CFF8      RJMP	0x02D4
(0370)                     else goto wait1;}
(0371) 				SIGN_ON0;                     
    02DC B382      IN	R24,0x12
    02DD 7F8E      ANDI	R24,0xFE
    02DE BB82      OUT	0x12,R24
(0372)                 SIGN_OFF1;              //盖章进行中指示灯亮
    02DF 9A91      SBI	0x12,1
(0373) 			    Motor3HouZou();         //进入盖章位置
    02E0 DEAA      RCALL	_Motor3HouZou
(0374) 				MotorGaiZhang();        //盖章函数调用
    02E1 DFB8      RCALL	_MotorGaiZhang
(0375) 			    Motor3QianZhong();		//退出盖章位置 
    02E2 DEB2      RCALL	_Motor3QianZhong
(0376)                 SIGN_ON1;                     
    02E3 9A90      SBI	0x12,0
(0377)                 SIGN_OFF0;              //盖章结束指示灯亮
    02E4 B382      IN	R24,0x12
    02E5 7F8D      ANDI	R24,0xFD
    02E6 BB82      OUT	0x12,R24
(0378) 				break;
    02E7 C013      RJMP	0x02FB
(0379)         case 2:                         //打印页码
(0380)                 Motor3QianZou();        //出仓
    02E8 DE89      RCALL	_Motor3QianZou
(0381)          wait2: while(KEY_2!=0); 
    02E9 99CA      SBIC	0x19,2
    02EA CFFE      RJMP	0x02E9
    02EB C003      RJMP	0x02EF
(0382)                 while(KEY_2==0) 
(0383)                    {if(KEY_2==0)
    02EC 99CA      SBIC	0x19,2
    02ED CFFB      RJMP	0x02E9
(0384)                      Motor3HouZhong();  //入仓
    02EE DE89      RCALL	_Motor3HouZhong
    02EF 9BCA      SBIS	0x19,2
    02F0 CFFB      RJMP	0x02EC
(0385) 					else goto wait2;}
(0386) 				PRINT_ON0;                     
    02F1 B382      IN	R24,0x12
    02F2 7F87      ANDI	R24,0xF7
    02F3 BB82      OUT	0x12,R24
(0387)                 PRINT_OFF1;             //打印页码进行指示灯亮
    02F4 9A94      SBI	0x12,4
(0388)                 Motor1_Fuwei();          
    02F5 DEB1      RCALL	_Motor1_Fuwei
(0389) 				Motor12_Dama();         //打印页码  
    02F6 DEC5      RCALL	_Motor12_Dama
(0390) 				PRINT_ON1;                     
    02F7 9A93      SBI	0x12,3
(0391)                 PRINT_OFF0;             //打印页结束指示灯亮
    02F8 B382      IN	R24,0x12
    02F9 7E8F      ANDI	R24,0xEF
    02FA BB82      OUT	0x12,R24
(0392) 				break;
(0393) 		default:break;}}while(1);
    02FB CFBE      RJMP	0x02BA
(0394) }
    02FC 9508      RET
_INTHandler:
    02FD 938A      ST	R24,-Y
    02FE B78F      IN	R24,0x3F
    02FF 938A      ST	R24,-Y
(0395) 
(0396) //**************************中断服务程序*******************************//
(0397) #pragma interrupt_handler INTHandler:2
(0398) void INTHandler()  
(0399) {Cancell=1;                             //置位取消标志 
    0300 E081      LDI	R24,1
    0301 93800066  STS	_Cancell,R24
(0400)  NOP();
    0303 0000      NOP
(0401) }
FILE: <library>
    0304 9189      LD	R24,Y+
    0305 BF8F      OUT	0x3F,R24
    0306 9189      LD	R24,Y+
    0307 9518      RETI
mod16s:
    0308 9468      BSET	6
    0309 92DA      ST	R13,-Y
    030A 2ED1      MOV	R13,R17
    030B C004      RJMP	0x0310
div16s:
    030C 94E8      BCLR	6
    030D 92DA      ST	R13,-Y
    030E 2ED1      MOV	R13,R17
    030F 26D3      EOR	R13,R19
    0310 FF17      SBRS	R17,7
    0311 C004      RJMP	0x0316
    0312 9510      COM	R17
    0313 9500      COM	R16
    0314 5F0F      SUBI	R16,0xFF
    0315 4F1F      SBCI	R17,0xFF
    0316 FF37      SBRS	R19,7
    0317 C004      RJMP	0x031C
    0318 9530      COM	R19
    0319 9520      COM	R18
    031A 5F2F      SUBI	R18,0xFF
    031B 4F3F      SBCI	R19,0xFF
    031C D00B      RCALL	xdiv16u
    031D FED7      SBRS	R13,7
    031E C004      RJMP	0x0323
    031F 9510      COM	R17
    0320 9500      COM	R16
    0321 5F0F      SUBI	R16,0xFF
    0322 4F1F      SBCI	R17,0xFF
    0323 90D9      LD	R13,Y+
    0324 9508      RET
mod16u:
    0325 9468      BSET	6
    0326 C001      RJMP	xdiv16u
div16u:
    0327 94E8      BCLR	6
xdiv16u:
    0328 92EA      ST	R14,-Y
    0329 92FA      ST	R15,-Y
    032A 938A      ST	R24,-Y
    032B 24EE      CLR	R14
    032C 24FF      CLR	R15
    032D E180      LDI	R24,0x10
    032E 0F00      LSL	R16
    032F 1F11      ROL	R17
    0330 1CEE      ROL	R14
    0331 1CFF      ROL	R15
    0332 16E2      CP	R14,R18
    0333 06F3      CPC	R15,R19
    0334 F018      BCS	0x0338
    0335 1AE2      SUB	R14,R18
    0336 0AF3      SBC	R15,R19
    0337 9503      INC	R16
    0338 958A      DEC	R24
    0339 F7A1      BNE	0x032E
    033A F416      BRTC	0x033D
    033B 2D0E      MOV	R16,R14
    033C 2D1F      MOV	R17,R15
    033D 9189      LD	R24,Y+
    033E 90F9      LD	R15,Y+
    033F 90E9      LD	R14,Y+
    0340 9508      RET
mod8u:
    0341 9468      BSET	6
    0342 C001      RJMP	xdiv8u
div8u:
    0343 94E8      BCLR	6
xdiv8u:
    0344 932A      ST	R18,-Y
    0345 92FA      ST	R15,-Y
    0346 92EA      ST	R14,-Y
    0347 24FF      CLR	R15
    0348 24EE      CLR	R14
    0349 E120      LDI	R18,0x10
    034A 0F00      LSL	R16
    034B 1CFF      ROL	R15
    034C 1CEE      ROL	R14
    034D 16E1      CP	R14,R17
    034E F010      BCS	0x0351
    034F 1AE1      SUB	R14,R17
    0350 9503      INC	R16
    0351 952A      DEC	R18
    0352 F7B9      BNE	0x034A
    0353 F40E      BRTC	0x0355
    0354 2D0E      MOV	R16,R14
    0355 90E9      LD	R14,Y+
    0356 90F9      LD	R15,Y+
    0357 9129      LD	R18,Y+
    0358 9508      RET
pop_gset2:
    0359 E0E2      LDI	R30,2
    035A C004      RJMP	pop
push_gset1:
    035B 935A      ST	R21,-Y
    035C 934A      ST	R20,-Y
    035D 9508      RET
pop_gset1:
    035E E0E1      LDI	R30,1
pop:
    035F 9149      LD	R20,Y+
    0360 9159      LD	R21,Y+
    0361 FDE0      SBRC	R30,0
    0362 9508      RET
    0363 9169      LD	R22,Y+
    0364 9179      LD	R23,Y+
    0365 FDE1      SBRC	R30,1
    0366 9508      RET
    0367 90A9      LD	R10,Y+
    0368 90B9      LD	R11,Y+
    0369 FDE2      SBRC	R30,2
    036A 9508      RET
    036B 90C9      LD	R12,Y+
    036C 90D9      LD	R13,Y+
    036D FDE3      SBRC	R30,3
    036E 9508      RET
    036F 90E9      LD	R14,Y+
    0370 90F9      LD	R15,Y+
    0371 9508      RET
push_gset2:
    0372 937A      ST	R23,-Y
    0373 936A      ST	R22,-Y
    0374 CFE6      RJMP	push_gset1
mpy16s:
    0375 920A      ST	R0,-Y
    0376 921A      ST	R1,-Y
    0377 2400      CLR	R0
    0378 2411      CLR	R1
    0379 3000      CPI	R16,0
    037A 0701      CPC	R16,R17
    037B F041      BEQ	0x0384
    037C 9516      LSR	R17
    037D 9507      ROR	R16
    037E F410      BCC	0x0381
    037F 0E02      ADD	R0,R18
    0380 1E13      ADC	R1,R19
    0381 0F22      LSL	R18
    0382 1F33      ROL	R19
    0383 CFF5      RJMP	0x0379
    0384 2D00      MOV	R16,R0
    0385 2D11      MOV	R17,R1
    0386 9019      LD	R1,Y+
    0387 9009      LD	R0,Y+
    0388 9508      RET

⌨️ 快捷键说明

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