?? user.lis
字號:
0110 .dbline 160
0110 .dbline 161
0110 02E0 ldi R16,2
0112 3FD0 xcall _LED_Toggle
0114 .dbline 162
0114 0AE0 ldi R16,10
0116 10E0 ldi R17,0
0118 0E940000 xcall _OSTimeDly
011C .dbline 163
011C L9:
011C .dbline 160
011C F9CF xjmp L8
011E X1:
011E .dbline -2
011E .dbline 164
011E ; while (TRUE) {
011E ; LED_Toggle(2);
011E ; OSTimeDly(OS_TICKS_PER_SEC / 5);
011E ; }
011E ; }
011E L7:
011E 0E940000 xcall pop_gset1
0122 .dbline 0 ; func end
0122 0895 ret
0124 .dbsym r p_arg 20 pV
0124 .dbend
0124 .dbfunc s AppTask2 _AppTask2 fV
0124 ; p_arg -> R20,R21
.even
0124 _AppTask2:
0124 0E940000 xcall push_gset1
0128 A801 movw R20,R16
012A .dbline -1
012A .dbline 173
012A ;
012A ; /*
012A ; *********************************************************************************************************
012A ; * TASK #2
012A ; *********************************************************************************************************
012A ; */
012A ;
012A ; static void AppTask2(void *p_arg)
012A ; {
012A .dbline 174
012A ; p_arg = p_arg;
012A 06C0 xjmp L13
012C L12:
012C .dbline 175
012C .dbline 176
012C 03E0 ldi R16,3
012E 31D0 xcall _LED_Toggle
0130 .dbline 177
0130 09E1 ldi R16,25
0132 10E0 ldi R17,0
0134 0E940000 xcall _OSTimeDly
0138 .dbline 178
0138 L13:
0138 .dbline 175
0138 F9CF xjmp L12
013A X2:
013A .dbline -2
013A .dbline 179
013A ; while (TRUE) {
013A ; LED_Toggle(3);
013A ; OSTimeDly(OS_TICKS_PER_SEC / 2);
013A ; }
013A ; }
013A L11:
013A 0E940000 xcall pop_gset1
013E .dbline 0 ; func end
013E 0895 ret
0140 .dbsym r p_arg 20 pV
0140 .dbend
0140 .dbfunc s AppIOInit _AppIOInit fV
.even
0140 _AppIOInit:
0140 .dbline -1
0140 .dbline 188
0140 ;
0140 ; /*
0140 ; *********************************************************************************************************
0140 ; * SETUP THE I/Os
0140 ; *********************************************************************************************************
0140 ; */
0140 ;
0140 ; static void AppIOInit (void)
0140 ; {
0140 .dbline 189
0140 ; DDRA = 0xFF; /* All PORTD pins are outputs */
0140 8FEF ldi R24,255
0142 8ABB out 0x1a,R24
0144 .dbline 190
0144 ; PORTA = 0x00;
0144 2224 clr R2
0146 2BBA out 0x1b,R2
0148 .dbline 191
0148 ; DDRB = 0xFF; /* All PORTD pins are outputs */
0148 87BB out 0x17,R24
014A .dbline 192
014A ; PORTB = 0x07;
014A 87E0 ldi R24,7
014C 88BB out 0x18,R24
014E .dbline 193
014E ; DDRC = 0xFF; /* All PORTD pins are outputs */
014E 8FEF ldi R24,255
0150 84BB out 0x14,R24
0152 .dbline 194
0152 ; PORTC = 0x00;
0152 25BA out 0x15,R2
0154 .dbline 195
0154 ; DDRD = 0xFb; /* All PORTD pins are outputs */
0154 8BEF ldi R24,251
0156 81BB out 0x11,R24
0158 .dbline 196
0158 ; PORTD = 0x0d;
0158 8DE0 ldi R24,13
015A 82BB out 0x12,R24
015C .dbline 197
015C ; DDRE = 0xFa; /* All PORTD pins are outputs */
015C 8AEF ldi R24,250
015E 82B9 out 0x2,R24
0160 .dbline 198
0160 ; PORTE = 0x77;
0160 87E7 ldi R24,119
0162 83B9 out 0x3,R24
0164 .dbline 199
0164 ; DDRF = 0xFF; /* All PORTD pins are outputs */
0164 8FEF ldi R24,255
0166 80936100 sts 97,R24
016A .dbline 200
016A ; PORTF = 0x0f;
016A 8FE0 ldi R24,15
016C 80936200 sts 98,R24
0170 .dbline 201
0170 ; DDRG = 0xFF; /* All PORTD pins are outputs */
0170 8FEF ldi R24,255
0172 80936400 sts 100,R24
0176 .dbline 202
0176 ; PORTG = 0xFF;
0176 80936500 sts 101,R24
017A .dbline -2
017A .dbline 203
017A ; }
017A L15:
017A .dbline 0 ; func end
017A 0895 ret
017C .dbend
017C .dbfunc e OSTickISR_Init _OSTickISR_Init fV
.even
017C _OSTickISR_Init::
017C .dbline -1
017C .dbline 212
017C ;
017C ; /*
017C ; *********************************************************************************************************
017C ; * SETUP THE TICK RATE
017C ; *********************************************************************************************************
017C ; */
017C ;
017C ; void OSTickISR_Init (void)
017C ; {
017C .dbline 213
017C ; TCCR0 = 0x07; /* Set TIMER0 prescaler to CLK/1024 */
017C 87E0 ldi R24,7
017E 83BF out 0x33,R24
0180 .dbline 214
0180 ; TIMSK = 0x01; /* Enable TIMER0 overflow interrupt */
0180 81E0 ldi R24,1
0182 87BF out 0x37,R24
0184 .dbline 215
0184 ; OCR0 = 0x48; /* Enable TIMER0 overflow interrupt */
0184 88E4 ldi R24,72
0186 81BF out 0x31,R24
0188 .dbline -2
0188 .dbline 216
0188 ; }
0188 L16:
0188 .dbline 0 ; func end
0188 0895 ret
018A .dbend
018A .dbfunc e OSTickISR_Handler _OSTickISR_Handler fV
.even
018A _OSTickISR_Handler::
018A .dbline -1
018A .dbline 226
018A ;
018A ;
018A ; /*
018A ; *********************************************************************************************************
018A ; * SETUP THE TICK RATE
018A ; *********************************************************************************************************
018A ; */
018A ;
018A ; void OSTickISR_Handler (void)
018A ; {
018A .dbline 227
018A ; TCNT0 = 256 - (CPU_CLK_FREQ / OS_TICKS_PER_SEC / 1024);
018A 80E7 ldi R24,112
018C 82BF out 0x32,R24
018E .dbline 228
018E ; OSTimeTick();
018E .dbline -2
018E .dbline 229
018E ; }
018E L17:
018E .dbline 0 ; func end
018E 0C940000 xjmp _OSTimeTick
0192 .dbend
0192 .dbfunc s LED_Toggle _LED_Toggle fV
0192 ; cpu_sr -> R20
0192 ; led -> R22
.even
0192 _LED_Toggle:
0192 0E940000 xcall push_gset2
0196 602F mov R22,R16
0198 .dbline -1
0198 .dbline 238
0198 ;
0198 ; /*
0198 ; *********************************************************************************************************
0198 ; * TOGGLE LED
0198 ; *********************************************************************************************************
0198 ; */
0198 ;
0198 ; static void LED_Toggle (INT8U led)
0198 ; {
0198 .dbline 244
0198 ; #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
0198 ; OS_CPU_SR cpu_sr;
0198 ; #endif
0198 ;
0198 ;
0198 ; OS_ENTER_CRITICAL();
0198 0E940000 xcall _OS_CPU_SR_Save
019C 402F mov R20,R16
019E .dbline 245
019E 7727 clr R23
01A0 6130 cpi R22,1
01A2 E0E0 ldi R30,0
01A4 7E07 cpc R23,R30
01A6 69F0 breq L22
01A8 6230 cpi R22,2
01AA E0E0 ldi R30,0
01AC 7E07 cpc R23,R30
01AE 71F0 breq L23
01B0 6330 cpi R22,3
01B2 E0E0 ldi R30,0
01B4 7E07 cpc R23,R30
01B6 79F0 breq L24
01B8 6430 cpi R22,4
01BA E0E0 ldi R30,0
01BC 7E07 cpc R23,R30
01BE 81F0 breq L25
01C0 13C0 xjmp L19
01C2 X3:
01C2 .dbline 245
01C2 ; switch (led) {
01C2 L22:
01C2 .dbline 247
01C2 ; case 1:
01C2 ; PORTF ^= 0x00;
01C2 20906200 lds R2,98
01C6 20926200 sts 98,R2
01CA .dbline 248
01CA ; break;
01CA 0EC0 xjmp L20
01CC L23:
01CC .dbline 251
01CC ;
01CC ; case 2:
01CC ; PORTF ^= 0x00;
01CC 20906200 lds R2,98
01D0 20926200 sts 98,R2
01D4 .dbline 252
01D4 ; break;
01D4 09C0 xjmp L20
01D6 L24:
01D6 .dbline 255
01D6 ;
01D6 ; case 3:
01D6 ; PORTF ^= 0x00;
01D6 20906200 lds R2,98
01DA 20926200 sts 98,R2
01DE .dbline 256
01DE ; break;
01DE 04C0 xjmp L20
01E0 L25:
01E0 .dbline 259
01E0 ;
01E0 ; case 4:
01E0 ; PORTF ^= 0x00;
01E0 20906200 lds R2,98
01E4 20926200 sts 98,R2
01E8 .dbline 260
01E8 ; break;
01E8 L19:
01E8 L20:
01E8 .dbline 262
01E8 ; }
01E8 ; OS_EXIT_CRITICAL();
01E8 042F mov R16,R20
01EA 0E940000 xcall _OS_CPU_SR_Restore
01EE .dbline -2
01EE .dbline 263
01EE ; }
01EE L18:
01EE 0E940000 xcall pop_gset2
01F2 .dbline 0 ; func end
01F2 0895 ret
01F4 .dbsym r cpu_sr 20 c
01F4 .dbsym r led 22 c
01F4 .dbend
.area bss(ram, con, rel)
0000 .dbfile C:\UCOS-II_AVR_ICC\RTOSIC~1\source\User.c
0000 _yyhcnt01:
0000 .blkb 2
0002 .dbsym s yyhcnt01 _yyhcnt01 i
0002 _AppTask2Stk::
0002 .blkb 256
0102 .dbsym e AppTask2Stk _AppTask2Stk A[256:256]c
0102 _AppTask1Stk::
0102 .blkb 256
0202 .dbsym e AppTask1Stk _AppTask1Stk A[256:256]c
0202 _AppTaskStartStk::
0202 .blkb 256
0302 .dbsym e AppTaskStartStk _AppTaskStartStk A[256:256]c
.area func_lit
0000 9200 PL_AppTask2: .word `_AppTask2
0002 8400 PL_AppTask1: .word `_AppTask1
0004 3200 PL_AppTaskStart: .word `_AppTaskStart
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -