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

📄 pjhost.lst

📁 AVR megal128下的ucos_ii
💻 LST
📖 第 1 页 / 共 5 页
字号:
(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 + -