📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 05/09/2008 17:57:18 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil808\C51\BIN\C51.EXE main.c ROM(COMPACT) DEBUG OBJECTEXTEND
line level source
1
2 #include <AT89X52.H>
3
4 #include "os_core.h"
5 #include "main.h"
6 #include "task_switch.h"
7 #include "sem.h"
8 #include "uart.h"
9 #include "q.h"
10
11 //任务0
12 void task_0(void)
13 {
14 1 static uint8 i ;
15 1 OSSemCreat(0,0);
16 1 while(1)
17 1 {
18 2 i++;
19 2 P0=0x01<<(i%8);
20 2 OSTaskSemPend(0,0);
21 2 }
22 1 }
23
24 //任务1
25 void task_1(void)
26 {
27 1 static uint8 i,err ; static void * msg;
28 1 while(1)
29 1 {
30 2 i++;
31 2 P1=0x01<<(i%8);
32 2 OSTaskSemPend(0,100);
33 2 msg=OSTaskWaitMsg(&err,0);
34 2 prints(msg);
35 2 }
36 1 }
37
38 //任务2
39 void task_2(void)
40 {
41 1 static uint8 i ;
42 1
43 1 while(1)
44 1 {
45 2 i++;
46 2 P2=0x01<<(i%8 );
47 2 OSWait(K_TMO,100);
48 2 sendbyte(getbyte());
49 2 prints("I send a sem\n");
50 2 OSSemPost(0);
51 2 }
52 1 }
53 //任务3
54 void task_3(void)
55 {
C51 COMPILER V8.08 MAIN 05/09/2008 17:57:18 PAGE 2
56 1 static uint8 i ;
57 1 while(1)
58 1 {
59 2 i++;
60 2 P3=0x01<<(i%8);
61 2 OSWait(K_TMO,255);
62 2 OSSendMsg("I get the msg\n");
63 2 }
64 1 }
65 //任务IDLE
66 void task_idle(void)
67 {
68 1 OSSched();
69 1 while(1)
70 1 {
71 2 }
72 1 }
73
74
75 ///////////////////////////////////主函数//////////////////////////////////////////////
76 void main(void)
77 {
78 1
79 1 OS_Init(); //OS初始化
80 1
81 1 uart_init();
82 1
83 1 OS_Task_Create(0,0,(uint16)(&task_0),OS_TCB[0].Task_SP); //创建任务0
84 1
85 1 OS_Task_Create(0,1,(uint16)(&task_1),OS_TCB[1].Task_SP); //创建任务1
86 1
87 1 OS_Task_Create(1,2,(uint16)(&task_2),OS_TCB[2].Task_SP); //创建任务2
88 1
89 1 OS_Task_Create(1,3,(uint16)(&task_3),OS_TCB[3].Task_SP); //创建任务3
90 1
91 1 OS_Task_Create(255,TASK_NUM-1,(uint16)(&task_idle),OS_TCB[TASK_NUM-1].Task_SP); //创建任务idel
92 1
93 1 OS_Start(); //OS启动
94 1
95 1 }
96
97
98
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 271 ----
CONSTANT SIZE = 29 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -