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

📄 user.s

📁 atmel128L
💻 S
📖 第 1 页 / 共 2 页
字号:
	.dbline 160
	.dbline 161
	ldi R16,2
	xcall _LED_Toggle
	.dbline 162
	ldi R16,10
	ldi R17,0
	xcall _OSTimeDly
	.dbline 163
L9:
	.dbline 160
	xjmp L8
X1:
	.dbline -2
	.dbline 164
;     while (TRUE) {
;         LED_Toggle(2);
;         OSTimeDly(OS_TICKS_PER_SEC / 5);
;     }
; }
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 173
; 
; /*
; *********************************************************************************************************
; *                                              TASK #2
; *********************************************************************************************************
; */
; 
; static void  AppTask2(void *p_arg)
; {
	.dbline 174
;     p_arg = p_arg;
	xjmp L13
L12:
	.dbline 175
	.dbline 176
	ldi R16,3
	xcall _LED_Toggle
	.dbline 177
	ldi R16,25
	ldi R17,0
	xcall _OSTimeDly
	.dbline 178
L13:
	.dbline 175
	xjmp L12
X2:
	.dbline -2
	.dbline 179
;     while (TRUE) {
;         LED_Toggle(3);
;         OSTimeDly(OS_TICKS_PER_SEC / 2);
;     }
; }
L11:
	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 188
; 
; /*
; *********************************************************************************************************
; *                                            SETUP THE I/Os
; *********************************************************************************************************
; */
; 
; static void AppIOInit (void)
; {
	.dbline 189
;     DDRA        = 0xFF;                                 /* All PORTD pins are outputs                  */
	ldi R24,255
	out 0x1a,R24
	.dbline 190
;     PORTA       = 0x00;
	clr R2
	out 0x1b,R2
	.dbline 191
;     DDRB        = 0xFF;                                 /* All PORTD pins are outputs                  */
	out 0x17,R24
	.dbline 192
;     PORTB       = 0x07;
	ldi R24,7
	out 0x18,R24
	.dbline 193
;     DDRC        = 0xFF;                                 /* All PORTD pins are outputs                  */
	ldi R24,255
	out 0x14,R24
	.dbline 194
;     PORTC       = 0x00;
	out 0x15,R2
	.dbline 195
;     DDRD        = 0xFb;                                 /* All PORTD pins are outputs                  */
	ldi R24,251
	out 0x11,R24
	.dbline 196
;     PORTD       = 0x0d;
	ldi R24,13
	out 0x12,R24
	.dbline 197
;     DDRE        = 0xFa;                                 /* All PORTD pins are outputs                  */
	ldi R24,250
	out 0x2,R24
	.dbline 198
;     PORTE       = 0x77;
	ldi R24,119
	out 0x3,R24
	.dbline 199
;     DDRF        = 0xFF;                                 /* All PORTD pins are outputs                  */
	ldi R24,255
	sts 97,R24
	.dbline 200
;     PORTF       = 0x0f;
	ldi R24,15
	sts 98,R24
	.dbline 201
;     DDRG        = 0xFF;                                 /* All PORTD pins are outputs                  */
	ldi R24,255
	sts 100,R24
	.dbline 202
;     PORTG       = 0xFF;
	sts 101,R24
	.dbline -2
	.dbline 203
; }
L15:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e OSTickISR_Init _OSTickISR_Init fV
	.even
_OSTickISR_Init::
	.dbline -1
	.dbline 212
; 
; /*
; *********************************************************************************************************
; *                                        SETUP THE TICK RATE
; *********************************************************************************************************
; */
; 
; void  OSTickISR_Init (void)
; {
	.dbline 213
;     TCCR0 = 0x07;                                       /* Set TIMER0 prescaler to CLK/1024            */
	ldi R24,7
	out 0x33,R24
	.dbline 214
;     TIMSK = 0x01;                                       /* Enable TIMER0 overflow interrupt            */
	ldi R24,1
	out 0x37,R24
	.dbline 215
; 	OCR0  = 0x48;                                       /* Enable TIMER0 overflow interrupt            */
	ldi R24,72
	out 0x31,R24
	.dbline -2
	.dbline 216
; }
L16:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e OSTickISR_Handler _OSTickISR_Handler fV
	.even
_OSTickISR_Handler::
	.dbline -1
	.dbline 226
; 
; 
; /*
; *********************************************************************************************************
; *                                        SETUP THE TICK RATE
; *********************************************************************************************************
; */
; 
; void  OSTickISR_Handler (void)
; {
	.dbline 227
;     TCNT0 = 256 - (CPU_CLK_FREQ / OS_TICKS_PER_SEC / 1024);
	ldi R24,112
	out 0x32,R24
	.dbline 228
;     OSTimeTick();
	.dbline -2
	.dbline 229
; }
L17:
	.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 238
; 
; /*
; *********************************************************************************************************
; *                                          TOGGLE LED
; *********************************************************************************************************
; */
; 
; static  void  LED_Toggle (INT8U led)
; {
	.dbline 244
; #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 245
	clr R23
	cpi R22,1
	ldi R30,0
	cpc R23,R30
	breq L22
	cpi R22,2
	ldi R30,0
	cpc R23,R30
	breq L23
	cpi R22,3
	ldi R30,0
	cpc R23,R30
	breq L24
	cpi R22,4
	ldi R30,0
	cpc R23,R30
	breq L25
	xjmp L19
X3:
	.dbline 245
;     switch (led) {
L22:
	.dbline 247
;         case 1:
;              PORTF ^= 0x00;
	lds R2,98
	sts 98,R2
	.dbline 248
;              break;
	xjmp L20
L23:
	.dbline 251
; 
;         case 2:
;              PORTF ^= 0x00;
	lds R2,98
	sts 98,R2
	.dbline 252
;              break;
	xjmp L20
L24:
	.dbline 255
; 
;         case 3:
;              PORTF ^= 0x00;
	lds R2,98
	sts 98,R2
	.dbline 256
;              break;
	xjmp L20
L25:
	.dbline 259
; 
;         case 4:
;              PORTF ^= 0x00;
	lds R2,98
	sts 98,R2
	.dbline 260
;              break;
L19:
L20:
	.dbline 262
;     }
;     OS_EXIT_CRITICAL();
	mov R16,R20
	xcall _OS_CPU_SR_Restore
	.dbline -2
	.dbline 263
; }
L18:
	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
_yyhcnt01:
	.blkb 2
	.dbsym s yyhcnt01 _yyhcnt01 i
_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_AppTask2:	.word `_AppTask2
PL_AppTask1:	.word `_AppTask1
PL_AppTaskStart:	.word `_AppTaskStart

⌨️ 快捷键说明

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