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

📄 threeaxes.lst

📁 三軸伺服馬達控制程式利用軟體DDA方式讀回目前位置然後以取樣時間計算出下一點位置取誤差後利用DA將命令電壓送出做三軸控制
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR AT90S C-Compiler V1.40E/WIN                                            #
#                                                                            #
#       Internal versions FE4.40H CO1.11K CG1.40E GL1.06L CD1.04A            #
#                         AF1.25U AB1.40C EB1.31B                            #
#                                                                            #
#       Compile time  =  16/Aug/2001  14:16:32                               #
#       Target option =  Max 64 KB data +   8 KB code (8515 4414...)         #
#       Memory model  =  small                                               #
#       Source file   =  c:\my documents\iarproject\3axespcb0814\threeaxes.c #
#       List file     =  c:\my documents\iarproject\3axespcb0814\release\list\threeaxes.lst#
#       Object file   =  c:\my documents\iarproject\3axespcb0814\release\obj\threeaxes.r90#
#       Command line  =  -v1 -ms                                             #
#                        -OC:\My Documents\IARProject\3AxesPCB0814\Release\Obj\ #
#                        -e -c -gA -RCODE                                    #
#                        -LC:\My Documents\IARProject\3AxesPCB0814\Release\List\ #
#                        -q -t8 -IC:\IAR\EW22\A90\inc\ -z9 -K                #
#                        C:\My Documents\IARProject\3AxesPCB0814\ThreeAxes.c #
#                                                                            #
#                                             (c) Copyright IAR Systems 1998 #
##############################################################################

   \                     	NAME	threeaxes(17)
   \                     	RSEG	CODE(0)
   \                     	RSEG	SWITCH(0)
   \                     	COMMON	INTVEC(0)
   \                     	RSEG	UDATA1(0)
   \                     	PUBLIC	AbsEncoderPos1
   \                     	PUBLIC	AbsEncoderPos2
   \                     	PUBLIC	AbsEncoderPos3
   \                     	PUBLIC	AccMSec
   \                     	PUBLIC	AccStart
   \                     	PUBLIC	DAError1
   \                     	PUBLIC	DAError2
   \                     	PUBLIC	DAError3
   \                     	PUBLIC	DDAOK
   \                     	PUBLIC	DDA_Pulse1
   \                     	PUBLIC	DDA_Pulse2
   \                     	PUBLIC	DDA_Pulse3
   \                     	PUBLIC	DDA_Pulse_Modi1
   \                     	PUBLIC	DDA_Pulse_Modi2
   \                     	PUBLIC	DDA_Pulse_Modi3
   \                     	PUBLIC	Distance_Pulse1
   \                     	PUBLIC	Distance_Pulse2
   \                     	PUBLIC	Distance_Pulse3
   \                     	PUBLIC	EERead
   \                     	PUBLIC	EEWrite
   \                     	PUBLIC	EEprom
   \                     	PUBLIC	GetAbsEncoderPos
   \                     	PUBLIC	InitHardware
   \                     	PUBLIC	InitPos_Para
   \                     	PUBLIC	InitVar
   \                     	PUBLIC	JogSec
   \                     	PUBLIC	JogStart
   \                     	PUBLIC	MiliSec
   \                     	PUBLIC	Point_V1
   \                     	PUBLIC	Point_V2
   \                     	PUBLIC	Point_V3
   \                     	PUBLIC	PosMove
   \                     	PUBLIC	Pulse_Cnt1
   \                     	PUBLIC	Pulse_Cnt2
   \                     	PUBLIC	Pulse_Cnt3
   \                     	PUBLIC	RxdBuf
   \                     	PUBLIC	RxdIndex
   \                     	PUBLIC	RxdOK
   \                     	PUBLIC	`Sec`
   \                     	PUBLIC	SendDDA
   \                     	PUBLIC	Speed
   \                     	PUBLIC	Speed1
   \                     	PUBLIC	Speed2
   \                     	PUBLIC	Speed3
   \                     	PUBLIC	Start
   \                     	PUBLIC	Status1
   \                     	PUBLIC	Status2
   \                     	PUBLIC	Status3
   \                     	PUBLIC	Step1
   \                     	PUBLIC	Step2
   \                     	PUBLIC	Step3
   \                     	PUBLIC	Sys_Pos1
   \                     	PUBLIC	Sys_Pos2
   \                     	PUBLIC	Sys_Pos3
   \                     	PUBLIC	Timer1_OVF_interrupt
   \                     	PUBLIC	TxdBuf
   \                     	PUBLIC	TxdIndex
   \                     	PUBLIC	UART_RX_interrupt
   \                     	PUBLIC	main
   \                     	EXTERN	?C_SHL_L01
   \                     	EXTERN	?UC_SHR_L01
   \                     	EXTERN	?S_MUL_L02
   \                     	EXTERN	?F_ADD_L04
   \                     	EXTERN	?F_SUB_L04
   \                     	EXTERN	?F_MUL_L04
   \                     	EXTERN	?F_DIV_L04
   \                     	EXTERN	?F_CMP_L04
   \                     	EXTERN	?F2L_L04
   \                     	EXTERN	?SL2F_L04
   \                     	EXTERN	?CV_SWITCH_L06
   \                     	EXTERN	?PROLOGUE2_L09
   \                     	EXTERN	?PROLOGUE4_L09
   \                     	EXTERN	?PROLOGUE16_L09
   \                     	EXTERN	?EPILOGUE_B2_L09
   \                     	EXTERN	?EPILOGUE_B4_L09
   \                     	EXTERN	?EPILOGUE_B16_L09
   \                     	EXTERN	?CL1S_1_40_L08
   \                     	RSEG	CODE
      1          //This program is for 3 axes pcb
      2          #define DDA_TIME 0.001   
      3          #define CONST 0x800   
      4          #define DA1LO 0x8060
      5          #define DA1HI 0x8061
      6          #define DA2LO 0x8062
      7          #define DA2HI 0x8063
      8          #define DA3LO 0x8064
      9          #define DA3HI 0x8065
     10          #define ENC10 0x8000  //Cnt1 Lo
     11          #define ENC11 0x8001  //Cnt1 Mid
     12          #define ENC12 0x8002  //Cnt1 Hi
     13          #define ENC13 0x8003  //Cnt1 Status
     14          #define ENC20 0x8020  //Cnt2 Lo
     15          #define ENC21 0x8021  //Cnt2 Mid
     16          #define ENC22 0x8022  //Cnt2 Hi
     17          #define ENC23 0x8023  //Cnt2 Status
     18          #define ENC30 0x8040  //Cnt3 Lo
     19          #define ENC31 0x8041  //Cnt3 Mid
     20          #define ENC32 0x8042  //Cnt3 Hi
     21          #define ENC33 0x8043  //Cnt2 Status  
     22          #define BAUD9600 64 
     23          #define CR 0x0d    
     24          #define ESC 0x1b  
     25          #define CMDADR 0x1f
     26          #define RUNADR 0x20
     27           
     28          #include <io8515.h>  
     29          #include "Variable.h"
     30          #include "EEprom.h"   
   \                     EEWrite:
   \   00000000   02D0                       RCALL   ?0364
   \   00000002   4083                       ST      Z,R20
   \   00000004   0895                       RET     
   \                     ?0364:
   \   00000006   E02F                       MOV     R30,R16
   \   00000008   FF27                       CLR     R31
   \   0000000A   ....                       SUBI    R30,LOW(-(EEprom))
   \   0000000C   ....                       SBCI    R31,HIGH(-(EEprom))
   \   0000000E   0895                       RET     
   \                     ;	Adr             	R16
   \                     ;	Data            	R20
   \                     EERead:
   \   00000010   FADF                       RCALL   ?0364
   \   00000012   0081                       LD      R16,Z
   \   00000014   0895                       RET     
   \                     ;	data            	R16
   \                     ;	Adr             	R16
     31          #include <ina90.h>   
     32          #include "Pos.h" 
   \                     SendDDA:
   \   00000016   ....                       RCALL   ?PROLOGUE4_L09
   \   00000018   ....                       LDI     R30,LOW(DDA_Pulse1)
   \   0000001A   ....                       LDI     R31,(DDA_Pulse1 >> 8)
   \   0000001C   5BD0                       RCALL   ?0367
   \   0000001E   ....                       LDI     R30,LOW(Point_V1)
   \   00000020   ....                       LDI     R31,(Point_V1 >> 8)
   \   00000022   72D0                       RCALL   ?0373
   \   00000024   ....                       LDI     R30,LOW(Point_V1)
   \   00000026   ....                       LDI     R31,(Point_V1 >> 8)
   \   00000028   7AD0                       RCALL   ?0374
   \   0000002A   A7D0                       RCALL   ?0379
   \   0000002C   ....                       RCALL   ?F2L_L04
   \   0000002E   0093....                   STS     LWRD(DDA_Pulse_Modi1),R16
   \   00000032   1093....                   STS     LWRD((DDA_Pulse_Modi1+1)),R17
   \   00000036   ....                       LDI     R30,LOW(DDA_Pulse2)
   \   00000038   ....                       LDI     R31,(DDA_Pulse2 >> 8)
   \   0000003A   4CD0                       RCALL   ?0367
   \   0000003C   ....                       LDI     R30,LOW(Point_V2)
   \   0000003E   ....                       LDI     R31,(Point_V2 >> 8)
   \   00000040   63D0                       RCALL   ?0373
   \   00000042   ....                       LDI     R30,LOW(Point_V2)
   \   00000044   ....                       LDI     R31,(Point_V2 >> 8)
   \   00000046   6BD0                       RCALL   ?0374
   \   00000048   98D0                       RCALL   ?0379
   \   0000004A   ....                       RCALL   ?F2L_L04
   \   0000004C   0093....                   STS     LWRD(DDA_Pulse_Modi2),R16
   \   00000050   1093....                   STS     LWRD((DDA_Pulse_Modi2+1)),R17
   \   00000054   94D0                       RCALL   ?0385
   \   00000056   3ED0                       RCALL   ?0367
   \   00000058   ....                       LDI     R30,LOW(Point_V3)
   \   0000005A   ....                       LDI     R31,(Point_V3 >> 8)
   \   0000005C   55D0                       RCALL   ?0373
   \   0000005E   ....                       LDI     R30,LOW(Point_V3)
   \   00000060   ....                       LDI     R31,(Point_V3 >> 8)
   \   00000062   5DD0                       RCALL   ?0374
   \   00000064   8AD0                       RCALL   ?0379
   \   00000066   ....                       RCALL   ?F2L_L04
   \   00000068   0093....                   STS     LWRD(DDA_Pulse_Modi3),R16
   \   0000006C   1093....                   STS     LWRD((DDA_Pulse_Modi3+1)),R17
   \   00000070   89D0                       RCALL   ?0387
   \   00000072   0091....                   LDS     R16,LWRD(DDA_Pulse_Modi1)
   \   00000076   1091....                   LDS     R17,LWRD((DDA_Pulse_Modi1+1))
   \   0000007A   87D0                       RCALL   ?0388
   \   0000007C   91D0                       RCALL   ?0389
   \   0000007E   0091....                   LDS     R16,LWRD(DDA_Pulse_Modi2)
   \   00000082   1091....                   LDS     R17,LWRD((DDA_Pulse_Modi2+1))
   \   00000086   81D0                       RCALL   ?0388
   \   00000088   8ED0                       RCALL   ?0390
   \   0000008A   0091....                   LDS     R16,LWRD(DDA_Pulse_Modi3)
   \   0000008E   1091....                   LDS     R17,LWRD((DDA_Pulse_Modi3+1))
   \   00000092   7BD0                       RCALL   ?0388
   \   00000094   E4E0                       LDI     R30,4
   \   00000096   ....                       RJMP    ?EPILOGUE_B4_L09
   \                     ?0366:
   \   00000098   ....                       RCALL   ?F_ADD_L04
   \                     ?0365:
   \   0000009A   8ED0                       RCALL   ?0476
   \   0000009C   92D0                       RCALL   ?0477
   \   0000009E   ....                       LDI     R30,LOW(Sys_Pos1)
   \   000000A0   ....                       LDI     R31,(Sys_Pos1 >> 8)
   \   000000A2   94D0                       RCALL   ?0478
   \   000000A4   ....                       RCALL   ?F_SUB_L04
   \   000000A6   ....                       LDI     R30,LOW(DDA_Pulse1)
   \   000000A8   ....                       LDI     R31,(DDA_Pulse1 >> 8)
   \   000000AA   9AD0                       RCALL   ?0480
   \   000000AC   9ED0                       RCALL   ?0481
   \   000000AE   ....                       LDI     R30,LOW(Sys_Pos2)
   \   000000B0   ....                       LDI     R31,(Sys_Pos2 >> 8)
   \   000000B2   8CD0                       RCALL   ?0478
   \   000000B4   ....                       RCALL   ?F_SUB_L04
   \   000000B6   ....                       LDI     R30,LOW(DDA_Pulse2)
   \   000000B8   ....                       LDI     R31,(DDA_Pulse2 >> 8)

⌨️ 快捷键说明

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