MD_SHAHRUKH
Advanced Member level 4
- Joined
- Jun 5, 2017
- Messages
- 103
- Helped
- 4
- Reputation
- 8
- Reaction score
- 5
- Trophy points
- 1,298
- Location
- Bangalore, India
- Activity points
- 2,388
Hello everyone,
I have made a small CNC machine, in which I have made a square shape. I want to draw a circle with this method.
here is my code.
I also want to convert the g code to make it more usable but i am confused with the coordinates. please help me here.
thank you.
regards
I have made a small CNC machine, in which I have made a square shape. I want to draw a circle with this method.
here is my code.
Code ASM - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;NAME: MD SHAHRUKH ;PROGRAM: TO MAKE MULTIPLE POSIBLE MOVEMENT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;DIRECTIVES SP1_1 BIT P0.0 SP1_2 BIT P0.1 SP1_3 BIT P0.2 SP1_4 BIT P0.3 SP2_1 BIT P0.4 SP2_2 BIT P0.5 SP2_3 BIT P0.6 SP2_4 BIT P0.7 SP12 EQU P0 R8 EQU 30H R9 EQU 31H R10 EQU 32H R11 EQU 33H R12 EQU 34H R13 EQU 35H R14 EQU 36H R15 EQU 37H R16 EQU 38H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;PROGRAM STARTS HERE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG 00H MOV R3,#02 MOV R4,#02 MOV R7,#50H MOV R6,#50H MOV R15,#50H MOV R14,#50H MOV R16,#50H MOV R8,#02 MOV R9,#02 MOV R10,#02 MOV R11,#02 MOV R12,#02 MOV R13,#02 START: JB P1.0,START MOV R5,#20 LEVEL1: ACALL MOVE_MOTOR1_FWD DJNZ R5,LEVEL1 MOV R5,#20 LEVEL2: ACALL MOVE_MOTOR2_FWD DJNZ R5,LEVEL2 MOV R5,#20 LEVEL3: ACALL MOVE_MOTOR1_BWD DJNZ R5,LEVEL3 MOV R5,#20 LEVEL4: ACALL MOVE_MOTOR2_BWD DJNZ R5,LEVEL4 MOV SP12,#0FFH SJMP START ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MOVE_MOTOR1_FWD:MOV R0,#25 M3: CJNE R7,#50H,M1 MOV R7,#30H ACALL STEP_1_FWD_2 SJMP M2 M1: MOV R7,#50H ACALL STEP_1_FWD_1 M2: DJNZ R0,M3 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MOVE_MOTOR2_FWD:MOV R0,#25 M33: CJNE R6,#50H,M11 MOV R6,#30H ACALL STEP_2_FWD_2 SJMP M22 M11: MOV R6,#50H ACALL STEP_2_FWD_1 M22: DJNZ R0,M33 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MOVE_MOTOR1_BWD:MOV R0,#25 CLR A MOV A,R15 M6: CJNE A,#50H,M4 CLR A MOV A,#30H ACALL STEP_1_BWD_1 SJMP M5 M4: CLR A MOV A,#50H ACALL STEP_1_BWD_2 M5: DJNZ R0,M6 MOV R15,A CLR A RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MOVE_MOTOR2_BWD:MOV R0,#25 CLR A MOV A,R14 M66: CJNE A,#50H,M44 CLR A MOV A,#30H ACALL STEP_2_BWD_1 SJMP M55 M44: CLR A MOV A,#50H ACALL STEP_2_BWD_2 M55: DJNZ R0,M66 MOV R14,A CLR A RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;BASIC STEP MOVEMENT OF BOTH STEPPER MOTOR ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_1_FWD_1: DJNZ R3,LL1 CLR SP1_1 ACALL DELAY1 SETB SP1_1 MOV R3,#02H RET LL1: CLR SP1_2 ACALL DELAY1 SETB SP1_2 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_1_FWD_2: DJNZ R4,LL2 CLR SP1_3 ACALL DELAY1 SETB SP1_3 MOV R4,#02H RET LL2: CLR SP1_4 ACALL DELAY1 SETB SP1_4 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_2_FWD_1: DJNZ R8,L1 CLR SP2_1 ACALL DELAY1 SETB SP2_1 MOV R8,#02H RET L1: CLR SP2_2 ACALL DELAY1 SETB SP2_2 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_2_FWD_2: DJNZ R9,L2 CLR SP2_3 ACALL DELAY1 SETB SP2_3 MOV R9,#02H RET L2: CLR SP2_4 ACALL DELAY1 SETB SP2_4 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_1_BWD_1: DJNZ R10,B1 CLR SP1_2 ACALL DELAY1 SETB SP1_2 MOV R10,#02H RET B1: CLR SP1_1 ACALL DELAY1 SETB SP1_1 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_1_BWD_2: DJNZ R11,B2 CLR SP1_4 ACALL DELAY1 SETB SP1_4 MOV R11,#02H RET B2: CLR SP1_3 ACALL DELAY1 SETB SP1_3 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_2_BWD_1: DJNZ R12,B3 CLR SP2_2 ACALL DELAY1 SETB SP2_2 MOV R12,#02H RET B3: CLR SP2_1 ACALL DELAY1 SETB SP2_1 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_2_BWD_2: DJNZ R13,B4 CLR SP2_4 ACALL DELAY1 SETB SP2_4 MOV R13,#02H RET B4: CLR SP2_3 ACALL DELAY1 SETB SP2_3 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_DIAG_FWD_1:DJNZ R8,D1 CLR SP1_1 CLR SP2_1 ACALL DELAY1 SETB SP2_1 SETB SP1_1 MOV R8,#02H RET D1: CLR SP2_2 CLR SP1_2 ACALL DELAY1 SETB SP2_2 SETB SP1_2 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_DIAG_FWD_2:DJNZ R9,D2 CLR SP2_3 CLR SP1_3 ACALL DELAY1 SETB SP2_3 SETB SP1_3 MOV R9,#02H RET D2: CLR SP2_4 CLR SP1_4 ACALL DELAY1 SETB SP2_4 SETB SP1_4 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_DIAG_BWD_1:DJNZ R12,D3 CLR SP2_2 CLR SP1_2 ACALL DELAY1 SETB SP2_2 SETB SP1_2 MOV R12,#02H RET D3: CLR SP1_1 CLR SP2_1 ACALL DELAY1 SETB SP1_1 SETB SP2_1 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_DIAG_BWD_2:DJNZ R13,D4 CLR SP1_4 CLR SP2_4 ACALL DELAY1 SETB SP1_4 SETB SP2_4 MOV R13,#02H RET D4: CLR SP1_3 CLR SP2_3 ACALL DELAY1 SETB SP1_3 SETB SP2_3 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_ODIAG_FWD_1:DJNZ R8,OD1 CLR SP1_2 CLR SP2_1 ACALL DELAY1 SETB SP2_1 SETB SP1_2 MOV R8,#02H RET OD1: CLR SP2_2 CLR SP1_1 ACALL DELAY1 SETB SP2_2 SETB SP1_1 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_ODIAG_FWD_2:DJNZ R9,OD2 CLR SP2_4 CLR SP1_3 ACALL DELAY1 SETB SP2_4 SETB SP1_3 MOV R9,#02H RET OD2: CLR SP2_3 CLR SP1_4 ACALL DELAY1 SETB SP2_3 SETB SP1_4 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_ODIAG_BWD_1:DJNZ R12,OD3 CLR SP2_1 CLR SP1_2 ACALL DELAY1 SETB SP2_1 SETB SP1_2 MOV R12,#02H RET OD3: CLR SP1_2 CLR SP2_1 ACALL DELAY1 SETB SP1_2 SETB SP2_1 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; STEP_ODIAG_BWD_2:DJNZ R13,OD4 CLR SP1_3 CLR SP2_4 ACALL DELAY1 SETB SP1_3 SETB SP2_4 MOV R13,#02H RET OD4: CLR SP1_4 CLR SP2_3 ACALL DELAY1 SETB SP1_4 SETB SP2_3 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;DELAY FOR STEPPER MOTOR STEPS DELAY1: MOV R2,#30 X1: MOV R1,#20 X2: DJNZ R1,X2 DJNZ R2,X1 RET END ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
I also want to convert the g code to make it more usable but i am confused with the coordinates. please help me here.
thank you.
regards