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

📄 app.s

📁 基于mega128的ucos参考源码
💻 S
📖 第 1 页 / 共 2 页
字号:
	ret
	.dbend
	.dbfunc s AppTask1 _AppTask1 fV
;          p_arg -> R20,R21
	.even
_AppTask1:
	xcall push_gset1
	movw R20,R16
	.dbline -1
	.dbline 157
; }
; 
; /*
; *********************************************************************************************************
; *                                              TASK #1
; *********************************************************************************************************
; */
; 
; static void  AppTask1(void *p_arg)
; {
	.dbline 158
;     p_arg = p_arg;
	xjmp L9
L8:
	.dbline 159
	.dbline 160
	ldi R16,2
	xcall _LED_Toggle
	.dbline 161
	ldi R16,10
	ldi R17,0
	xcall _OSTimeDly
	.dbline 162
L9:
	.dbline 159
	xjmp L8
X1:
	.dbline -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 172
;     while (TRUE) {
;         LED_Toggle(2);
;         OSTimeDly(OS_TICKS_PER_SEC / 5);
;     }
; }
; 
; /*
; *********************************************************************************************************
; *                                              TASK #2
; *********************************************************************************************************
; */
; 
; static void  AppTask2(void *p_arg)
; {
	.dbline 173
;     p_arg = p_arg;
	xjmp L13
L12:
	.dbline 174
	.dbline 175
	ldi R16,3
	xcall _LED_Toggle
	.dbline 176
	ldi R16,25
	ldi R17,0
	xcall _OSTimeDly
	.dbline 177
L13:
	.dbline 174
	xjmp L12
X2:
	.dbline -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 187
;     while (TRUE) {
;         LED_Toggle(3);
;         OSTimeDly(OS_TICKS_PER_SEC / 2);
;     }
; }
; 
; /*
; *********************************************************************************************************
; *                                            SETUP THE I/Os
; *********************************************************************************************************
; */
; 
; static void AppIOInit (void)
; {
	.dbline 188
;     DDRD        = 0xFF;                                 /* All PORTD pins are outputs                  */
	ldi R24,255
	out 0x11,R24
	.dbline 189
;     PORTD       = 0xFF;
	out 0x12,R24
	.dbline -2
L15:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e OSTickISR_Init _OSTickISR_Init fV
	.even
_OSTickISR_Init::
	.dbline -1
	.dbline 199
; }
; 
; /*
; *********************************************************************************************************
; *                                        SETUP THE TICK RATE
; *********************************************************************************************************
; */
; 
; void  OSTickISR_Init (void)
; {
	.dbline 200
;     TCCR0 = 0x07;                                       /* Set TIMER0 prescaler to CLK/1024            */
	ldi R24,7
	out 0x33,R24
	.dbline 201
;     TIMSK = 0x01;                                       /* Enable TIMER0 overflow interrupt            */
	ldi R24,1
	out 0x37,R24
	.dbline -2
L16:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e OSTickISR_Handler _OSTickISR_Handler fV
	.even
_OSTickISR_Handler::
	.dbline -1
	.dbline 212
; }
; 
; 
; /*
; *********************************************************************************************************
; *                                        SETUP THE TICK RATE
; *********************************************************************************************************
; */
; 
; void  OSTickISR_Handler (void)
; {
	.dbline 213
;     TCNT0 = 256 - (CPU_CLK_FREQ / OS_TICKS_PER_SEC / 1024);
	ldi R24,185
	out 0x32,R24
	.dbline 214
;     OSTimeTick();
	xcall _OSTimeTick
	.dbline -2
L17:
	.dbline 0 ; func end
	ret
	.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 224
; }
; 
; /*
; *********************************************************************************************************
; *                                          TOGGLE LED
; *********************************************************************************************************
; */
; 
; static  void  LED_Toggle (INT8U led)
; {
	.dbline 230
; #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 231
	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 231
;     switch (led) {
L22:
	.dbline 233
;         case 1:
;              PORTD ^= 0x01;
	ldi R24,1
	in R2,0x12
	eor R2,R24
	out 0x12,R2
	.dbline 234
;              break;
	xjmp L20
L23:
	.dbline 237
; 
;         case 2:
;              PORTD ^= 0x02;
	ldi R24,2
	in R2,0x12
	eor R2,R24
	out 0x12,R2
	.dbline 238
;              break;
	xjmp L20
L24:
	.dbline 241
; 
;         case 3:
;              PORTD ^= 0x04;
	ldi R24,4
	in R2,0x12
	eor R2,R24
	out 0x12,R2
	.dbline 242
;              break;
	xjmp L20
L25:
	.dbline 245
; 
;         case 4:
;              PORTD ^= 0x08;
	ldi R24,8
	in R2,0x12
	eor R2,R24
	out 0x12,R2
	.dbline 246
;              break;
L19:
L20:
	.dbline 248
;     }
;     OS_EXIT_CRITICAL();
	mov R16,R20
	xcall _OS_CPU_SR_Restore
	.dbline -2
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:\DOCUME~1\Administrator\MYDOCU~1\doc_ucosii_data_m128_iccavr_by_zhifeng\app.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_AppTask2:	.word `_AppTask2
PL_AppTask1:	.word `_AppTask1
PL_AppTaskStart:	.word `_AppTaskStart

⌨️ 快捷键说明

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