📄 main.lst
字号:
182 4 Sound[0]=29;Sound[1]=0xff; //copy the first input data
183 4 SoundEn=1;
184 4 InputLen=3;
185 4 InputEn=1;
186 4 SecondInPut=1;
187 4 break;
188 4 case 4: //2
189 4 //m=get_temp();
190 4 m=get_temp();
191 4 j=0;
192 4 Sound[j++]=36; //current temperature
193 4 Sound[j++]=m/100;
194 4 Sound[j++]=11;
195 4 Sound[j++]=(m-Sound[1]*100)/10;
196 4 n=(m-Sound[1]*100-Sound[j-1]*10)/1;
197 4 if(Sound[j-1]==0) j-=1;
198 4 if(n>9 || n==0) n=10;
199 4 Sound[j++]=22;
200 4 Sound[j++]=n;
201 4 //if(Sound[j-1]==0) Sound[j-1]=10;
202 4 Sound[j++]=21;
203 4 Sound[j++]=34;
204 4 Sound[j]=0xff; //temperature
205 4 SoundEn=1;
206 4 InputLen=1;
207 4 InputEn=1;
208 4 break;
209 4
210 4 case 10: //5 chPSW
211 4 Sound[0]=29;Sound[1]=0xff; //请输入
212 4 SoundEn=1;
213 4 InputLen=6;
214 4 InputEn=1;
215 4 break;
216 4 case 20: // chanle control
217 4 ChanleCTL(InputBuff[0],InputBuff[1]);
218 4 InputLen=2;
219 4 InputEn=1;
220 4 break;
221 4 case 3: //#
222 4 case 21: //ask for input
223 4 Sound[0]=38;Sound[1]=1;Sound[2]=41;Sound[3]=2;
224 4 Sound[4]=39;Sound[5]=3;Sound[6]=40;Sound[7]=4;Sound[8]=37;
225 4 Sound[9]=5;Sound[10]=0xff;SecondInPut=0;
226 4 SoundEn=1;InputEn=1;GetPSW=1;InputLen=1;break;
227 4 case 22://psw compare
228 4 if(SecondInPut==1)
229 4 {
230 5 for(j=0;j<6;j++)
231 5 if(InputBuff[j]!=InputBuff2[j])
232 5 {Sound[0]=44;Sound[1]=0xff;
233 6 SoundEn=1;
234 6 InputLen=6;
235 6 InputEn=1;
236 6 SecondInPut=0;
237 6 break;
238 6 }
239 5 if(j!=6) break;
240 5 InputBuff[j++]=0xff;
241 5 RW24XX(InputBuff,j,0x00,0xa0);
C51 COMPILER V7.06 MAIN 06/10/2005 23:25:34 PAGE 5
242 5 InputLen=1;
243 5 Sound[0]=43;Sound[1]=34;Sound[2]=0xff;
244 5 SoundEn=1;
245 5 InputEn=1;
246 5 SecondInPut=0;
247 5 break;
248 5 }
249 4 else {for(j=0;j<6;j++) InputBuff2[j]=InputBuff[j];
250 5 Sound[0]=29;Sound[1]=0xff;
251 5 SoundEn=1;
252 5 InputLen=6;
253 5 InputEn=1;
254 5 SecondInPut=1;
255 5 break;}
256 4 default:
257 4 case 23: //input error
258 4 Sound[0]=44;Sound[1]=0xff;
259 4 SoundEn=1;InputEn=1;
260 4 break;
261 4 }
262 3 j=0;
263 3 Funtion=0;
264 3 }
265 2 if(InputDone==1)
266 2 {
267 3 if(Compare()==1) //比较
268 3 {Sound[0]=14;Sound[1]=38;Sound[2]=1;Sound[3]=41;Sound[4]=2;
269 4 Sound[5]=39;Sound[6]=3;Sound[7]=40;Sound[8]=4;Sound[9]=37;
270 4 Sound[10]=5;Sound[11]=0xff;
271 4 SoundEn=1;InputEn=1;GetPSW=1;InputLen=1;
272 4 }
273 3 else
274 3 {
275 4 Sound[0]=44;Sound[1]=0xff;
276 4 SoundEn=1;InputEn=1;
277 4 }
278 3 InputDone=0;
279 3 }
280 2 }
281 1 }
282 //-----------------psw compare-----------------------
283 bit Compare(void)
284 {uchar i=0;
285 1 RW24XX(InputBuff2,7,0x00,0xa1);
286 1 for(i=0;i<6;i++)
287 1 {
288 2 if(InputBuff2[i]!=InputBuff[i]) return 0;
289 2 }
290 1 if(InputBuff[i]==0xff)return 1;
291 1 return 0;
292 1 }
293 //-------------------------------------------------------通道选择
294
295
296
297 void ChanleCTL(uchar Value,uchar Status)
298 {
299 1
300 1 bit data flag;
301 1
302 1 switch(Value)
303 1 {case 8://zc1=0;
C51 COMPILER V7.06 MAIN 06/10/2005 23:25:34 PAGE 6
304 2 if(Status==13) {if(zc1!=1){CH1=0;delay10ms(200);CH1=1;Sound[3]=17;zc1=1; }else {Sound[3]=17;}}//if(zc1
-==1){if(Status==13){CH1=0;delay10ms(500);CH1=1;Sound[3]=17; zc1=0;}}//if(Status==13) {if(zc1==0){CH1=0;delay10ms(500);CH
-1=1;Sound[3]=17; }else { zc1=1; Sound[3]=17;}}//{if(zc1=1) { CH1=0;delay10ms(10);CH1=1;Sound[3]=17;}else{ zc1=0; Sound[
-3]=17;}}
305 2 if(Status==3 ) {if(zc1!=0){CH1=0;delay10ms(200);CH1=1;Sound[3]=18;zc1=0;}else {Sound[3]=18;}}//if(zc1=
-=0){if(Status==3 ) {CH1=0;delay10ms(500);CH1=1;Sound[3]=18;zc1=1;}}//if(Status==3 ) {if(zc1==1){CH1=0;delay10ms(500);CH1
-=1;Sound[3]=18;}else {zc1=0;Sound[3]=18;}}//{if(zc1=0) {CH1=0;delay10ms(10);CH1=1;Sound[3]=18;}else {zc1=1;Sound[3]=18
-;}}
306 2 Sound[1]=1;
307 2 flag=1;
308 2 break;
309 2 case 4:
310 2 if(Status==13) {CH2=0;Sound[3]=17;}
311 2 if(Status==3) {CH2=1;Sound[3]=18;}
312 2 Sound[1]=2;
313 2 flag=1;
314 2 break;
315 2 case 12:
316 2 if(Status==13){CH3=0;Sound[3]=17;}
317 2 if(Status==3) {CH3=1; Sound[3]=18;}
318 2 Sound[1]=3;
319 2 flag=1;
320 2 break;
321 2 case 2:
322 2 if(Status==13){CH4=0;Sound[3]=17;}
323 2 if(Status==3){CH4=1;Sound[3]=18;}
324 2 Sound[1]=4;
325 2 flag=1;
326 2 break;
327 2 }
328 1 if(flag!=0){flag=0;Sound[0]=20;Sound[2]=19; Sound[4]=0xff;SoundEn=1;return;}
329 1 else
330 1 Sound[0]=45;
331 1 Sound[1]=0xff;
332 1 SoundEn=1;
333 1 return;
334 1 }
335 uchar loopdata(uchar dd)
336 {uchar i,mask=8,result=0,temp[4]={0x01,0x02,0x04,0x08};
337 1 for(i=0;i<4;i++)
338 1 {if(dd & mask)result+=temp[i];
339 2 mask>>=1;
340 2 }
341 1 return result;
342 1 }
343 void delay10ms(uchar tim)
344 {
345 1 unsigned int i,j,k;
346 1 for(i=0;i<tim;i++);
347 1 for(j=0;j<20000;j++);
348 1 for(k=0;k<20000;k++);
349 1 }
350
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1679 ----
CONSTANT SIZE = 4 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 54 14
IDATA SIZE = ---- ----
C51 COMPILER V7.06 MAIN 06/10/2005 23:25:34 PAGE 7
BIT SIZE = 9 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -