⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user.s

📁 atmel128L
💻 S
📖 第 1 页 / 共 2 页
字号:
L8:
	.dbline 177
	.dbline 178
	ldi R16,2
	xcall _LED_Toggle
	.dbline 179
	ldi R16,25
	ldi R17,0
	xcall _OSTimeDly
	.dbline 180
L9:
	.dbline 177
	xjmp L8
X1:
	.dbline -2
	.dbline 181
;     while (TRUE) {
;         LED_Toggle(2);
;         OSTimeDly(OS_TICKS_PER_SEC / 2);
;     }
; }
L7:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r p_arg 20 pV
	.dbend
	.dbfunc s AppTask2 _AppTask2 fV
;          p_arg -> R20,R21
	.even
_AppTask2:
	xcall push_gset1
	movw R20,R16
	.dbline -1
	.dbline 190
; 
; /*
; *********************************************************************************************************
; *                                              TASK #2
; *********************************************************************************************************
; */
; 
; static void  AppTask2(void *p_arg)
; {
	.dbline 191
;     p_arg = p_arg;
	xjmp L13
L12:
	.dbline 192
	.dbline 193
	ldi R16,3
	xcall _LED_Toggle
	.dbline 194
	ldi R16,12
	ldi R17,0
	xcall _OSTimeDly
	.dbline 195
L13:
	.dbline 192
	xjmp L12
X2:
	.dbline -2
	.dbline 196
;     while (TRUE) {
;         LED_Toggle(3);
;         OSTimeDly(OS_TICKS_PER_SEC / 4);
;     }
; }
L11:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r p_arg 20 pV
	.dbend
	.dbfunc s AppTask3 _AppTask3 fV
;          p_arg -> R20,R21
	.even
_AppTask3:
	xcall push_gset1
	movw R20,R16
	.dbline -1
	.dbline 205
; 
; /*
; *********************************************************************************************************
; *                                              TASK #3
; *********************************************************************************************************
; */
; 
; static void  AppTask3(void *p_arg)
; {
	.dbline 206
;     p_arg = p_arg;
	xjmp L17
L16:
	.dbline 207
	.dbline 208
	ldi R16,4
	xcall _LED_Toggle
	.dbline 209
	ldi R16,6
	ldi R17,0
	xcall _OSTimeDly
	.dbline 210
L17:
	.dbline 207
	xjmp L16
X3:
	.dbline -2
	.dbline 211
;     while (TRUE) {
;         LED_Toggle(4);
;         OSTimeDly(OS_TICKS_PER_SEC / 8);
;     }
; }
L15:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r p_arg 20 pV
	.dbend
	.dbfunc s AppTask4 _AppTask4 fV
;          p_arg -> R20,R21
	.even
_AppTask4:
	xcall push_gset1
	movw R20,R16
	.dbline -1
	.dbline 220
; 
; /*
; *********************************************************************************************************
; *                                              TASK #4(FEEDDOG)
; *********************************************************************************************************
; */
; 
; static void  AppTask4(void *p_arg)
; {
	.dbline 221
;     p_arg = p_arg;
	xjmp L21
L20:
	.dbline 222
	.dbline 223
	ldi R24,128
	ldi R25,0
	in R2,0x18
	clr R3
	eor R2,R24
	eor R3,R25
	out 0x18,R2
	.dbline 224
	ldi R16,1
	ldi R17,0
	xcall _OSTimeDly
	.dbline 225
L21:
	.dbline 222
	xjmp L20
X4:
	.dbline -2
	.dbline 226
;     while (TRUE) {
;         PORTB ^= 0x80;
;         OSTimeDly(OS_TICKS_PER_SEC / 40);
;     }
; }
L19:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r p_arg 20 pV
	.dbend
	.dbfunc s AppIOInit _AppIOInit fV
	.even
_AppIOInit:
	.dbline -1
	.dbline 235
; 
; /*
; *********************************************************************************************************
; *                                            SETUP THE I/Os
; *********************************************************************************************************
; */
; 
; static void AppIOInit (void)
; {
	.dbline 236
;     DDRF        = 0xFF;                                 /* All PORTD pins are outputs                  */
	ldi R24,255
	sts 97,R24
	.dbline 237
;     PORTF       = 0xFF;
	sts 98,R24
	.dbline 238
;     DDRB        = 0xFF;                                 /* All PORTD pins are outputs                  */
	out 0x17,R24
	.dbline 239
;     PORTB       = 0xFF;
	out 0x18,R24
	.dbline -2
	.dbline 240
; }
L23:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e OSTickISR_Init _OSTickISR_Init fV
	.even
_OSTickISR_Init::
	.dbline -1
	.dbline 249
; 
; /*
; *********************************************************************************************************
; *                                        SETUP THE TICK RATE
; *********************************************************************************************************
; */
; 
; void  OSTickISR_Init (void)
; {
	.dbline 250
;     TCCR0 = 0x07;                                       /* Set TIMER0 prescaler to CLK/1024            */
	ldi R24,7
	out 0x33,R24
	.dbline 251
;     TIMSK = 0x01;                                       /* Enable TIMER0 overflow interrupt            */
	ldi R24,1
	out 0x37,R24
	.dbline -2
	.dbline 252
; }
L24:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e OSTickISR_Handler _OSTickISR_Handler fV
	.even
_OSTickISR_Handler::
	.dbline -1
	.dbline 262
; 
; 
; /*
; *********************************************************************************************************
; *                                        SETUP THE TICK RATE
; *********************************************************************************************************
; */
; 
; void  OSTickISR_Handler (void)
; {
	.dbline 263
;     TCNT0 = 256 - (CPU_CLK_FREQ / OS_TICKS_PER_SEC / 1024);
	ldi R24,112
	out 0x32,R24
	.dbline 264
;     OSTimeTick();
	.dbline -2
	.dbline 265
; }
L25:
	.dbline 0 ; func end
	xjmp _OSTimeTick
	.dbend
	.dbfunc s LED_Toggle _LED_Toggle fV
;         cpu_sr -> R20
;            led -> R22
	.even
_LED_Toggle:
	xcall push_gset2
	mov R22,R16
	.dbline -1
	.dbline 274
; 
; /*
; *********************************************************************************************************
; *                                          TOGGLE LED
; *********************************************************************************************************
; */
; 
; static  void  LED_Toggle (INT8U led)
; {
	.dbline 280
; #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
;     OS_CPU_SR  cpu_sr;
; #endif
; 
; 
;     OS_ENTER_CRITICAL();
	xcall _OS_CPU_SR_Save
	mov R20,R16
	.dbline 281
	clr R23
	cpi R22,1
	ldi R30,0
	cpc R23,R30
	breq L30
	cpi R22,2
	ldi R30,0
	cpc R23,R30
	breq L31
	cpi R22,3
	ldi R30,0
	cpc R23,R30
	breq L32
	cpi R22,4
	ldi R30,0
	cpc R23,R30
	breq L33
	xjmp L27
X5:
	.dbline 281
;     switch (led) {
L30:
	.dbline 283
;         case 1:
;              PORTF ^= 0x01;
	ldi R24,1
	lds R2,98
	eor R2,R24
	sts 98,R2
	.dbline 285
; //			 PORTF ^= 0x80;
;              break;
	xjmp L28
L31:
	.dbline 288
; 
;         case 2:
;              PORTF ^= 0x02;
	ldi R24,2
	lds R2,98
	eor R2,R24
	sts 98,R2
	.dbline 290
; //			 PORTF ^= 0x00;
;              break;
	xjmp L28
L32:
	.dbline 293
; 
;         case 3:
;              PORTF ^= 0x04;
	ldi R24,4
	lds R2,98
	eor R2,R24
	sts 98,R2
	.dbline 294
;              break;
	xjmp L28
L33:
	.dbline 297
; 
;         case 4:
;              PORTF ^= 0x08;
	ldi R24,8
	lds R2,98
	eor R2,R24
	sts 98,R2
	.dbline 298
;              break;
L27:
L28:
	.dbline 300
;     }
;     OS_EXIT_CRITICAL();
	mov R16,R20
	xcall _OS_CPU_SR_Restore
	.dbline -2
	.dbline 301
; }
L26:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r cpu_sr 20 c
	.dbsym r led 22 c
	.dbend
	.area bss(ram, con, rel)
	.dbfile C:\UCOS-II_AVR_ICC\RTOSIC~1\source\User.c
_AppTask4Stk::
	.blkb 256
	.dbsym e AppTask4Stk _AppTask4Stk A[256:256]c
_AppTask3Stk::
	.blkb 256
	.dbsym e AppTask3Stk _AppTask3Stk A[256:256]c
_AppTask2Stk::
	.blkb 256
	.dbsym e AppTask2Stk _AppTask2Stk A[256:256]c
_AppTask1Stk::
	.blkb 256
	.dbsym e AppTask1Stk _AppTask1Stk A[256:256]c
_AppTaskStartStk::
	.blkb 256
	.dbsym e AppTaskStartStk _AppTaskStartStk A[256:256]c
	.area func_lit
PL_AppTask4:	.word `_AppTask4
PL_AppTask3:	.word `_AppTask3
PL_AppTask2:	.word `_AppTask2
PL_AppTask1:	.word `_AppTask1
PL_AppTaskStart:	.word `_AppTaskStart

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -