📄 m64.lst
字号:
5BD 990B SBIC 0x01,3
5BE C017 RJMP 0x05D6
(0520) {delay_ms(50);
5BF E302 LDI R16,0x32
5C0 E010 LDI R17,0
5C1 940E 0759 CALL _delay_ms
(0521) if (!(PINE & NEXTSONG))
5C3 990B SBIC 0x01,3
5C4 C011 RJMP 0x05D6
(0522) {
(0523) //CLI();
(0524) if(pwm_duoji<0x3ff) pwm_duoji++;
5C5 01C5 MOVW R24,R10
5C6 3F8F CPI R24,0xFF
5C7 E0E3 LDI R30,3
5C8 079E CPC R25,R30
5C9 F410 BCC 0x05CC
5CA 9601 ADIW R24,1
5CB 015C MOVW R10,R24
(0525) OCR1BH = (pwm_duoji>>8)&0x07;
5CC 01C5 MOVW R24,R10
5CD 2F89 MOV R24,R25
5CE 2799 CLR R25
5CF 7087 ANDI R24,7
5D0 7090 ANDI R25,0
5D1 BD89 OUT 0x29,R24
(0526) OCR1BL = pwm_duoji;
5D2 BCA8 OUT 0x28,R10
(0527) /*OCR1BH = 0x03;
(0528) OCR1BL = 0xF0;
(0529) OCR1CH = 0x03;
(0530) OCR1CL = 0xF0;
(0531) */
(0532) PWM_ON
5D3 B387 IN R24,0x17
5D4 6F80 ORI R24,0xF0
5D5 BB87 OUT 0x17,R24
(0533) //SEI();
(0534) }
(0535) }
(0536) if (!(PINE & PREVSONG))
5D6 990A SBIC 0x01,2
5D7 C017 RJMP 0x05EF
(0537) {delay_ms(50);
5D8 E302 LDI R16,0x32
5D9 E010 LDI R17,0
5DA 940E 0759 CALL _delay_ms
(0538) if (!(PINE & PREVSONG))
5DC 990A SBIC 0x01,2
5DD C011 RJMP 0x05EF
(0539) {
(0540) //CLI();
(0541) if(pwm_duoji>0) pwm_duoji--;
5DE 20AA TST R10
5DF F411 BNE 0x05E2
5E0 20BB TST R11
5E1 F019 BEQ 0x05E5
5E2 01C5 MOVW R24,R10
5E3 9701 SBIW R24,1
5E4 015C MOVW R10,R24
(0542) OCR1BH = (pwm_duoji>>8)&0x07;
5E5 01C5 MOVW R24,R10
5E6 2F89 MOV R24,R25
5E7 2799 CLR R25
5E8 7087 ANDI R24,7
5E9 7090 ANDI R25,0
5EA BD89 OUT 0x29,R24
(0543) OCR1BL = pwm_duoji;
5EB BCA8 OUT 0x28,R10
(0544) /*OCR1BH = 0x03;
(0545) OCR1BL = 0xF0;
(0546) OCR1CH = 0x03;
(0547) OCR1CL = 0xF0;
(0548) */
(0549) PWM_ON
5EC B387 IN R24,0x17
5ED 6F80 ORI R24,0xF0
5EE BB87 OUT 0x17,R24
5EF CFCD RJMP 0x05BD
(0550) //SEI();
(0551) }
(0552) }
(0553)
(0554) }
(0555) while(1)
(0556) { //(unsigned char)jiaodu;
(0557) PORTF=juli;
5F0 9020 0121 LDS R2,juli
5F2 9030 0122 LDS R3,juli+1
5F4 9220 0062 STS 0x0062,R2
(0558) if (!(PINE & STOP))jiaodu=100;//PWM_ON//PORTD=~PORTD;
5F6 990E SBIC 0x01,6
5F7 C00C RJMP 0x0604
5F8 E644 LDI R20,0x64
5F9 E050 LDI R21,0
5FA E060 LDI R22,0
5FB E070 LDI R23,0
5FC 9350 011E STS jiaodu+1,R21
5FE 9340 011D STS jiaodu,R20
600 9370 0120 STS jiaodu+3,R23
602 9360 011F STS jiaodu+2,R22
(0559) if (ms==1)
604 9180 0104 LDS R24,ms
606 9190 0105 LDS R25,ms+1
608 3081 CPI R24,1
609 E0A0 LDI R26,0
60A 079A CPC R25,R26
60B F009 BEQ 0x060D
60C C137 RJMP 0x0744
(0560) { //if (jiaodu!=n_jiaodu)//test
(0561) if (jiaodu!=0)
60D 9040 011F LDS R4,jiaodu+2
60F 9050 0120 LDS R5,jiaodu+3
611 9020 011D LDS R2,jiaodu
613 9030 011E LDS R3,jiaodu+1
615 9488 BCLR 0
616 2022 TST R2
617 0432 CPC R3,R2
618 0442 CPC R4,R2
619 0452 CPC R5,R2
61A F409 BNE 0x061C
61B C060 RJMP 0x067C
(0562) {//PORTF=jiaodu;
(0563) //if (jiaodu<0-20)//test 旋转
(0564) if (ADCjohu<jiaodu-20)
61C E144 LDI R20,0x14
61D E050 LDI R21,0
61E E060 LDI R22,0
61F E070 LDI R23,0
620 1A24 SUB R2,R20
621 0A35 SBC R3,R21
622 0A46 SBC R4,R22
623 0A57 SBC R5,R23
624 9080 0102 LDS R8,ADCjohu+2
626 9090 0103 LDS R9,ADCjohu+3
628 9060 0100 LDS R6,ADCjohu
62A 9070 0101 LDS R7,ADCjohu+1
62C 1462 CP R6,R2
62D 0473 CPC R7,R3
62E 0484 CPC R8,R4
62F 0495 CPC R9,R5
630 F4AC BGE 0x0646
(0565) {DDRB |=(R_pwm1 | L_pwm0);
631 B387 IN R24,0x17
632 6680 ORI R24,0x60
633 BB87 OUT 0x17,R24
(0566) DDRB &=~(R_pwm1 | L_pwm0);
634 B387 IN R24,0x17
635 798F ANDI R24,0x9F
636 BB87 OUT 0x17,R24
(0567) PORTB &=~(R_pwm0 |R_pwm1| L_pwm1 | L_pwm0);
637 B388 IN R24,0x18
638 708F ANDI R24,0xF
639 BB88 OUT 0x18,R24
(0568) OCR1AL = pwm_pingjun;
63A 9020 0111 LDS R2,pwm_pingjun
63C BC2A OUT 0x2A,R2
(0569) OCR1BL = pwm_pingjun;
63D BC28 OUT 0x28,R2
(0570) OCR1CL = 0;
63E 2422 CLR R2
63F 9220 0078 STS 0x0078,R2
(0571) OCR0=0;
641 BE21 OUT 0x31,R2
(0572) PWM_ON
642 B387 IN R24,0x17
643 6F80 ORI R24,0xF0
644 BB87 OUT 0x17,R24
(0573) }
645 C034 RJMP 0x067A
(0574) //else if (jiaodu>0+20)//test
(0575) else if (ADCjohu>jiaodu+20)
646 E144 LDI R20,0x14
647 E050 LDI R21,0
648 E060 LDI R22,0
649 E070 LDI R23,0
64A 9040 011F LDS R4,jiaodu+2
64C 9050 0120 LDS R5,jiaodu+3
64E 9020 011D LDS R2,jiaodu
650 9030 011E LDS R3,jiaodu+1
652 0E24 ADD R2,R20
653 1E35 ADC R3,R21
654 1E46 ADC R4,R22
655 1E57 ADC R5,R23
656 9080 0102 LDS R8,ADCjohu+2
658 9090 0103 LDS R9,ADCjohu+3
65A 9060 0100 LDS R6,ADCjohu
65C 9070 0101 LDS R7,ADCjohu+1
65E 1426 CP R2,R6
65F 0437 CPC R3,R7
660 0448 CPC R4,R8
661 0459 CPC R5,R9
662 F4A4 BGE 0x0677
(0576) {DDRB |=(R_pwm0 | L_pwm1);
663 B387 IN R24,0x17
664 6980 ORI R24,0x90
665 BB87 OUT 0x17,R24
(0577) DDRB &=~(R_pwm0 | L_pwm1);
666 B387 IN R24,0x17
667 768F ANDI R24,0x6F
668 BB87 OUT 0x17,R24
(0578) PORTB =0xf0;
669 EF80 LDI R24,0xF0
66A BB88 OUT 0x18,R24
(0579) OCR1AL = 0;
66B 2422 CLR R2
66C BC2A OUT 0x2A,R2
(0580) OCR1BL = 0;
66D BC28 OUT 0x28,R2
(0581) OCR1CL = pwm_pingjun;
66E 9020 0111 LDS R2,pwm_pingjun
670 9220 0078 STS 0x0078,R2
(0582) OCR0=pwm_pingjun;
672 BE21 OUT 0x31,R2
(0583) PWM_ON
673 B387 IN R24,0x17
674 6F80 ORI R24,0xF0
675 BB87 OUT 0x17,R24
(0584) }
676 C003 RJMP 0x067A
(0585) else PWM_OFF
677 B387 IN R24,0x17
678 708F ANDI R24,0xF
679 BB87 OUT 0x17,R24
(0586) n_jiaodu=jiaodu;
67A 90A0 011D LDS R10,jiaodu
(0587) }
(0588) if (juli!=0)
67C 9040 0123 LDS R4,juli+2
67E 9050 0124 LDS R5,juli+3
680 9020 0121 LDS R2,juli
682 9030 0122 LDS R3,juli+1
684 9488 BCLR 0
685 2022 TST R2
686 0432 CPC R3,R2
687 0442 CPC R4,R2
688 0452 CPC R5,R2
689 F409 BNE 0x068B
68A C089 RJMP 0x0714
(0589) if (sec!=n_sec)
68B 9020 0127 LDS R2,sec
68D 142A CP R2,R10
68E F409 BNE 0x0690
68F C084 RJMP 0x0714
(0590) {
(0591) if (juli>0)
690 E040 LDI R20,0
691 E050 LDI R21,0
692 E060 LDI R22,0
693 E070 LDI R23,0
694 9040 0123 LDS R4,juli+2
696 9050 0124 LDS R5,juli+3
698 9020 0121 LDS R2,juli
69A 9030 0122 LDS R3,juli+1
69C 1542 CP R20,R2
69D 0553 CPC R21,R3
69E 0564 CPC R22,R4
69F 0575 CPC R23,R5
6A0 F584 BGE 0x06D1
(0592) {DDRB |=(R_pwm1 | L_pwm1);
6A1 B387 IN R24,0x17
6A2 6A80 ORI R24,0xA0
6A3 BB87 OUT 0x17,R24
(0593) DDRB &=~(R_pwm1 | L_pwm1);
6A4 B387 IN R24,0x17
6A5 758F ANDI R24,0x5F
6A6 BB87 OUT 0x17,R24
(0594) OCR1AL = 0;
6A7 2422 CLR R2
6A8 BC2A OUT 0x2A,R2
(0595) OCR1BL = pwm_pingjun+Rpwm0;
6A9 9020 0112 LDS R2,Rpwm0
6AB 9030 0111 LDS R3,pwm_pingjun
6AD 0C32 ADD R3,R2
6AE BC38 OUT 0x28,R3
(0596) OCR1CL = 0;
6AF 2422 CLR R2
6B0 9220 0078 STS 0x0078,R2
(0597) OCR0=pwm_pingjun;
6B2 9020 0111 LDS R2,pwm_pingjun
6B4 BE21 OUT 0x31,R2
(0598) PWM_ON
6B5 B387 IN R24,0x17
6B6 6F80 ORI R24,0xF0
6B7 BB87 OUT 0x17,R24
(0599) juli--;
6B8 E041 LDI R20,1
6B9 E050 LDI R21,0
6BA E060 LDI R22,0
6BB E070 LDI R23,0
6BC 9040 0123 LDS R4,juli+2
6BE 9050 0124 LDS R5,juli+3
6C0 9020 0121 LDS R2,juli
6C2 9030 0122 LDS R3,juli+1
6C4 1A24 SUB R2,R20
6C5 0A35 SBC R3,R21
6C6 0A46 SBC R4,R22
6C7 0A57 SBC R5,R23
6C8 9230 0122 STS juli+1,R3
6CA 9220 0121 STS juli,R2
6CC 9250 0124 STS juli+3,R5
6CE 9240 0123 STS juli+2,R4
(0600) }
6D0 C041 RJMP 0x0712
(0601) else if (juli<0)
6D1 E040 LDI R20,0
6D2 E050 LDI R21,0
6D3 E060 LDI R22,0
6D4 E070 LDI R23,0
6D5 9040 0123 LDS R4,juli+2
6D7 9050 0124 LDS R5,juli+3
6D9 9020 0121 LDS R2,juli
6DB 9030 0122 LDS R3,juli+1
6DD 1624 CP R2,R20
6DE 0635 CPC R3,R21
6DF 0646 CPC R4,R22
6E0 0657 CPC R5,R23
6E1 F56C BGE 0x070F
(0602) {DDRB |=(R_pwm0 | L_pwm0);
6E2 B387 IN R24,0x17
6E3 6580 ORI R24,0x50
6E4 BB87 OUT 0x17,R24
(0603) DDRB &=~(R_pwm0 | L_pwm0);
6E5 B387 IN R24,0x17
6E6 7A8F ANDI R24,0xAF
6E7 BB87 OUT 0x17,R24
(0604) OCR1AL = pwm_pingjun;
6E8 9020 0111 LDS R2,pwm_pingjun
6EA BC2A OUT 0x2A,R2
(0605) OCR1BL = 0;
6EB 2422 CLR R2
6EC BC28 OUT 0x28,R2
(0606) OCR1CL = pwm_pingjun;
6ED 9020 0111 LDS R2,pwm_pingjun
6EF 9220 0078 STS 0x0078,R2
(0607) OCR0=0;
6F1 2422 CLR R2
6F2 BE21 OUT 0x31,R2
(0608) PWM_ON
6F3 B387 IN R24,0x17
6F4 6F80 ORI R24,0xF0
6F5 BB87 OUT 0x17,R24
(0609) juli++;
6F6 E041 LDI R20,1
6F7 E050 LDI R21,0
6F8 E060 LDI R22,0
6F9 E070 LDI R23,0
6FA 9040 0123 LDS R4,juli+2
6FC 9050 0124 LDS R5,juli+3
6FE 9020 0121 LDS R2,juli
700 9030 0122 LDS R3,juli+1
702 0E24 ADD R2,R20
703 1E35 ADC R3,R21
704 1E46 ADC R4,R22
705 1E57 ADC R5,R23
706 9230 0122 STS juli+1,R3
708 9220 0121 STS juli,R2
70A 9250 0124 STS juli+3,R5
70C 9240 0123 STS juli+2,R4
(0610) }/**/
70E C003 RJMP 0x0712
(0611) else PWM_OFF
70F B387 IN R24,0x17
710 708F ANDI R24,0xF
711 BB87 OUT 0x17,R24
(0612) n_sec=sec;
712 90A0 0127 LDS R10,sec
(0613) }
(0614)
(0615) //number(0,2,5,xx,1);
(0616) //number(0,4,5,ADCjohu,1);
(0617) if (!(PINE & PREVSONG))xx=0;
714 990A SBIC 0x01,2
715 C00C RJMP 0x0722
716 E040 LDI R20,0
717 E050 LDI R21,0
718 E060 LDI R22,0
719 E070 LDI R23,0
71A 9350 0107 STS xx+1,R21
71C 9340 0106 STS xx,R20
71E 9370 0109 STS xx+3,R23
720 9360 0108 STS xx+2,R22
(0618) if (!(PINE & NEXTSONG))
722 990B SBIC 0x01,3
723 C01A RJMP 0x073E
(0619) {
(0620) //CLI();
(0621) number_uart1(xx,0);
724 2422 CLR R2
725 8228 STD Y+0,R2
726 9120 0108 LDS R18,xx+2
728 9130 0109 LDS R19,xx+3
72A 9100 0106 LDS R16,xx
72C 9110 0107 LDS R17,xx+1
72E DC9C RCALL _number_uart1
(0622) number_uart1(ADCjohu,1);
72F E081 LDI R24,1
730 8388 STD Y+0,R24
731 9120 0102 LDS R18,ADCjohu+2
733 9130 0103 LDS R19,ADCjohu+3
735 9100 0100 LDS R16,ADCjohu
737 9110 0101 LDS R17,ADCjohu+1
739 DC91 RCALL _number_uart1
(0623) delay_ms(20);
73A E104 LDI R16,0x14
73B E010 LDI R17,0
73C 940E 0759 CALL _delay_ms
(0624) //SEI();
(0625) }
(0626) ms=0;
73E 2422 CLR R2
73F 2433 CLR R3
740 9230 0105 STS ms+1,R3
742 9220 0104 STS ms,R2
744 CEAB
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -