📄 user.lis
字号:
01DE ; */
01DE ;
01DE ; static void AppTask4(void *p_arg)
01DE ; {
01DE .dbline 221
01DE ; p_arg = p_arg;
01DE 0BC0 xjmp L21
01E0 L20:
01E0 .dbline 222
01E0 .dbline 223
01E0 80E8 ldi R24,128
01E2 90E0 ldi R25,0
01E4 28B2 in R2,0x18
01E6 3324 clr R3
01E8 2826 eor R2,R24
01EA 3926 eor R3,R25
01EC 28BA out 0x18,R2
01EE .dbline 224
01EE 01E0 ldi R16,1
01F0 10E0 ldi R17,0
01F2 0E940000 xcall _OSTimeDly
01F6 .dbline 225
01F6 L21:
01F6 .dbline 222
01F6 F4CF xjmp L20
01F8 X4:
01F8 .dbline -2
01F8 .dbline 226
01F8 ; while (TRUE) {
01F8 ; PORTB ^= 0x80;
01F8 ; OSTimeDly(OS_TICKS_PER_SEC / 40);
01F8 ; }
01F8 ; }
01F8 L19:
01F8 0E940000 xcall pop_gset1
01FC .dbline 0 ; func end
01FC 0895 ret
01FE .dbsym r p_arg 20 pV
01FE .dbend
01FE .dbfunc s AppIOInit _AppIOInit fV
.even
01FE _AppIOInit:
01FE .dbline -1
01FE .dbline 235
01FE ;
01FE ; /*
01FE ; *********************************************************************************************************
01FE ; * SETUP THE I/Os
01FE ; *********************************************************************************************************
01FE ; */
01FE ;
01FE ; static void AppIOInit (void)
01FE ; {
01FE .dbline 236
01FE ; DDRF = 0xFF; /* All PORTD pins are outputs */
01FE 8FEF ldi R24,255
0200 80936100 sts 97,R24
0204 .dbline 237
0204 ; PORTF = 0xFF;
0204 80936200 sts 98,R24
0208 .dbline 238
0208 ; DDRB = 0xFF; /* All PORTD pins are outputs */
0208 87BB out 0x17,R24
020A .dbline 239
020A ; PORTB = 0xFF;
020A 88BB out 0x18,R24
020C .dbline -2
020C .dbline 240
020C ; }
020C L23:
020C .dbline 0 ; func end
020C 0895 ret
020E .dbend
020E .dbfunc e OSTickISR_Init _OSTickISR_Init fV
.even
020E _OSTickISR_Init::
020E .dbline -1
020E .dbline 249
020E ;
020E ; /*
020E ; *********************************************************************************************************
020E ; * SETUP THE TICK RATE
020E ; *********************************************************************************************************
020E ; */
020E ;
020E ; void OSTickISR_Init (void)
020E ; {
020E .dbline 250
020E ; TCCR0 = 0x07; /* Set TIMER0 prescaler to CLK/1024 */
020E 87E0 ldi R24,7
0210 83BF out 0x33,R24
0212 .dbline 251
0212 ; TIMSK = 0x01; /* Enable TIMER0 overflow interrupt */
0212 81E0 ldi R24,1
0214 87BF out 0x37,R24
0216 .dbline -2
0216 .dbline 252
0216 ; }
0216 L24:
0216 .dbline 0 ; func end
0216 0895 ret
0218 .dbend
0218 .dbfunc e OSTickISR_Handler _OSTickISR_Handler fV
.even
0218 _OSTickISR_Handler::
0218 .dbline -1
0218 .dbline 262
0218 ;
0218 ;
0218 ; /*
0218 ; *********************************************************************************************************
0218 ; * SETUP THE TICK RATE
0218 ; *********************************************************************************************************
0218 ; */
0218 ;
0218 ; void OSTickISR_Handler (void)
0218 ; {
0218 .dbline 263
0218 ; TCNT0 = 256 - (CPU_CLK_FREQ / OS_TICKS_PER_SEC / 1024);
0218 80E7 ldi R24,112
021A 82BF out 0x32,R24
021C .dbline 264
021C ; OSTimeTick();
021C .dbline -2
021C .dbline 265
021C ; }
021C L25:
021C .dbline 0 ; func end
021C 0C940000 xjmp _OSTimeTick
0220 .dbend
0220 .dbfunc s LED_Toggle _LED_Toggle fV
0220 ; cpu_sr -> R20
0220 ; led -> R22
.even
0220 _LED_Toggle:
0220 0E940000 xcall push_gset2
0224 602F mov R22,R16
0226 .dbline -1
0226 .dbline 274
0226 ;
0226 ; /*
0226 ; *********************************************************************************************************
0226 ; * TOGGLE LED
0226 ; *********************************************************************************************************
0226 ; */
0226 ;
0226 ; static void LED_Toggle (INT8U led)
0226 ; {
0226 .dbline 280
0226 ; #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
0226 ; OS_CPU_SR cpu_sr;
0226 ; #endif
0226 ;
0226 ;
0226 ; OS_ENTER_CRITICAL();
0226 0E940000 xcall _OS_CPU_SR_Save
022A 402F mov R20,R16
022C .dbline 281
022C 7727 clr R23
022E 6130 cpi R22,1
0230 E0E0 ldi R30,0
0232 7E07 cpc R23,R30
0234 69F0 breq L30
0236 6230 cpi R22,2
0238 E0E0 ldi R30,0
023A 7E07 cpc R23,R30
023C 81F0 breq L31
023E 6330 cpi R22,3
0240 E0E0 ldi R30,0
0242 7E07 cpc R23,R30
0244 99F0 breq L32
0246 6430 cpi R22,4
0248 E0E0 ldi R30,0
024A 7E07 cpc R23,R30
024C B1F0 breq L33
024E 1BC0 xjmp L27
0250 X5:
0250 .dbline 281
0250 ; switch (led) {
0250 L30:
0250 .dbline 283
0250 ; case 1:
0250 ; PORTF ^= 0x01;
0250 81E0 ldi R24,1
0252 20906200 lds R2,98
0256 2826 eor R2,R24
0258 20926200 sts 98,R2
025C .dbline 285
025C ; // PORTF ^= 0x80;
025C ; break;
025C 14C0 xjmp L28
025E L31:
025E .dbline 288
025E ;
025E ; case 2:
025E ; PORTF ^= 0x02;
025E 82E0 ldi R24,2
0260 20906200 lds R2,98
0264 2826 eor R2,R24
0266 20926200 sts 98,R2
026A .dbline 290
026A ; // PORTF ^= 0x00;
026A ; break;
026A 0DC0 xjmp L28
026C L32:
026C .dbline 293
026C ;
026C ; case 3:
026C ; PORTF ^= 0x04;
026C 84E0 ldi R24,4
026E 20906200 lds R2,98
0272 2826 eor R2,R24
0274 20926200 sts 98,R2
0278 .dbline 294
0278 ; break;
0278 06C0 xjmp L28
027A L33:
027A .dbline 297
027A ;
027A ; case 4:
027A ; PORTF ^= 0x08;
027A 88E0 ldi R24,8
027C 20906200 lds R2,98
0280 2826 eor R2,R24
0282 20926200 sts 98,R2
0286 .dbline 298
0286 ; break;
0286 L27:
0286 L28:
0286 .dbline 300
0286 ; }
0286 ; OS_EXIT_CRITICAL();
0286 042F mov R16,R20
0288 0E940000 xcall _OS_CPU_SR_Restore
028C .dbline -2
028C .dbline 301
028C ; }
028C L26:
028C 0E940000 xcall pop_gset2
0290 .dbline 0 ; func end
0290 0895 ret
0292 .dbsym r cpu_sr 20 c
0292 .dbsym r led 22 c
0292 .dbend
.area bss(ram, con, rel)
0000 .dbfile C:\UCOS-II_AVR_ICC\RTOSIC~1\source\User.c
0000 _AppTask4Stk::
0000 .blkb 256
0100 .dbsym e AppTask4Stk _AppTask4Stk A[256:256]c
0100 _AppTask3Stk::
0100 .blkb 256
0200 .dbsym e AppTask3Stk _AppTask3Stk A[256:256]c
0200 _AppTask2Stk::
0200 .blkb 256
0300 .dbsym e AppTask2Stk _AppTask2Stk A[256:256]c
0300 _AppTask1Stk::
0300 .blkb 256
0400 .dbsym e AppTask1Stk _AppTask1Stk A[256:256]c
0400 _AppTaskStartStk::
0400 .blkb 256
0500 .dbsym e AppTaskStartStk _AppTaskStartStk A[256:256]c
.area func_lit
0000 EC00 PL_AppTask4: .word `_AppTask4
0002 DE00 PL_AppTask3: .word `_AppTask3
0004 D000 PL_AppTask2: .word `_AppTask2
0006 C200 PL_AppTask1: .word `_AppTask1
0008 3200 PL_AppTaskStart: .word `_AppTaskStart
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -