📄 pjhost.lst
字号:
(0005) //----------------------------------------------------------------------------//
(0006) OS_STK AppTask1Stk[OS_TASK_1_STK_SIZE]; //#define OS_TASK_STK_SIZE 256
(0007)
(0008)
(0009)
(0010) void Bee_Open(void);
(0011) void Bee_Close(void);
(0012)
(0013) /*
(0014) *****************************************************************************
(0015) * 函数介绍: 任务一初始化
(0016) * 输入参数:
(0017) * 输出参数:--
(0018) * 返 回 值:--
(0019) * 说 明:--
(0020) ******************************************************************************
(0021) */
(0022) void Init_AppTask1(void)
(0023) {
(0024) OSTaskStkSize = OS_TASK_1_STK_SIZE; // Setup the default stack size
02C4 E080 LDI R24,0
02C5 E091 LDI R25,1
02C6 939009D5 STS OSTaskStkSize+1,R25
02C8 938009D4 STS OSTaskStkSize,R24
(0025) OSTaskHardStkSize = OS_TASK_1_HARD_STK_SIZE; //Setup the default hardware stack size
02CA E480 LDI R24,0x40
02CB E090 LDI R25,0
02CC 939009D3 STS OSTaskHardStkSize+1,R25
02CE 938009D2 STS OSTaskHardStkSize,R24
(0026) OSTaskCreate(AppTask1, (void *)0, (OS_STK *)&AppTask1Stk[OSTaskStkSize - 1], 5);
02D0 E085 LDI R24,5
02D1 838A STD Y+2,R24
02D2 E083 LDI R24,3
02D3 E092 LDI R25,2
02D4 91E009D4 LDS R30,OSTaskStkSize
02D6 91F009D5 LDS R31,OSTaskStkSize+1
02D8 9731 SBIW R30,1
02D9 0FE8 ADD R30,R24
02DA 1FF9 ADC R31,R25
02DB 83F9 STD Y+1,R31
02DC 83E8 STD Y+0,R30
02DD 2722 CLR R18
02DE 2733 CLR R19
02DF E80C LDI R16,0x8C
02E0 E010 LDI R17,0
02E1 940E0FB7 CALL _OSTaskCreate
02E3 9623 ADIW R28,3
02E4 9508 RET
_AppTask1:
p_arg --> R20
02E5 940E134D CALL push_gset1
02E7 01A8 MOVW R20,R16
(0027) }
(0028)
(0029)
(0030) /*
(0031) *****************************************************************************
(0032) * 函数介绍: 任务一
(0033) * 输入参数:
(0034) * 输出参数:--
(0035) * 返 回 值:--
(0036) * 说 明:--
(0037) ******************************************************************************
(0038) */
(0039)
(0040)
(0041) void AppTask1(void *p_arg)
(0042) {
(0043) static INT16U num=0;
(0044) static INT8U BeeSign=0;
(0045) p_arg = p_arg;
(0046) DDRG|=(1<<PG4);
02E8 91800064 LDS R24,0x64
02EA 6180 ORI R24,0x10
02EB 93800064 STS 0x64,R24
02ED C02F RJMP 0x031D
(0047)
(0048) while (TRUE)
(0049) {
(0050) num++;
02EE 91800100 LDS R24,num
02F0 91900101 LDS R25,num+1
02F2 9601 ADIW R24,1
02F3 93900101 STS num+1,R25
02F5 93800100 STS num,R24
(0051) if(num==10)
02F7 308A CPI R24,0xA
02F8 E0E0 LDI R30,0
02F9 079E CPC R25,R30
02FA F4E9 BNE 0x0318
(0052) {
(0053) if(BeeSign)
02FB 90200102 LDS R2,BeeSign
02FD 2022 TST R2
02FE F051 BEQ 0x0309
(0054) {
(0055) Bee_Close();
02FF D025 RCALL _Bee_Close
(0056) BeeSign=0;
0300 2422 CLR R2
0301 92200102 STS BeeSign,R2
(0057) PORTG|=(1<<PG4);
0303 91800065 LDS R24,0x65
0305 6180 ORI R24,0x10
0306 93800065 STS 0x65,R24
(0058) }
0308 C009 RJMP 0x0312
(0059) else
(0060) {
(0061) Bee_Open();
0309 D017 RCALL _Bee_Open
(0062) BeeSign=1;
030A E081 LDI R24,1
030B 93800102 STS BeeSign,R24
(0063) PORTG&=~(1<<PG4);
030D 91800065 LDS R24,0x65
030F 7E8F ANDI R24,0xEF
0310 93800065 STS 0x65,R24
(0064) }
(0065) num=0;
0312 2422 CLR R2
0313 2433 CLR R3
0314 92300101 STS num+1,R3
0316 92200100 STS num,R2
(0066) }
(0067)
(0068) OSTimeDly(OS_TICKS_PER_SEC/100);
0318 E001 LDI R16,1
0319 E010 LDI R17,0
031A 940E102F CALL _OSTimeDly
(0069) WDR();
031C 95A8 WDR
031D CFD0 RJMP 0x02EE
031E 940E1350 CALL pop_gset1
0320 9508 RET
(0070) }
(0071) }
(0072)
(0073)
(0074)
(0075) void Bee_Open(void)
(0076) {
(0077) TCCR1B|=0x0B; //1024分频,CTC模式开启
_Bee_Open:
0321 B58E IN R24,0x2E
0322 608B ORI R24,0xB
0323 BD8E OUT 0x2E,R24
0324 9508 RET
(0078) }
(0079)
(0080) void Bee_Close(void)
(0081) {
(0082) TCCR1B=0x00; //1024分频,CTC模式开启//关
_Bee_Close:
0325 2422 CLR R2
0326 BC2E OUT 0x2E,R2
0327 9508 RET
_Init_AppTask2:
0328 9723 SBIW R28,3
FILE: D:\编写软件小系统\纯ucos\source\AppTask2.c
(0001) #include "..\include\includes.h"
(0002) #include "..\include\Publics.H"
(0003)
(0004) OS_STK AppTask2Stk[OS_TASK_2_STK_SIZE];
(0005)
(0006) /*
(0007) *****************************************************************************
(0008) * 函数介绍: 系统处理管理任务初始化
(0009) * 输入参数:
(0010) * 输出参数:--
(0011) * 返 回 值:--
(0012) * 说 明:--
(0013) ******************************************************************************
(0014) */
(0015) void Init_AppTask2(void)
(0016) {
(0017) OSTaskStkSize = OS_TASK_2_STK_SIZE; // Setup the default stack size
0329 E080 LDI R24,0
032A E091 LDI R25,1
032B 939009D5 STS OSTaskStkSize+1,R25
032D 938009D4 STS OSTaskStkSize,R24
(0018) OSTaskHardStkSize = OS_TASK_2_HARD_STK_SIZE; // Setup the default hardware stack size
032F E480 LDI R24,0x40
0330 E090 LDI R25,0
0331 939009D3 STS OSTaskHardStkSize+1,R25
0333 938009D2 STS OSTaskHardStkSize,R24
(0019) OSTaskCreate(AppTask2, (void *)0, (OS_STK *)&AppTask2Stk[OSTaskStkSize-1],6);
0335 E086 LDI R24,6
0336 838A STD Y+2,R24
0337 E083 LDI R24,3
0338 E093 LDI R25,3
0339 91E009D4 LDS R30,OSTaskStkSize
033B 91F009D5 LDS R31,OSTaskStkSize+1
033D 9731 SBIW R30,1
033E 0FE8 ADD R30,R24
033F 1FF9 ADC R31,R25
0340 83F9 STD Y+1,R31
0341 83E8 STD Y+0,R30
0342 2722 CLR R18
0343 2733 CLR R19
0344 E80E LDI R16,0x8E
0345 E010 LDI R17,0
0346 940E0FB7 CALL _OSTaskCreate
0348 9623 ADIW R28,3
0349 9508 RET
_AppTask2:
p_arg --> R20
034A 940E134D CALL push_gset1
034C 01A8 MOVW R20,R16
(0020) }
(0021) /*
(0022) *****************************************************************************
(0023) * 函数介绍: 系统处理
(0024) * 输入参数:
(0025) * 输出参数:--
(0026) * 返 回 值:--
(0027) * 说 明:--
(0028) ******************************************************************************
(0029) */
(0030) void AppTask2(void *p_arg)
(0031) {
(0032) p_arg = p_arg;
034D C005 RJMP 0x0353
(0033) while(true)
(0034) {
(0035) OSTimeDly(OS_TICKS_PER_SEC/100);
034E E001 LDI R16,1
034F E010 LDI R17,0
0350 940E102F CALL _OSTimeDly
(0036) WDR();
0352 95A8 WDR
0353 CFFA RJMP 0x034E
0354 940E1350 CALL pop_gset1
0356 9508 RET
_Init_AppTask6:
0357 9723 SBIW R28,3
FILE: D:\编写软件小系统\纯ucos\source\AppTask6.c
(0001) #include "includes.h"
(0002) #include "Publics.H"
(0003)
(0004) OS_STK AppTask6Stk[OS_TASK_6_STK_SIZE]; // #define OS_TASK_STK_SIZE 256
(0005)
(0006) /*
(0007) *****************************************************************************
(0008) * 函数介绍: 任务六初始化
(0009) * 输入参数:
(0010) * 输出参数:--
(0011) * 返 回 值:--
(0012) * 说 明:--
(0013) ******************************************************************************
(0014) */
(0015) void Init_AppTask6(void) //void AppTask6(void *p_arg)
(0016) {
(0017) OSTaskStkSize = OS_TASK_6_STK_SIZE; // Setup the default stack size
0358 E080 LDI R24,0
0359 E091 LDI R25,1
035A 939009D5 STS OSTaskStkSize+1,R25
035C 938009D4 STS OSTaskStkSize,R24
(0018) OSTaskHardStkSize = OS_TASK_6_HARD_STK_SIZE; // Setup the default hardware stack size
035E E480 LDI R24,0x40
035F E090 LDI R25,0
0360 939009D3 STS OSTaskHardStkSize+1,R25
0362 938009D2 STS OSTaskHardStkSize,R24
(0019) OSTaskCreate(AppTask6, (void *)0, (OS_STK *)&AppTask6Stk[OSTaskStkSize - 1], 7);
0364 E087 LDI R24,7
0365 838A STD Y+2,R24
0366 E083 LDI R24,3
0367 E094 LDI R25,4
0368 91E009D4 LDS R30,OSTaskStkSize
036A 91F009D5 LDS R31,OSTaskStkSize+1
036C 9731 SBIW R30,1
036D 0FE8 ADD R30,R24
036E 1FF9 ADC R31,R25
036F 83F9 STD Y+1,R31
0370 83E8 STD Y+0,R30
0371 2722 CLR R18
0372 2733 CLR R19
0373 E900 LDI R16,0x90
0374 E010 LDI R17,0
0375 940E0FB7 CALL _OSTaskCreate
0377 9623 ADIW R28,3
0378 9508 RET
_AppTask6:
p_arg --> R20
0379 940E134D CALL push_gset1
037B 01A8 MOVW R20,R16
(0020) }
(0021)
(0022) /*
(0023) *****************************************************************************
(0024) * 函数介绍: 任务六
(0025) * 输入参数:
(0026) * 输出参数:--
(0027) * 返 回 值:--
(0028) * 说 明:--
(0029) ******************************************************************************
(0030) */
(0031)
(0032) void AppTask6(void *p_arg)
(0033) {
(0034) p_arg = p_arg;
037C C005 RJMP 0x0382
(0035) while (TRUE) //死循环
(0036) {
(0037) OSTimeDly(OS_TICKS_PER_SEC/100);
037D E001 LDI R16,1
037E E010 LDI R17,0
037F 940E102F CALL _OSTimeDly
(0038) WDR();
0381 95A8 WDR
0382 CFFA RJMP 0x037D
0383 940E1350 CALL pop_gset1
0385 9508 RET
_Init_AppTask8:
0386 9723 SBIW R28,3
FILE: D:\编写软件小系统\纯ucos\source\AppTask8.c
(0001)
(0002) #include "..\include\includes.h"
(0003) #include "..\include\EEP_Flash.H"
(0004) #include "..\include\Publics.H"
(0005)
(0006) OS_STK AppTask8Stk[OS_TASK_8_STK_SIZE]; //8任务的堆栈
(0007)
(0008) /*
(0009) *****************************************************************************
(0010) * 函数介绍:任务初始化
(0011) * 输入参数:
(0012) * 输出参数:--
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -