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

📄 icc_gmj.lst

📁 一款挂面机的自动化控制源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
(0284) juli=juli-P_speed*time1_jsq;
    05FD 90400113  LDS	R4,juli+2
    05FF 90500114  LDS	R5,juli+3
    0601 90200111  LDS	R2,juli
    0603 90300112  LDS	R3,juli+1
    0605 925A      ST	R5,-Y
    0606 924A      ST	R4,-Y
    0607 923A      ST	R3,-Y
    0608 922A      ST	R2,-Y
    0609 90400117  LDS	R4,P_speed+2
    060B 90500118  LDS	R5,P_speed+3
    060D 90200115  LDS	R2,P_speed
    060F 90300116  LDS	R3,P_speed+1
    0611 925A      ST	R5,-Y
    0612 924A      ST	R4,-Y
    0613 923A      ST	R3,-Y
    0614 922A      ST	R2,-Y
    0615 EE04      LDI	R16,0xE4
    0616 E010      LDI	R17,0
    0617 940E0FDB  CALL	lpm32
    0619 933A      ST	R19,-Y
    061A 932A      ST	R18,-Y
    061B 931A      ST	R17,-Y
    061C 930A      ST	R16,-Y
    061D 0185      MOVW	R16,R10
    061E 9516      LSR	R17
    061F 9507      ROR	R16
    0620 940E10AE  CALL	int2fp
    0622 933A      ST	R19,-Y
    0623 932A      ST	R18,-Y
    0624 931A      ST	R17,-Y
    0625 930A      ST	R16,-Y
    0626 940E1237  CALL	empy32fs
    0628 0185      MOVW	R16,R10
    0629 7001      ANDI	R16,1
    062A 7010      ANDI	R17,0
    062B 940E10AE  CALL	int2fp
    062D 933A      ST	R19,-Y
    062E 932A      ST	R18,-Y
    062F 931A      ST	R17,-Y
    0630 930A      ST	R16,-Y
    0631 940E1108  CALL	add32fs
    0633 940E1237  CALL	empy32fs
    0635 940E1113  CALL	sub32f
    0637 93100112  STS	juli+1,R17
    0639 93000111  STS	juli,R16
    063B 93300114  STS	juli+3,R19
    063D 93200113  STS	juli+2,R18
    063F 9624      ADIW	R28,4
    0640 940E0FB0  CALL	pop_gset5
    0642 9009      LD	R0,Y+
    0643 BE0F      OUT	0x3F,R0
    0644 91F9      LD	R31,Y+
    0645 91E9      LD	R30,Y+
    0646 9199      LD	R25,Y+
    0647 9189      LD	R24,Y+
    0648 9139      LD	R19,Y+
    0649 9129      LD	R18,Y+
    064A 9119      LD	R17,Y+
    064B 9109      LD	R16,Y+
    064C 9099      LD	R9,Y+
    064D 9089      LD	R8,Y+
    064E 9079      LD	R7,Y+
    064F 9069      LD	R6,Y+
    0650 9059      LD	R5,Y+
    0651 9049      LD	R4,Y+
    0652 9039      LD	R3,Y+
    0653 9029      LD	R2,Y+
    0654 9019      LD	R1,Y+
    0655 9009      LD	R0,Y+
    0656 9518      RETI
(0285) }
(0286) 
(0287) //TIMER2 initialize - prescale:128
(0288) // WGM: Normal
(0289) // desired value: 500Hz
(0290) // actual value: 500.000Hz (0.0%)
(0291) void timer2_init(void)
(0292) {
(0293)  TCCR2 = 0x00; //stop
_timer2_init:
    0657 2422      CLR	R2
    0658 BC25      OUT	0x25,R2
(0294)  ASSR  = 0x00; //set async mode
    0659 BC22      OUT	0x22,R2
(0295)  TCNT2 = 0x06; //setup
    065A E086      LDI	R24,6
    065B BD84      OUT	0x24,R24
(0296)  OCR2  = 0xFA;
    065C EF8A      LDI	R24,0xFA
    065D BD83      OUT	0x23,R24
(0297)  TCCR2 = 0x05; //start
    065E E085      LDI	R24,5
    065F BD85      OUT	0x25,R24
    0660 9508      RET
_timer2_ovf_isr:
  adc0                 --> R10
    0661 940E0FEF  CALL	push_lset
    0663 940E0FB7  CALL	push_gset3
(0298) }
(0299) 
(0300) #pragma interrupt_handler timer2_ovf_isr:5
(0301) void timer2_ovf_isr(void)
(0302) {
(0303) unsigned int adc0;
(0304)  TCNT2 = 0x06; //reload counter value
    0665 E086      LDI	R24,6
    0666 BD84      OUT	0x24,R24
(0305)  adc0=read_adc();  //取测速发电机的电压值
    0667 DD24      RCALL	_read_adc
    0668 0158      MOVW	R10,R16
(0306)     P_speed=adc0*dw_speed;  //求皮带速度
    0669 EE04      LDI	R16,0xE4
    066A E010      LDI	R17,0
    066B 940E0FDB  CALL	lpm32
    066D 933A      ST	R19,-Y
    066E 932A      ST	R18,-Y
    066F 931A      ST	R17,-Y
    0670 930A      ST	R16,-Y
    0671 0185      MOVW	R16,R10
    0672 9516      LSR	R17
    0673 9507      ROR	R16
    0674 940E10AE  CALL	int2fp
    0676 933A      ST	R19,-Y
    0677 932A      ST	R18,-Y
    0678 931A      ST	R17,-Y
    0679 930A      ST	R16,-Y
    067A 940E1237  CALL	empy32fs
    067C 0185      MOVW	R16,R10
    067D 7001      ANDI	R16,1
    067E 7010      ANDI	R17,0
    067F 940E10AE  CALL	int2fp
    0681 933A      ST	R19,-Y
    0682 932A      ST	R18,-Y
    0683 931A      ST	R17,-Y
    0684 930A      ST	R16,-Y
    0685 940E1108  CALL	add32fs
    0687 90400076  LDS	R4,dw_speed+2
    0689 90500077  LDS	R5,dw_speed+3
    068B 90200074  LDS	R2,dw_speed
    068D 90300075  LDS	R3,dw_speed+1
    068F 925A      ST	R5,-Y
    0690 924A      ST	R4,-Y
    0691 923A      ST	R3,-Y
    0692 922A      ST	R2,-Y
    0693 940E123A  CALL	empy32f
    0695 93100116  STS	P_speed+1,R17
    0697 93000115  STS	P_speed,R16
    0699 93300118  STS	P_speed+3,R19
    069B 93200117  STS	P_speed+2,R18
(0307) 	
(0308)  if (guogan==1)
    069D 91800073  LDS	R24,guogan
    069F 3081      CPI	R24,1
    06A0 F009      BEQ	0x06A2
    06A1 C1BD      RJMP	0x085F
(0309)     {
(0310) 	ganwei=ganwei+P_speed*4000;
    06A2 90400108  LDS	R4,ganwei+2
    06A4 90500109  LDS	R5,ganwei+3
    06A6 90200106  LDS	R2,ganwei
    06A8 90300107  LDS	R3,ganwei+1
    06AA 925A      ST	R5,-Y
    06AB 924A      ST	R4,-Y
    06AC 923A      ST	R3,-Y
    06AD 922A      ST	R2,-Y
    06AE ED04      LDI	R16,0xD4
    06AF E010      LDI	R17,0
    06B0 940E0FDB  CALL	lpm32
    06B2 933A      ST	R19,-Y
    06B3 932A      ST	R18,-Y
    06B4 931A      ST	R17,-Y
    06B5 930A      ST	R16,-Y
    06B6 90400117  LDS	R4,P_speed+2
    06B8 90500118  LDS	R5,P_speed+3
    06BA 90200115  LDS	R2,P_speed
    06BC 90300116  LDS	R3,P_speed+1
    06BE 925A      ST	R5,-Y
    06BF 924A      ST	R4,-Y
    06C0 923A      ST	R3,-Y
    06C1 922A      ST	R2,-Y
    06C2 940E1237  CALL	empy32fs
    06C4 940E110B  CALL	add32f
    06C6 93100107  STS	ganwei+1,R17
    06C8 93000106  STS	ganwei,R16
    06CA 93300109  STS	ganwei+3,R19
    06CC 93200108  STS	ganwei+2,R18
(0311) 	if (next_gan==1)
    06CE 91800072  LDS	R24,next_gan
    06D0 3081      CPI	R24,1
    06D1 F4F1      BNE	0x06F0
(0312) 	   {
(0313) 	   next_ganwei=next_ganwei*4000;
    06D2 ED04      LDI	R16,0xD4
    06D3 E010      LDI	R17,0
    06D4 940E0FDB  CALL	lpm32
    06D6 933A      ST	R19,-Y
    06D7 932A      ST	R18,-Y
    06D8 931A      ST	R17,-Y
    06D9 930A      ST	R16,-Y
    06DA 90400104  LDS	R4,next_ganwei+2
    06DC 90500105  LDS	R5,next_ganwei+3
    06DE 90200102  LDS	R2,next_ganwei
    06E0 90300103  LDS	R3,next_ganwei+1
    06E2 925A      ST	R5,-Y
    06E3 924A      ST	R4,-Y
    06E4 923A      ST	R3,-Y
    06E5 922A      ST	R2,-Y
    06E6 940E123A  CALL	empy32f
    06E8 93100103  STS	next_ganwei+1,R17
    06EA 93000102  STS	next_ganwei,R16
    06EC 93300105  STS	next_ganwei+3,R19
    06EE 93200104  STS	next_ganwei+2,R18
(0314) 	   }
(0315) 	if (first_gan==1) //如果是第一次进行切刀,则启动步进电机,并调速至与皮带一致
    06F0 91800078  LDS	R24,first_gan
    06F2 3081      CPI	R24,1
    06F3 F009      BEQ	0x06F5
    06F4 C04A      RJMP	0x073F
(0316) 	   {
(0317) 	   if (next_ganwei>-40)
    06F5 ED00      LDI	R16,0xD0
    06F6 E010      LDI	R17,0
    06F7 940E0FDB  CALL	lpm32
    06F9 933A      ST	R19,-Y
    06FA 932A      ST	R18,-Y
    06FB 931A      ST	R17,-Y
    06FC 930A      ST	R16,-Y
    06FD 90400104  LDS	R4,next_ganwei+2
    06FF 90500105  LDS	R5,next_ganwei+3
    0701 90200102  LDS	R2,next_ganwei
    0703 90300103  LDS	R3,next_ganwei+1
    0705 925A      ST	R5,-Y
    0706 924A      ST	R4,-Y
    0707 923A      ST	R3,-Y
    0708 922A      ST	R2,-Y
    0709 940E11C6  CALL	cmp32f
    070B F00C      BLT	0x070D
    070C C152      RJMP	0x085F
(0318) 	      {
(0319) 		  M_state=1;
    070D E081      LDI	R24,1
    070E 93800060  STS	M_state,R24
(0320) 		  juli=60;
    0710 EC0C      LDI	R16,0xCC
    0711 E010      LDI	R17,0
    0712 940E0FDB  CALL	lpm32
    0714 93100112  STS	juli+1,R17
    0716 93000111  STS	juli,R16
    0718 93300114  STS	juli+3,R19
    071A 93200113  STS	juli+2,R18
(0321) 		  first_gan=0;
    071C 2422      CLR	R2
    071D 92200078  STS	first_gan,R2
(0322) 		  ganwei=next_ganwei;
    071F 90400104  LDS	R4,next_ganwei+2
    0721 90500105  LDS	R5,next_ganwei+3
    0723 90200102  LDS	R2,next_ganwei
    0725 90300103  LDS	R3,next_ganwei+1
    0727 92300107  STS	ganwei+1,R3
    0729 92200106  STS	ganwei,R2
    072B 92500109  STS	ganwei+3,R5
    072D 92400108  STS	ganwei+2,R4
(0323) 		  next_gan=0;
    072F 2422      CLR	R2
    0730 92200072  STS	next_gan,R2
(0324) 		  next_ganwei=-500;
    0732 EC08      LDI	R16,0xC8
    0733 E010      LDI	R17,0
    0734 940E0FDB  CALL	lpm32
    0736 93100103  STS	next_ganwei+1,R17
    0738 93000102  STS	next_ganwei,R16
    073A 93300105  STS	next_ganwei+3,R19
    073C 93200104  STS	next_ganwei+2,R18
(0325) 		  }
(0326) 	   }
    073E C120      RJMP	0x085F
(0327) 	else
(0328) 	   {
(0329) 	   if (!((M_state==6) || (M_state==7)) && (ganwei>(jidao*longth_guamian+20)) && (ganwei<(ganju-160)))
    073F 91800060  LDS	R24,M_state
    0741 3086      CPI	R24,6
    0742 F409      BNE	0x0744
    0743 C05B      RJMP	0x079F
    0744 3087      CPI	R24,7
    0745 F409      BNE	0x0747
    0746 C058      RJMP	0x079F
    0747 910000F1  LDS	R16,jidao
    0749 2711      CLR	R17
    074A 940E10AE  CALL	int2fp
    074C 933A      ST	R19,-Y
    074D 932A      ST	R18,-Y
    074E 931A      ST	R17,-Y
    074F 930A      ST	R16,-Y
    0750 904000F8  LDS	R4,longth_guamian+2
    0752 905000F9  LDS	R5,longth_guamian+3
    0754 902000F6  LDS	R2,longth_guamian
    0756 903000F7  LDS	R3,longth_guamian+1
    0758 925A      ST	R5,-Y
    0759 924A      ST	R4,-Y
    075A 923A      ST	R3,-Y
    075B 922A      ST	R2,-Y
    075C 940E1237  CALL	empy32fs
    075E EC04      LDI	R16,0xC4
    075F E010      LDI	R17,0
    0760 940E0FDB  CALL	lpm32
    0762 933A      ST	R19,-Y
    0763 932A      ST	R18,-Y
    0764 931A      ST	R17,-Y
    0765 930A      ST	R16,-Y
    0766 940E1108  CALL	add32fs
    0768 90400108  LDS	R4,ganwei+2
    076A 90500109  LDS	R5,ganwei+3
    076C 90200106  LDS	R2,ganwei
    076E 90300107  LDS	R3,ganwei+1
    0770 925A      ST	R5,-Y
    0771 924A      ST	R4,-Y
    0772 923A      ST	R3,-Y
    0773 922A      ST	R2,-Y
    0774 940E11C6  CALL	cmp32f
    0776 F544      BGE	0x079F
    0777 90400108  LDS	R4,ganwei+2
    0779 90500109  LDS	R5,ganwei+3
    077B 90200106  LDS	R2,ganwei
    077D 90300107  LDS	R3,ganwei+1
    077F 925A      ST	R5,-Y
    0780 924A      ST	R4,-Y
    0781 923A      ST	R3,-Y
    0782 922A      ST	R2,-Y
    0783 904000FC  LDS	R4,ganju+2
    0785 905000FD  LDS	R5,ganju+3
    0787 902000FA  LDS	R2,ganju
    0789 903000FB  LDS	R3,ganju+1
    078B 925A      ST	R5,-Y
    078C 924A      ST	R4,-Y
    078D 923A      ST	R3,-Y
    078E 922A      ST	R2,-Y
    078F EC00      LDI	R16,0xC0
    0790 E010      LDI	R17,0
    0791 940E0FDB  CALL	lpm32
    0793 933A      ST	R19,-Y
    0794 932A      ST	R18,-Y
    0795 931A      ST	R17,-Y
    0796 930A      ST	R16,-Y
    0797 940E1110  CALL	sub32fs
    0799 940E11C6  CALL	cmp32f
    079B F41C      BGE	0x079F
(0330) 	      {
(0331) 		  M_state=6;
    079C E086      LDI	R24,6
    079D 93800060  STS	M_state,R24
(0332) 		  }
(0333) 	   if (!((M_state==0) || (M_state==2)) && (ganwei>(ganju-160)) && (next_ganwei<-40))
    079F 90200060  LDS	R2,M_state
    07A1 2022      TST	R2
    07A2 F409      BNE	0x07A4
    07A3 C042      RJMP	0x07E6
    07A4 2D82      MOV	R24,R2
    07A5 3082      CPI	R24,2
    07A6 F1F9      BEQ	0x07E6
    07A7 904000FC  LDS	R4,ganju+2
    07A9 905000FD  LDS	R5,ganju+3
    07AB 902000FA  LDS	R2,ganju
    07AD 903000FB  LDS	R3,ganju+1
    07AF 925A      ST	R5,-Y
    07B0 924A      ST	R4,-Y
    07B1 923A      ST	R3,-Y
    07B2 922A      ST	R2,-Y
    07B3 EC00      LDI	R16,0xC0
    07B4 E010      LDI	R17,0
    07B5 940E0FDB  CALL	lpm32
    07B7 933A      ST	R19,-Y
    07B8 932A      ST	R18,-Y
    07B9 931A      ST	R17,-Y
    07BA 930A      ST	R16,-Y
    07BB 940E1110  CALL	sub32fs
    07BD 90400108  LDS	R4,ganwei+2
    07BF 90500109  LDS	R5,ganwei+3
    07C1 90200106  LDS	R2,ganwei
    07C3 90300107  LDS	R3,ganwei+1
    07C5 925A      ST	R5,-Y
    07C6 924A      ST	R4,-Y
    07C7 923A      ST	R3,-Y
    07C8 922A      ST	R2,-Y
    07C9 940E11C6  CALL	cmp32f
    07CB F4D4      BGE	0x07E6
    07CC 90400104  LDS	R4,next_ganwei+2
    07CE 90500105  LDS	R5,next_ganwei+3
    07D0 90200102  LDS	R2,next_ganwei
    07D2 90300103  LDS	R3,next_ganwei+1
    07D4 925A      ST	R5,-Y
    07D5 924A      ST	R4,-Y
    07D6 923A      ST	R3,-Y
    07D7 922A      ST	R2,-Y
    07D8 ED00      LDI	R16,0xD0
    07D9 E010      LDI	R17,0
    07DA 940E0FDB  CALL	lpm32
    07DC 933A      ST	R19,-Y
    07DD 932A      ST	R18,-Y
    07DE 931A      ST	R17,-Y
    07DF 930A      ST	R16,-Y
    07E0 940E11C6  CALL	cmp32f

⌨️ 快捷键说明

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