📄 ex1.lst
字号:
C51 COMPILER V8.08 EX1 03/01/2008 16:39:15 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE EX1
OBJECT MODULE PLACED IN ex1.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE ex1.c LARGE BROWSE INCDIR(F:\software\KEIL\) DEBUG OBJECTEXTE
-ND
line level source
1 #include <includes.h>
2 #include <cygnalcon.h>
3
4
5
6 void TaskA(void*) reentrant;
7 void TaskB(void*) reentrant;
8 void TaskC(void*) reentrant;
9 void TaskD(void*) reentrant;
10
11 OS_STK TaskStartStkA[MaxStkSize];//注意:在ASM文件中设置?STACK空间为40H即64。
12 OS_STK TaskStartStkB[MaxStkSize];
13 OS_STK TaskStartStkC[MaxStkSize];
14 OS_STK TaskStartStkD[MaxStkSize];
15
16 void main(void)
17 {
18 1
19 1 config();
20 1
21 1 OSInit();
22 1
23 1 InitTimer0();
24 1 InitSerial();
25 1 InitSerialBuffer();
26 1
27 1
28 1 OSTaskCreate(TaskA, (void *)0, TaskStartStkA,2);
29 1 OSTaskCreate(TaskB, (void *)0, TaskStartStkB,3);
30 1 OSTaskCreate(TaskC, (void *)0, TaskStartStkC,4);
31 1 OSTaskCreate(TaskD, (void *)0, TaskStartStkD,5);
32 1
33 1
34 1 OSStart();
35 1 }
36
37 void TaskA(void *pdat) reentrant
38 { unsigned char ch;
39 1 pdat=pdat;
40 1
41 1 for(;;){
42 2 if(yygetch(&ch)) //接收字符时,在任务里定义个CH变量,放到yygetch(&ch),就可以通过CH变量读取字符了
43 2 {PrintChar(ch);
44 3 OSTaskDel(2);}
45 2 //P1=~P1;
46 2 //OSTimeDly(OS_TICKS_PER_SEC);
47 2 }
48 1 }
49
50
51
52
53 void TaskB(void *pdat) reentrant
54 {
C51 COMPILER V8.08 EX1 03/01/2008 16:39:15 PAGE 2
55 1 pdat=pdat;
56 1
57 1 for(;;){
58 2
59 2 P1=~P1;
60 2
61 2 OSTimeDlyHMSM(0,0,0,100);
62 2 }
63 1 }
64
65
66
67
68
69 void TaskC(void *pdat) reentrant
70 { INT16U i;
71 1 //while(1)
72 1
73 1 {
74 2
75 2 for (i=0;i<10;i++)
76 2 {
77 3 //PrintStr("\nHello!\nI'm YangYi.\n");
78 3 //PrintWord(i);
79 3 OSTimeDly(2*OS_TICKS_PER_SEC);
80 3 }
81 2 //pdat=pdat;
82 2
83 2 // for(;;){
84 2 // INT8U sz=0;
85 2 // INT8U d[10]={63,6,91,79,102,109,124,7,127,103};
86 2 // for( sz=0;sz<10;sz++)
87 2 // {
88 2 // P3=d[sz];
89 2 }
90 1
91 1 // }
92 1
93 1 // }
94 1 }
*** WARNING C280 IN LINE 69 OF EX1.C: 'pdat': unreferenced local variable
95
96
97
98
99
100
101 void TaskD(void *pdat) reentrant
102 {
103 1
104 1 INT8U sx;
105 1 INT8U e[10]={103,127,7,124,109,102,79,91,6,63};
106 1
107 1 pdat=pdat;
108 1
109 1 for(;;){
110 2
111 2 for( sx=0;sx<10;sx++)
112 2 {
113 3 P2=e[sx];
114 3 OSTimeDly(3*OS_TICKS_PER_SEC);
115 3 }
C51 COMPILER V8.08 EX1 03/01/2008 16:39:15 PAGE 3
116 2
117 2 }
118 1
119 1 }
120
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 604 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = 400 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -