📄 plane050930v01.lst
字号:
280 00003D 1FC1(1) mov P1M,A
281 00003E 2D00(1) mov A,#00h
282 00003F 1FC5(1) mov P5M,A
283 000040
284 000040 0000(1) nop
285 000041 0000(1) nop
286 000042 0000(1) nop
287 000043 2BD0(1) clr p0
288 000044 2BD1(1) clr p1
289 000045 2BD5(1) clr p5
290 000046 0E00(2) ret
291 000047 ;***********************************************
292 000047 ;**********************************************
293 000047 ;Name :SysInitial
294 000047 ;Function:
295 000047 ;Input :
296 000047 ;Output :
297 000047 ;Register Used:
298 000047 ;***********************************************
299 000047 SysInitial:
300 000047 2B86(1) clr PFLAG ;pflag = x,x,x,x,x,c,dc,z
301 000048 2D00(1) mov A,#00h ;Clear watchdog timer and initial system mode
302 000049 2FCA(1) b0mov OSCM,A
303 00004A
304 00004A 2D30(1) mov A,#00110000B
305 00004B 2FD8(1) b0mov T0M,A ; Set the T0 rate=Fcpu/64
306 00004C 2D00(1) mov A,#0h
307 00004D 2FD9(1) b0mov T0C,A
308 00004E 47D8(1) bclr FT0enb ; Enable TIMER0
309 00004F 4CC9(1) bset ft0ien ; Enable T0 interrupt
310 000050 44C8(1) bclr ft0irq ; CLEAR TIMER0 INTERRUPT FLAG
311 000051
312 000051 2D74(1) MOV A,#01110100B
313 000052 2FDA(1) B0MOV TC0M,A ;Set the TC0 rate=Fcpu/2
314 000053 2D38(1) mov A,#56;206;131;156;
315 000054
316 000054 ; MOV A,#01100100B
317 000054 ; B0MOV TC0M,A ; Set the TC0 rate=Fcpu/64
318 000054 ; mov A,#206 ;200us
319 000054 2FDB(1) b0mov TC0C,A ; Set the TC0 timer
320 000055 2FCD(1) b0mov tc0r,a
321 000056 ; bclr fpwm0out
322 000056 6FDA(1) b0bset FTC0ENB ; Enable TIMER0
323 000057 4DC9(1) bset FTC0IEN ; Enable TC0 interrupt
324 000058 45C8(1) bclr ftc0irq ; CLEAR TIMER0 INTERRUPT FLAG
325 000059
326 000059 ; Enable P00 interrup
327 000059 @P00_EDGE 2 ;@P00_EDGE=1-->Rising Edge ,=2-->falling EDg,=3-->bi-direction;
328 000059 2D10(1) MOV A,#00010000B
329 00005A 2FBF(1) B0MOV PEDGE,A
330 00005B 60C8(1) b0bclr FP00IRQ
331 00005C 68C9(1) b0bset FP00IEN
332 00005D
333 00005D 6FDF(1) b0bset FGIE ;//enable Interrupt gain
334 00005E 0E00(2) ret
335 00005F
336 00005F ;***********************************************
337 00005F Pdelay100ms:
338 00005F 2D64(1) mov a,#100
339 000060 1F26(1) mov r2,a
340 000061 Pdelay1ms:
341 000061 2D64(1) mov a,#100
342 000062 1F25(1) mov r1,a
343 000063 Pdelay10us:
344 000063 8064(2) jmp $+1
345 000064 8065(2) jmp $+1
346 000065 8066(2) jmp $+1
347 000066 2625(1+S) decms r1
348 000067 8063(2) jmp Pdelay10us
349 000068 2626(1+S) decms r2
350 000069 8061(2) jmp Pdelay1ms
351 00006A Pdelay90:
352 00006A 0E00(2) ret
353 00006B
354 00006B
355 00006B include app.asm
356 00006B mnapp:
357 00006B ; call complete
358 00006B ; call wing
359 00006B ; call empennage
360 00006B ; call screw
361 00006B ; call swing
362 00006B ; call output
363 00006B
364 00006B mnapp90:
365 00006B 0E00(2) ret
366 00006C ;*********************************************
367 00006C complete:
368 00006C 1E0F(1) mov a,empennagebuf1
369 00006D 2410(1) sub a,#010h
370 00006E 5A86(1+S) bts1 fc
371 00006F 8075(2) jmp complete800 ;手柄控制
372 000070 1E0F(1) mov a,empennagebuf1
373 000071 2414(1) sub a,#014h
374 000072 5A86(1+S) bts1 fc
375 000073 8077(2) jmp complete80 ;自动控制
376 000074 8075(2) jmp complete800 ;手柄控制
377 000075 complete800:
378 000075 4028(1) bclr csxenbflag
379 000076 8079(2) jmp complete90
380 000077 complete80:
381 000077 4828(1) bset csxenbflag
382 000078 8079(2) jmp complete90
383 000079 complete90:
384 000079 0E00(2) ret
385 00007A ;**********************************************
386 00007A /*wing:
387 00007A bts1 t5msflag1
388 00007A jmp wing90
389 00007A bclr t5msflag1
390 00007A incms timerwing
391 00007A nop
392 00007A mov a,timerwing
393 00007A sub a,#200
394 00007A bts0 fc
395 00007A clr timerwing
396 00007A
397 00007A b0mov y,#outtable$m
398 00007A b0mov z,#outtable$l
399 00007A mov a,wingbuf
400 00007A add z,a
401 00007A mov a,#0
402 00007A adc y,a
403 00007A movc
404 00007A mov r1,a
405 00007A mov a,timerwing
406 00007A sub a,r1
407 00007A bts1 fc
408 00007A jmp wing10
409 00007A bclr winghighflag
410 00007A jmp wing90
411 00007A wing10:
412 00007A bset winghighflag
413 00007A jmp wing90
414 00007A wing90:
415 00007A ret
416 00007A
417 00007A ;*********************************************
418 00007A empennage:
419 00007A bts1 t5msflag2
420 00007A jmp empennage90
421 00007A bclr t5msflag2
422 00007A incms timerempennage
423 00007A nop
424 00007A mov a,timerempennage
425 00007A sub a,#200
426 00007A bts0 fc
427 00007A clr timerempennage
428 00007A
429 00007A b0mov y,#outtable$m
430 00007A b0mov z,#outtable$l
431 00007A mov a,empennagebuf
432 00007A add z,a
433 00007A mov a,#0
434 00007A adc y,a
435 00007A movc
436 00007A mov r1,a
437 00007A mov a,timerempennage
438 00007A sub a,r1
439 00007A bts1 fc
440 00007A jmp empennage10
441 00007A bclr empennagehighflag
442 00007A jmp empennage90
443 00007A empennage10:
444 00007A bset empennagehighflag
445 00007A jmp empennage90
446 00007A empennage90:
447 00007A ret
448 00007A ;*********************************************
449 00007A screw:
450 00007A bts1 t5msflag3
451 00007A jmp screw90
452 00007A bclr t5msflag3
453 00007A incms timerscrew
454 00007A nop
455 00007A mov a,timerscrew
456 00007A sub a,#200
457 00007A bts0 fc
458 00007A clr timerscrew
459 00007A
460 00007A b0mov y,#outtable$m
461 00007A b0mov z,#outtable$l
462 00007A mov a,screwbuf
463 00007A add z,a
464 00007A mov a,#0
465 00007A adc y,a
466 00007A movc
467 00007A mov r1,a
468 00007A mov a,timerscrew
469 00007A sub a,r1
470 00007A bts1 fc
471 00007A jmp screw10
472 00007A bclr screwhighflag
473 00007A jmp screw90
474 00007A screw10:
475 00007A bset screwhighflag
476 00007A jmp screw90
477 00007A screw90:
478 00007A ret
479 00007A ;*********************************************
480 00007A swing:
481 00007A bts1 t5msflag4
482 00007A jmp swing90
483 00007A bclr t5msflag4
484 00007A incms timerswing
485 00007A nop
486 00007A mov a,timerswing
487 00007A sub a,#200
488 00007A bts0 fc
489 00007A clr timerswing
490 00007A
491 00007A b0mov y,#outtable$m
492 00007A b0mov z,#outtable$l
493 00007A mov a,swingbuf
494 00007A add z,a
495 00007A mov a,#0
496 00007A adc y,a
497 00007A movc
498 00007A mov r1,a
499 00007A mov a,timerswing
500 00007A sub a,r1
501 00007A bts1 fc
502 00007A jmp swing10
503 00007A bclr swinghighflag
504 00007A jmp swing90
505 00007A swing10:
506 00007A bset swinghighflag
507 00007A jmp swing90
508 00007A swing90:
509 00007A ret
510 00007A
511 00007A ;***************************************************
512 00007A output: ;给步进电机发送信号
513 00007A bts1 winghighflag
514 00007A jmp output80
515 00007A bts1 ptwing
516 00007A jmp outputwing
517 00007A bts1 t1800usflag
518 00007A jmp outputwing
519 00007A bclr t1800usflag
520 00007A bclr ptwing
521 00007A jmp output90
522 00007A outputwing:
523 00007A bts1 t18msflag
524 00007A jmp output90
525 00007A bclr t18msflag
526 00007A bset ptwing
527 00007A jmp output90
528 00007A outputempennage:
529 00007A bts1 empennagehighflag
530 00007A jmp outputempennage10
531 00007A bset ptempennage
532 00007A jmp outputscrew
533 00007A outputempennage10:
534 00007A bclr ptempennage
535 00007A jmp outputscrew
536 00007A outputscrew:
537 00007A bts1 screwhighflag
538 00007A jmp outputscrew10
539 00007A bset ptscrew
540 00007A jmp outputswing
541 00007A outputscrew10:
542 00007A bclr ptscrew
543 00007A jmp outputswing
544 00007A outputswing:
545 00007A bts1 swinghighflag
546 00007A jmp outputswing10
547 00007A bset ptswing
548 00007A jmp output90
549 00007A outputswing10:
550 00007A bclr ptswing
551 00007A jmp output90
552 00007A output80:
553 00007A bclr ptwing
554 00007A bclr ptempennage
555 00007A bclr ptscrew
556 00007A bclr ptswing
557 00007A output90:
558 00007A ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -