📄 pwm32.lss
字号:
}
if(checksum==data)
6e8: 9b 81 ldd r25, Y+3 ; 0x03
6ea: 8a 81 ldd r24, Y+2 ; 0x02
6ec: 98 17 cp r25, r24
6ee: 39 f4 brne .+14 ; 0x6fe <__stack+0x1ff>
{
AckToPc();
6f0: 0e 94 71 0c call 0x18e2 <AckToPc>
RxCounter=0;
6f4: 10 92 0a 01 sts 0x010A, r1
FinalDispose();
6f8: 0e 94 03 0c call 0x1806 <FinalDispose>
6fc: 0c c0 rjmp .+24 ; 0x716 <__stack+0x217>
}
else
{
RxCounter=0;
6fe: 10 92 0a 01 sts 0x010A, r1
NackToPc( );
702: 0e 94 64 0c call 0x18c8 <NackToPc>
break;
706: 07 c0 rjmp .+14 ; 0x716 <__stack+0x217>
}
}
}
}
}
else
{
RxCounter=0;
708: 10 92 0a 01 sts 0x010A, r1
UART_ERROR_FLAG=1;
70c: 80 91 8c 02 lds r24, 0x028C
710: 88 60 ori r24, 0x08 ; 8
712: 80 93 8c 02 sts 0x028C, r24
716: 28 96 adiw r28, 0x08 ; 8
718: f8 94 cli
71a: de bf out 0x3e, r29 ; 62
71c: cd bf out 0x3d, r28 ; 61
71e: df 91 pop r29
720: cf 91 pop r28
722: ff 91 pop r31
724: ef 91 pop r30
726: bf 91 pop r27
728: af 91 pop r26
72a: 9f 91 pop r25
72c: 8f 91 pop r24
72e: 7f 91 pop r23
730: 6f 91 pop r22
732: 5f 91 pop r21
734: 4f 91 pop r20
736: 3f 91 pop r19
738: 2f 91 pop r18
73a: 0f 90 pop r0
73c: 0f be out 0x3f, r0 ; 63
73e: 0f 90 pop r0
740: 1f 90 pop r1
742: 18 95 reti
00000744 <SystemInitial>:
Return value: None
Author: Chen yuan zhen May.30.2008
*************************************************************/
void SystemInitial(void)
{
744: cf 93 push r28
746: df 93 push r29
748: cd b7 in r28, 0x3d ; 61
74a: de b7 in r29, 0x3e ; 62
cli();
74c: f8 94 cli
//*****************flag initial***********************//
AD_FLAG=0;
74e: 80 91 c0 01 lds r24, 0x01C0
752: 8d 7f andi r24, 0xFD ; 253
754: 80 93 c0 01 sts 0x01C0, r24
PCINT_FLAG=0;
758: 80 91 c0 01 lds r24, 0x01C0
75c: 8f 7d andi r24, 0xDF ; 223
75e: 80 93 c0 01 sts 0x01C0, r24
HAVE_RUN_KEY_FLAG = 0;
762: 80 91 c0 01 lds r24, 0x01C0
766: 87 7f andi r24, 0xF7 ; 247
768: 80 93 c0 01 sts 0x01C0, r24
MUSIC_START = 0;
76c: 80 91 c0 01 lds r24, 0x01C0
770: 8b 7f andi r24, 0xFB ; 251
772: 80 93 c0 01 sts 0x01C0, r24
RUN_FLAG=0;
776: 80 91 c0 01 lds r24, 0x01C0
77a: 8e 7f andi r24, 0xFE ; 254
77c: 80 93 c0 01 sts 0x01C0, r24
START_FLAG =0;
780: 80 91 c0 01 lds r24, 0x01C0
784: 8f 7e andi r24, 0xEF ; 239
786: 80 93 c0 01 sts 0x01C0, r24
REAL_TIME_FLAG=0;
78a: 80 91 8c 02 lds r24, 0x028C
78e: 8f 7b andi r24, 0xBF ; 191
790: 80 93 8c 02 sts 0x028C, r24
DL_REALY_OVER=0;
794: 80 91 8c 02 lds r24, 0x028C
798: 8f 7d andi r24, 0xDF ; 223
79a: 80 93 8c 02 sts 0x028C, r24
DL_OVER_FLAG=0;
79e: 80 91 8c 02 lds r24, 0x028C
7a2: 8f 7e andi r24, 0xEF ; 239
7a4: 80 93 8c 02 sts 0x028C, r24
UART_ERROR_FLAG=0;
7a8: 80 91 8c 02 lds r24, 0x028C
7ac: 87 7f andi r24, 0xF7 ; 247
7ae: 80 93 8c 02 sts 0x028C, r24
RUN_FLAG=0;
7b2: 80 91 c0 01 lds r24, 0x01C0
7b6: 8e 7f andi r24, 0xFE ; 254
7b8: 80 93 c0 01 sts 0x01C0, r24
//*****************port initial***********************//
DDRE = 0x02;
7bc: 82 e0 ldi r24, 0x02 ; 2
7be: 80 93 2d 00 sts 0x002D, r24
PORTE = 0xFD;
7c2: 8d ef ldi r24, 0xFD ; 253
7c4: 80 93 2e 00 sts 0x002E, r24
DDRG = 0x0F;
7c8: 8f e0 ldi r24, 0x0F ; 15
7ca: 80 93 33 00 sts 0x0033, r24
PORTG = 0x20;
7ce: 80 e2 ldi r24, 0x20 ; 32
7d0: 80 93 34 00 sts 0x0034, r24
CloseOutputPwm( );
7d4: 0e 94 f5 06 call 0xdea <CloseOutputPwm>
ClrPwmPort( );
7d8: 0e 94 17 07 call 0xe2e <ClrPwmPort>
UARTInitial( );
7dc: 0e 94 84 01 call 0x308 <UARTInitial>
SPI_MasterInit( );
7e0: 0e 94 d0 0d call 0x1ba0 <SPI_MasterInit>
//*****************fuction initial***********************//
T0Init();
7e4: 0e 94 06 04 call 0x80c <T0Init>
T1Init();
7e8: 0e 94 8e 04 call 0x91c <T1Init>
T2Init();
7ec: 0e 94 56 05 call 0xaac <T2Init>
PCIntInitial( );
7f0: 0e 94 a3 05 call 0xb46 <PCIntInitial>
PwmPortInitial( );
7f4: 0e 94 50 07 call 0xea0 <PwmPortInitial>
//*****************pwm initial***********************//
PwmInitial( );
7f8: 0e 94 26 07 call 0xe4c <PwmInitial>
DisposePwm( );
7fc: 0e 94 6e 09 call 0x12dc <DisposePwm>
TransferStruct( );
800: 0e 94 58 0b call 0x16b0 <TransferStruct>
sei();
804: 78 94 sei
806: df 91 pop r29
808: cf 91 pop r28
80a: 08 95 ret
0000080c <T0Init>:
Return value: None
Author: Chen yuan zhen May.30.2008
*************************************************************/
void T0Init(void)
{
80c: cf 93 push r28
80e: df 93 push r29
810: cd b7 in r28, 0x3d ; 61
812: de b7 in r29, 0x3e ; 62
OCR0A = 63; /* 8us*/
814: 8f e3 ldi r24, 0x3F ; 63
816: 80 93 47 00 sts 0x0047, r24
TCCR0A = 8; /*CTC模式*/
81a: 88 e0 ldi r24, 0x08 ; 8
81c: 80 93 44 00 sts 0x0044, r24
TIMSK0 |= (1<<OCIE0A); /*中断允许*/
820: 80 91 6e 00 lds r24, 0x006E
824: 82 60 ori r24, 0x02 ; 2
826: 80 93 6e 00 sts 0x006E, r24
82a: df 91 pop r29
82c: cf 91 pop r28
82e: 08 95 ret
00000830 <T0Start>:
}
/************************************************************
Function Name: T2Start
Function: Timer0 start
Paramenter: None
Return value: None
Author: Chen yuan zhen May.30.2008
*************************************************************/
void T0Start(void)
{
830: cf 93 push r28
832: df 93 push r29
834: cd b7 in r28, 0x3d ; 61
836: de b7 in r29, 0x3e ; 62
TCNT0 = 0;
838: 10 92 46 00 sts 0x0046, r1
TCCR0A |= 0x01; /*设置定时器的分频值为1分频并开始*/
83c: 80 91 44 00 lds r24, 0x0044
840: 81 60 ori r24, 0x01 ; 1
842: 80 93 44 00 sts 0x0044, r24
846: df 91 pop r29
848: cf 91 pop r28
84a: 08 95 ret
0000084c <T0Close>:
}
/************************************************************
Function Name: T2Close
Function: Timer0 close
Paramenter: None
Return value: None
Author: Chen yuan zhen May.30.2008
*************************************************************/
void T0Close(void)
{
84c: cf 93 push r28
84e: df 93 push r29
850: cd b7 in r28, 0x3d ; 61
852: de b7 in r29, 0x3e ; 62
TCCR0A &= 0xF8; /*关闭定时器*/
854: 88 ef ldi r24, 0xF8 ; 248
856: 90 91 44 00 lds r25, 0x0044
85a: 89 23 and r24, r25
85c: 80 93 44 00 sts 0x0044, r24
860: df 91 pop r29
862: cf 91 pop r28
864: 08 95 ret
00000866 <__vector_10>:
}
/************************************************************
Function Name: SIGNAL(TIMER0_COMPA_vect)
Function: Timer0 interrupt
Paramenter: TIMER0_COMPA_vect
Return value: None
Author: Chen yuan zhen May.30.2008
*************************************************************/
SIGNAL(TIMER0_COMP_vect)
{
866: 1f 92 push r1
868: 0f 92 push r0
86a: 0f b6 in r0, 0x3f ; 63
86c: 0f 92 push r0
86e: 11 24 eor r1, r1
870: 8f 93 push r24
872: cf 93 push r28
874: df 93 push r29
876: cd b7 in r28, 0x3d ; 61
878: de b7 in r29, 0x3e ; 62
PwmStepCounter++;
87a: 80 91 b0 02 lds r24, 0x02B0
87e: 8f 5f subi r24, 0xFF ; 255
880: 80 93 b0 02 sts 0x02B0, r24
884: df 91 pop r29
886: cf 91 pop r28
888: 8f 91 pop r24
88a: 0f 90 pop r0
88c: 0f be out 0x3f, r0 ; 63
88e: 0f 90 pop r0
890: 1f 90 pop r1
892: 18 95 reti
00000894 <T1Set0p5ms>:
Return value: None
Author: Chen yuan zhen May.30.2008
*************************************************************/
void T1Set0p5ms(void)
{
894: cf 93 push r28
896: df 93 push r29
898: cd b7 in r28, 0x3d ; 61
89a: de b7 in r29, 0x3e ; 62
TCNT1 = 0;
89c: 10 92 85 00 sts 0x0085, r1
8a0: 10 92 84 00 sts 0x0084, r1
OCR1A = 63; /* 0.5ms*/
8a4: 8f e3 ldi r24, 0x3F ; 63
8a6: 90 e0 ldi r25, 0x00 ; 0
8a8: 90 93 89 00 sts 0x0089, r25
8ac: 80 93 88 00 sts 0x0088, r24
8b0: df 91 pop r29
8b2: cf 91 pop r28
8b4: 08 95 ret
000008b6 <T1Set2ms>:
}
/************************************************************
Function Name: T2Init
Function: Timer0 initial
Paramenter: None
Return value: None
Author: Chen yuan zhen May.30.2008
*************************************************************/
void T1Set2ms(void)
{
8b6: cf 93 push r28
8b8: df 93 push r29
8ba: cd b7 in r28, 0x3d ; 61
8bc: de b7 in r29, 0x3e ; 62
TCNT1 = 0;
8be: 10 92 85 00 sts 0x0085, r1
8c2: 10 92 84 00 sts 0x0084, r1
OCR1A = 255; /* 2ms*/
8c6: 8f ef ldi r24, 0xFF ; 255
8c8: 90 e0 ldi r25, 0x00 ; 0
8ca: 90 93 89 00 sts 0x0089, r25
8ce: 80 93 88 00 sts 0x0088, r24
8d2: df 91 pop r29
8d4: cf 91 pop r28
8d6: 08 95 ret
000008d8 <T1Set8p7ms>:
}
/************************************************************
Function Name: T2Init
Function: Timer0 initial
Paramenter: None
Return value: None
Author: Chen yuan zhen May.30.2008
*************************************************************/
void T1Set8p7ms(void)
{
8d8: cf 93 push r28
8da: df 93 push r29
8dc: cd b7 in r28, 0x3d ; 61
8de: de b7 in r29, 0x3e ; 62
TCNT1 = 0;
8e0: 10 92 85 00 sts 0x0085, r1
8e4: 10 92 84 00 sts 0x0084, r1
OCR1A = 1200; /* 8.75ms*/
8e8: 80 eb ldi r24, 0xB0 ; 176
8ea: 94 e0 ldi r25, 0x04 ; 4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -