apptask1.s
来自「AVR megal128下的ucos_ii」· S 代码 · 共 270 行
S
270 行
.module AppTask1.c
.area vector(rom, abs)
.org 64
jmp _OSTickISR
.org 72
jmp _uart0_rx_isr
.org 76
jmp _uart0_udre_isr
.org 120
jmp _uart1_rx_isr
.org 124
jmp _uart1_udre_isr
.area text(rom, con, rel)
.dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
.dbfunc e Init_AppTask1 _Init_AppTask1 fV
.even
_Init_AppTask1::
sbiw R28,3
.dbline -1
.dbline 23
;
; #include "..\include\includes.h"
; #include "..\include\Publics.H"
; #include "..\include\menu.h"
; //----------------------------------------------------------------------------//
; OS_STK AppTask1Stk[OS_TASK_1_STK_SIZE]; //#define OS_TASK_STK_SIZE 256
;
;
;
; void Bee_Open(void);
; void Bee_Close(void);
;
; /*
; *****************************************************************************
; * 函数介绍: 任务一初始化
; * 输入参数:
; * 输出参数:--
; * 返 回 值:--
; * 说 明:--
; ******************************************************************************
; */
; void Init_AppTask1(void)
; {
.dbline 24
; OSTaskStkSize = OS_TASK_1_STK_SIZE; // Setup the default stack size
ldi R24,256
ldi R25,1
sts _OSTaskStkSize+1,R25
sts _OSTaskStkSize,R24
.dbline 25
; OSTaskHardStkSize = OS_TASK_1_HARD_STK_SIZE; //Setup the default hardware stack size
ldi R24,64
ldi R25,0
sts _OSTaskHardStkSize+1,R25
sts _OSTaskHardStkSize,R24
.dbline 26
; OSTaskCreate(AppTask1, (void *)0, (OS_STK *)&AppTask1Stk[OSTaskStkSize - 1], 5);
ldi R24,5
std y+2,R24
ldi R24,<_AppTask1Stk
ldi R25,>_AppTask1Stk
lds R30,_OSTaskStkSize
lds R31,_OSTaskStkSize+1
sbiw R30,1
add R30,R24
adc R31,R25
std y+1,R31
std y+0,R30
clr R18
clr R19
ldi R16,<PL_AppTask1
ldi R17,>PL_AppTask1
xcall _OSTaskCreate
.dbline -2
L1:
adiw R28,3
.dbline 0 ; func end
ret
.dbend
.area data(ram, con, rel)
.dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
L3:
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
L4:
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
.area text(rom, con, rel)
.dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
.dbfunc e AppTask1 _AppTask1 fV
.dbsym s BeeSign L4 c
.dbsym s num L3 i
; p_arg -> R20,R21
.even
_AppTask1::
xcall push_gset1
movw R20,R16
.dbline -1
.dbline 42
; }
;
;
; /*
; *****************************************************************************
; * 函数介绍: 任务一
; * 输入参数:
; * 输出参数:--
; * 返 回 值:--
; * 说 明:--
; ******************************************************************************
; */
;
;
; void AppTask1(void *p_arg)
; {
.dbline 45
; static INT16U num=0;
; static INT8U BeeSign=0;
; p_arg = p_arg;
.dbline 46
; DDRG|=(1<<PG4);
lds R24,100
ori R24,16
sts 100,R24
xjmp L6
L5:
.dbline 49
;
; while (TRUE)
; {
.dbline 50
; num++;
lds R24,L3
lds R25,L3+1
adiw R24,1
sts L3+1,R25
sts L3,R24
.dbline 51
; if(num==10)
cpi R24,10
ldi R30,0
cpc R25,R30
brne L8
.dbline 52
; {
.dbline 53
; if(BeeSign)
lds R2,L4
tst R2
breq L10
.dbline 54
; {
.dbline 55
; Bee_Close();
xcall _Bee_Close
.dbline 56
; BeeSign=0;
clr R2
sts L4,R2
.dbline 57
; PORTG|=(1<<PG4);
lds R24,101
ori R24,16
sts 101,R24
.dbline 58
; }
xjmp L11
L10:
.dbline 60
; else
; {
.dbline 61
; Bee_Open();
xcall _Bee_Open
.dbline 62
; BeeSign=1;
ldi R24,1
sts L4,R24
.dbline 63
; PORTG&=~(1<<PG4);
lds R24,101
andi R24,239
sts 101,R24
.dbline 64
; }
L11:
.dbline 65
; num=0;
clr R2
clr R3
sts L3+1,R3
sts L3,R2
.dbline 66
; }
L8:
.dbline 68
ldi R16,1
ldi R17,0
xcall _OSTimeDly
.dbline 69
wdr
.dbline 70
L6:
.dbline 48
xjmp L5
X0:
.dbline -2
L2:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r p_arg 20 pV
.dbend
.dbfunc e Bee_Open _Bee_Open fV
.even
_Bee_Open::
.dbline -1
.dbline 76
;
; OSTimeDly(OS_TICKS_PER_SEC/100);
; WDR();
; }
; }
;
;
;
; void Bee_Open(void)
; {
.dbline 77
; TCCR1B|=0x0B; //1024分频,CTC模式开启
in R24,0x2e
ori R24,11
out 0x2e,R24
.dbline -2
L12:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Bee_Close _Bee_Close fV
.even
_Bee_Close::
.dbline -1
.dbline 81
; }
;
; void Bee_Close(void)
; {
.dbline 82
; TCCR1B=0x00; //1024分频,CTC模式开启//关
clr R2
out 0x2e,R2
.dbline -2
L13:
.dbline 0 ; func end
ret
.dbend
.area bss(ram, con, rel)
.dbfile D:\编写软件小系统\纯ucos\source\AppTask1.c
_AppTask1Stk::
.blkb 256
.dbsym e AppTask1Stk _AppTask1Stk A[256:256]c
.area func_lit
PL_AppTask1: .word `_AppTask1
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?