📄 light.lst
字号:
61 }
62
63 void TaskStartyyb(void *yydata) reentrant
64 {
65 yydata=yydata;
66
67 for(;;)
68 {
69 PrintStr("\tBBBBBB333333 is active.\n");
70 OSTimeDly(3*OS_TICKS_PER_SEC);
71 }
72 }
73
74 void TaskStartyyc(void *yydata) reentrant
75 {
76 yydata=yydata;
77
78 for(;;)
79 {
80 PrintStr("\tCCCCCC666666 is active.\n");
81 OSTimeDly(6*OS_TICKS_PER_SEC);
82 }
83 }
84
85
86
87 void TaskStartyy(void *yydata)
88 {
89 INT8U err;
90 unsigned char *msg;
91
92 while(1)
93 {
94
95 msg = OSSemPend(CommQ, 0, &err);
96
97 LED0=1;
98 OSTimeDly(6*OS_TICKS_PER_SEC);
99 LED0=0;
100 OSTimeDly(6*OS_TICKS_PER_SEC);
101
102 }
103 }
104
C51 COMPILER V7.50 LIGHT 03/26/2006 11:41:56 PAGE 17
105 */
106
107 void TaskStartyya(void *yydata)
108 {
109 1 INT8U err;
110 1 int i;
111 1 unsigned char data0,data1,data2;
112 1 yydata =yydata;
113 1 while(1)
114 1 {
115 2 for(i=0;i<4;i++)
116 2 { switch(i)
117 3 {case 0: data0=1;
118 4 data1=1;
119 4 data2=2; break;
120 4
121 4 case 1: data0=2;
122 4 data1=1;
123 4 data2=3; break;
124 4
125 4 case 2: data0=3;
126 4 data1=1;
127 4 data2=4;break;
128 4
129 4 case 3: data0=2;
130 4 data1=0;
131 4 data2=2;break;
132 4 }
133 3 OSTimeDly(80);
134 3 err = OSQPost(CommQ, (unsigned char *)&data0);
135 3 err = OSQPost(CommQ, (unsigned char *)&data1);
136 3 err = OSQPost(CommQ, (unsigned char *)&data2);
137 3
138 3 }
139 2
140 2
141 2 }
142 1 }
143
144 void TaskStartyyb(void *yydata)
145 { INT8U err;
146 1 unsigned char *msg0,*msg1,*msg2, buf0,buf1,buf2;
147 1
148 1 yydata=yydata;
149 1 //msg0 = OSQPend(CommQ, 0, &err);
150 1 while(1)
151 1 {
152 2 msg0 = OSQPend(CommQ, 0, &err);
153 2 buf0 = *msg0;
154 2 msg1 = OSQPend(CommQ, 0, &err);
155 2 buf1= *msg1;
156 2 msg2 = OSQPend(CommQ, 0, &err);
157 2 buf2 = *msg2;
158 2 //PrintStr("Light\n");
159 2 switch(buf0)
160 2 {
161 3 case 1: PrintStr("1\n"); break;
162 3 case 2: PrintStr("2\n"); break;
163 3 case 3: PrintStr("3\n"); break;
164 3 case 4: PrintStr("4\n"); break;
165 3 }
166 2
C51 COMPILER V7.50 LIGHT 03/26/2006 11:41:56 PAGE 18
167 2 switch(buf1)
168 2 {
169 3 case 1: PrintStr("1\n"); break;
170 3 case 2: PrintStr("2\n"); break;
171 3 case 3: PrintStr("3\n"); break;
172 3 case 4: PrintStr("4\n"); break;
173 3 }
174 2 switch(buf2)
175 2 {
176 3 case 1: PrintStr("1\n"); break;
177 3 case 2: PrintStr("2\n"); break;
178 3 case 3: PrintStr("3\n"); break;
179 3 case 4: PrintStr("4\n"); break;
180 3 }
181 2 PrintStr("\n\n\n");
182 2 if((buf2)!=(buf0)+(buf1)) PrintStr("Erro\n");
183 2 else {
184 3 switch(buf0)
185 3 {
186 4 case 1: if(buf1) LED1=0;else LED3=1; PrintStr("LED1\n");break;
187 4 case 2: if(buf1) LED2=0;else LED3=1; PrintStr("LED2\n");break;
188 4 case 3: if(buf1) LED3=0;else LED3=1; PrintStr("LED3\n");break;
189 4 }
190 3 }
191 2
192 2
193 2 }
194 1 }
195
196
C51 COMPILER V7.50 LIGHT 03/26/2006 11:41:56 PAGE 19
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION main (BEGIN)
; SOURCE LINE # 26
; SOURCE LINE # 27
; SOURCE LINE # 28
0000 120000 E LCALL _?OSInit
; SOURCE LINE # 31
0003 120000 E LCALL _?InitTimer0
; SOURCE LINE # 32
0006 120000 E LCALL _?InitSerial
; SOURCE LINE # 33
0009 120000 E LCALL _?InitSerialBuffer
; SOURCE LINE # 35
000C 7C00 MOV R4,#00H
000E 7D0A MOV R5,#0AH
0010 7B01 MOV R3,#01H
0012 7A00 R MOV R2,#HIGH CommMsg
0014 7900 R MOV R1,#LOW CommMsg
0016 120000 E LCALL _?OSQCreate
0019 900000 R MOV DPTR,#CommQ
001C EB MOV A,R3
001D F0 MOVX @DPTR,A
001E A3 INC DPTR
001F EA MOV A,R2
0020 F0 MOVX @DPTR,A
0021 A3 INC DPTR
0022 E9 MOV A,R1
0023 F0 MOVX @DPTR,A
; SOURCE LINE # 37
0024 90FFFF MOV DPTR,#0FFFFH
0027 120000 E LCALL ?C?ADDXBP
002A 7408 MOV A,#08H
002C F0 MOVX @DPTR,A
002D 7B01 MOV R3,#01H
002F 7A00 R MOV R2,#HIGH TaskStartStkyya
0031 7900 R MOV R1,#LOW TaskStartStkyya
0033 90FFFD MOV DPTR,#0FFFDH
0036 120000 E LCALL ?C?ADDXBP
0039 EB MOV A,R3
003A F0 MOVX @DPTR,A
003B A3 INC DPTR
003C EA MOV A,R2
003D F0 MOVX @DPTR,A
003E A3 INC DPTR
003F E9 MOV A,R1
0040 F0 MOVX @DPTR,A
0041 7B00 MOV R3,#00H
0043 7A00 MOV R2,#00H
0045 7900 MOV R1,#00H
0047 90FFFD MOV DPTR,#0FFFDH
004A 120000 E LCALL ?C?ADDXBP
004D EB MOV A,R3
004E F0 MOVX @DPTR,A
004F A3 INC DPTR
0050 EA MOV A,R2
0051 F0 MOVX @DPTR,A
0052 A3 INC DPTR
0053 E9 MOV A,R1
0054 F0 MOVX @DPTR,A
0055 7BFF MOV R3,#0FFH
C51 COMPILER V7.50 LIGHT 03/26/2006 11:41:56 PAGE 20
0057 7A00 R MOV R2,#HIGH _TaskStartyya
0059 7900 R MOV R1,#LOW _TaskStartyya
005B 120000 E LCALL _?OSTaskCreate
; SOURCE LINE # 38
005E 90FFFF MOV DPTR,#0FFFFH
0061 120000 E LCALL ?C?ADDXBP
0064 7403 MOV A,#03H
0066 F0 MOVX @DPTR,A
0067 7B01 MOV R3,#01H
0069 7A00 R MOV R2,#HIGH TaskStartStkyyb
006B 7900 R MOV R1,#LOW TaskStartStkyyb
006D 90FFFD MOV DPTR,#0FFFDH
0070 120000 E LCALL ?C?ADDXBP
0073 EB MOV A,R3
0074 F0 MOVX @DPTR,A
0075 A3 INC DPTR
0076 EA MOV A,R2
0077 F0 MOVX @DPTR,A
0078 A3 INC DPTR
0079 E9 MOV A,R1
007A F0 MOVX @DPTR,A
007B 7B00 MOV R3,#00H
007D 7A00 MOV R2,#00H
007F 7900 MOV R1,#00H
0081 90FFFD MOV DPTR,#0FFFDH
0084 120000 E LCALL ?C?ADDXBP
0087 EB MOV A,R3
0088 F0 MOVX @DPTR,A
0089 A3 INC DPTR
008A EA MOV A,R2
008B F0 MOVX @DPTR,A
008C A3 INC DPTR
008D E9 MOV A,R1
008E F0 MOVX @DPTR,A
008F 7BFF MOV R3,#0FFH
0091 7A00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -