📄 dds.lst
字号:
259 {
260 1 if(fre_mode==1)
261 1 {if(p<=6) {line[p++]='0'; lcd_show("0");no_data=1;}else{write_inst(0x0c);}}
262 1 else if(ran_mode==1)
263 1 {if(p<=2) {line[p++]='0'; lcd_show("0");no_data=1;}else{write_inst(0x0c);}}
264 1 else if(mut_mode==1)
265 1 {if(p<=5) {line[p++]='0'; lcd_show("0");no_data=1;}else{write_inst(0x0c);}}
266 1 }
267 //----------------------------------
268 void one(void)
269 {
270 1 if(fre_mode==1)
271 1 {if(p<=6) {line[p++]='1'; lcd_show("1");no_data=1;}else{write_inst(0x0c);}}
272 1 else if(ran_mode==1)
273 1 {if(p<=2) {line[p++]='1'; lcd_show("1");no_data=1;}else{write_inst(0x0c);}}
274 1 else if(mut_mode==1)
275 1 {if(p<=5) {line[p++]='1'; lcd_show("1");no_data=1;}else{write_inst(0x0c);}}
276 1 }
277 //----------------------------------
278 void two(void)
279 {
280 1 if(fre_mode==1)
281 1 {if(p<=6) {line[p++]='2'; lcd_show("2");no_data=1;}else{write_inst(0x0c);}}
282 1 else if(ran_mode==1)
283 1 {if(p<=2) {line[p++]='2'; lcd_show("2");no_data=1;}else{write_inst(0x0c);}}
284 1 else if(mut_mode==1)
285 1 {if(p<=5) {line[p++]='2'; lcd_show("2");no_data=1;}else{write_inst(0x0c);}}
286 1 }
287 //----------------------------------
288 void three(void)
289 {
290 1 if(fre_mode==1)
291 1 {if(p<=6) {line[p++]='3'; lcd_show("3");no_data=1;}else{write_inst(0x0c);}}
292 1 else if(ran_mode==1)
293 1 {if(p<=2) {line[p++]='3'; lcd_show("3");no_data=1;}else{write_inst(0x0c);}}
294 1 else if(mut_mode==1)
295 1 {if(p<=5) {line[p++]='3'; lcd_show("3");no_data=1;}else{write_inst(0x0c);}}
296 1 }
297 //----------------------------------
298 void four(void)
299 {
300 1 if(fre_mode==1)
301 1 {if(p<=6) {line[p++]='4'; lcd_show("4");no_data=1;}else{write_inst(0x0c);}}
302 1 else if(ran_mode==1)
303 1 {if(p<=2) {line[p++]='4'; lcd_show("4");no_data=1;}else{write_inst(0x0c);}}
C51 COMPILER V7.20 DDS 07/30/2005 16:03:15 PAGE 6
304 1 else if(mut_mode==1)
305 1 {if(p<=5) {line[p++]='4'; lcd_show("4");no_data=1;}else{write_inst(0x0c);}}
306 1 }
307 //----------------------------------
308 void five(void)
309 {
310 1 if(fre_mode==1)
311 1 {if(p<=6) {line[p++]='5'; lcd_show("5");no_data=1;}else{write_inst(0x0c);}}
312 1 else if(ran_mode==1)
313 1 {if(p<=2) {line[p++]='5'; lcd_show("5");no_data=1;}else{write_inst(0x0c);}}
314 1 else if(mut_mode==1)
315 1 {if(p<=5) {line[p++]='5'; lcd_show("5");no_data=1;}else{write_inst(0x0c);}}
316 1 }
317 //----------------------------------
318 void six(void)
319 {
320 1 if(fre_mode==1)
321 1 {if(p<=6) {line[p++]='6'; lcd_show("6");no_data=1;}else{write_inst(0x0c);}}
322 1 else if(ran_mode==1)
323 1 {if(p<=2) {line[p++]='6'; lcd_show("6");no_data=1;}else{write_inst(0x0c);}}
324 1 else if(mut_mode==1)
325 1 {if(p<=5) {line[p++]='6'; lcd_show("6");no_data=1;}else{write_inst(0x0c);}}
326 1 }
327 //----------------------------------
328 void seven(void)
329 {
330 1 if(fre_mode==1)
331 1 {if(p<=6) {line[p++]='7'; lcd_show("7");no_data=1;}else{write_inst(0x0c);}}
332 1 else if(ran_mode==1)
333 1 {if(p<=2) {line[p++]='7'; lcd_show("7");no_data=1;}else{write_inst(0x0c);}}
334 1 else if(mut_mode==1)
335 1 {if(p<=5) {line[p++]='7'; lcd_show("7");no_data=1;}else{write_inst(0x0c);}}
336 1 }
337 //----------------------------------
338 void eight(void)
339 {
340 1 if(fre_mode==1)
341 1 {if(p<=6) {line[p++]='8'; lcd_show("8");no_data=1;}else{write_inst(0x0c);}}
342 1 else if(ran_mode==1)
343 1 {if(p<=2) {line[p++]='8'; lcd_show("8");no_data=1;}else{write_inst(0x0c);}}
344 1 else if(mut_mode==1)
345 1 {if(p<=5) {line[p++]='8'; lcd_show("8");no_data=1;}else{write_inst(0x0c);}}
346 1 }
347 //----------------------------------
348 void nine(void)
349 {
350 1 if(fre_mode==1)
351 1 {if(p<=6) {line[p++]='9'; lcd_show("9");no_data=1;}else{write_inst(0x0c);}}
352 1 else if (ran_mode==1)
353 1 {if(p<=2) {line[p++]='9'; lcd_show("9");no_data=1;}else{write_inst(0x0c);}}
354 1 else if (mut_mode==1)
355 1 {if(p<=5) {line[p++]='9'; lcd_show("9");no_data=1;}else{write_inst(0x0c);}}
356 1 }
357 //---------------------------------------------
358 void point_road(void)
359 {
360 1 if((ran_mode==1)||(mut_mode==1))
361 1 {
362 2 line[p++]='.';
363 2 lcd_show(".");
364 2 }
365 1 else
C51 COMPILER V7.20 DDS 07/30/2005 16:03:15 PAGE 7
366 1 {fre_mode=0;ran_mode=0;mut_mode=0;
367 2 road_mode++;
368 2 if(road_mode==3){road_mode=1;}
369 2 switch(road_mode)
370 2 {case 1:{t_first();}break;
371 3 case 2:{t_second();}break;}
372 2 }
373 1 }
374 //-------------------------------------------------选择波形
375 void ch_wave(void)
376 {
377 1 fre_mode=0;ran_mode=0;mut_mode=0;
378 1 if(road_mode==1)
379 1 {
380 2 wave_one_data++;
381 2 if(wave_one_data==4) {wave_one_data=0;}
382 2 switch(wave_one_data)
383 2 {case 0:{send_one_wave(0x00);sine_wave();}break;
384 3 case 1:{send_one_wave(0x01);square_wave();}break;
385 3 case 2:{send_one_wave(0x02);triangle_wave();}break;
386 3 case 3:{send_one_wave(0x03);teeth_wave();}break;}
387 2 }
388 1 else if(road_mode==2)
389 1 {
390 2 wave_two_data++;
391 2 if(wave_two_data==4) {wave_two_data=0;}
392 2 switch(wave_two_data)
393 2 {case 0:{send_two_wave(0x00);sine_wave();}break;
394 3 case 1:{send_two_wave(0x01);square_wave();}break;
395 3 case 2:{send_two_wave(0x02);triangle_wave();}break;
396 3 case 3:{send_two_wave(0x03);teeth_wave();}break;}
397 2 }
398 1 }
399 //------------------------
400 void ch_fre(void)
401 {
402 1 fre_mode=1;ran_mode=0;mut_mode=0; fre_port(); p=0;no_data=0;clrs();da_clr();
403 1 }
404 //-----------------------------
405 void ch_ran(void)
406 {
407 1 ran_mode=1;fre_mode=0;mut_mode=0; ran_port(); p=0;no_data=0;
408 1 }
409 //---------------------------------------
410 void ch_mut(void)
411 {
412 1 mut_mode=1;fre_mode=0;ran_mode=0; mut_port(); p=0;no_data=0;clrs(); da_clr();
413 1 }
414 //-------------------------------
415 void enter(void)
416 {
417 1 ulong y=0;
418 1 uint z;
419 1 uchar t;
420 1 float x;
421 1 float n;
422 1 y=0;
423 1 if(no_data==0){none_data();}else{
424 2 switch(road_mode)
425 2 {case 1:{if(fre_mode==1)
426 4 {y=atol(line)/0.003725;
427 5 if(y>268456644){of_scope();}else{is_right();send_one_fre(y);}}
C51 COMPILER V7.20 DDS 07/30/2005 16:03:15 PAGE 8
428 4 else if(ran_mode==1)
429 4 {x=atof(line);t=x*50;
430 5 if(t>250){of_scope();}else{is_right(); send_one_ran(t);}}
431 4 else if(mut_mode==1)
432 4 {n=atof(line);z=n/0.09;
433 5 if(z>4000){of_scope();}else{is_right();send_mut(z);}}
434 4 } break;
435 3 case 2:{if(fre_mode==1)
436 4 {y=atol(line)/0.003725;
437 5 if(y>268456644){of_scope();}else{is_right(); send_two_fre(y);}}
438 4 else if(ran_mode==1)
439 4 {x=atof(line);t=x*50;
440 5 if(t>250){of_scope();}else{is_right(); send_two_ran(t);}}
441 4 }break;
442 3 }
443 2 }
444 1 p=0;fre_mode=0;ran_mode=0;mut_mode=0; clrs();da_clr();
445 1 }
446
447 //----------------------------------各按键功能
448 void key_pass(void)
449 {
450 1 switch(keycode)
451 1 {
452 2 case 0xe7:{zero();}break; case 0xeb:{one();}break; case 0xed:{two();}break;
453 2 case 0xee:{three();}break; case 0xd7:{four();}break; case 0xdb:{five();}break;
454 2 case 0xdd:{six();}break; case 0xde:{seven();}break; case 0xb7:{eight();}break;
455 2 case 0xbb:{nine();}break; case 0xbd:{point_road();}break; case 0xbe:{ch_wave();}break;
456 2 case 0x77:{ch_fre();}break; case 0x7b:{ch_ran();}break; case 0x7d:{ch_mut();}break;
457 2 case 0x7e:{enter();}break; default:{}
458 2 }
459 1 }
460 //---------------------------------按键延时
461 void key_delay (void)
462 {
463 1 uint i;
464 1 for(i=3000;i>0;i--){}
465 1 }
466 //----------------------------------计算键值
467 void key()
468 {scancode=0xef;
469 1 while(1)
470 1 {key_port=scancode;key_delay();
471 2 keycode=key_port;
472 2 if((keycode&0x0f)!=0x0f){key_pass();}
473 2 scancode=((scancode<<=1)|0x0f);
474 2 if(key_port==0xff)break;}
475 1 }
476 //--------------------------------------------上电初始化
477 void begin(void)
478 {
479 1 initial(); //重新定义显示方式
480 1 t_first(); //显示The firat road
481 1 send_one_fre(0x000418a8); //1KHZ
482 1 send_two_fre(0x000418a8);
483 1 send_one_ran(0x64); //2V
484 1 send_two_ran(0x64);
485 1 send_one_wave(0x00); //正弦波
486 1 send_two_wave(0x00);
487 1 send_mut(0x0000); //零相移
488 1 }
489 //-----------------------------------------------主程序
C51 COMPILER V7.20 DDS 07/30/2005 16:03:15 PAGE 9
490 main()
491 {
492 1 en=0;
493 1 key_delay ();
494 1 key_delay ();
495 1 key_delay ();
496 1 key_delay ();
497 1 begin();
498 1 while(1)
499 1 {
500 2 key();
501 2 }
502 1 }
503
504
505
506
507
508
509
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2356 ----
CONSTANT SIZE = 328 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 14 51
IDATA SIZE = ---- ----
BIT SIZE = 4 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -