📄 d51_new.lst
字号:
233 1 delay_dds();
234 1 WCLK_pin=1;
235 1 delay_dds();
236 1 WCLK_pin=0;
237 1 delay_dds();
238 1 FQ_UD_pin=1;
239 1 delay_dds();
240 1 FQ_UD_pin=0;
241 1 delay_dds();
C51 COMPILER V6.02 D51_NEW 04/03/2007 07:42:10 PAGE 5
242 1
243 1 for(i=0;i<8;i++){
244 2
245 2 DATA_pin=0;
246 2
247 2 delay_dds();
248 2 WCLK_pin=1;
249 2 delay_dds();
250 2 WCLK_pin=0;
251 2 }
252 1 delay_dds();
253 1 FQ_UD_pin=1;
254 1 delay_dds();
255 1 FQ_UD_pin=0;
256 1
257 1 }
258 void update_freq(unsigned long f,uchar c)
259 {
260 1 uchar i,cs;
261 1 unsigned long freq_temp;
262 1 freq_temp=f;
263 1 cs=c;
264 1 for(i=0;i<32;i++){
265 2 if(freq_temp & 1)
266 2 DATA_pin=1;
267 2 else
268 2 DATA_pin=0;
269 2
270 2 delay_dds();
271 2 WCLK_pin=1;
272 2 delay_dds();
273 2 WCLK_pin=0;
274 2 freq_temp>>=1;
275 2
276 2 }
277 1 for(i=0;i<8;i++){
278 2 if(cs & 1)
279 2 DATA_pin=1;
280 2 else
281 2 DATA_pin=0;
282 2
283 2 delay_dds();
284 2 WCLK_pin=1;
285 2 delay_dds();
286 2 WCLK_pin=0;
287 2 cs>>=1;
288 2 }
289 1 delay_dds();
290 1 FQ_UD_pin=1;
291 1 delay_dds();
292 1 FQ_UD_pin=0;
293 1
294 1 }
295 void main (void){ /* main program */
296 1 unsigned int adr;
297 1 unsigned long freq,dfreq,temp_f;
298 1 uchar ctrl1;
299 1 // int temp,i;
300 1 uchar status;
301 1 // char out_char[5];
302 1 EA=0; /* 0=Disable all interrupts */
303 1 P1=0xff;
C51 COMPILER V6.02 D51_NEW 04/03/2007 07:42:10 PAGE 6
304 1 LED_DATA=0xff; //off all LEDs
305 1 freq=1000<<10;
306 1 dfreq=1000<<10;
307 1 temp_f=0;
308 1 ctrl1=0x00;
309 1 DATA_pin=0;
310 1 WCLK_pin=0;
311 1 FQ_UD_pin=0;
312 1
313 1 delay(10);
314 1 init8279();
315 1 // clearDispBuf();
316 1 DispHELLO();
317 1 adr=chkram();
318 1 encode(adr);
319 1 Display();
320 1 // adr=chkram();
321 1 status=0;
322 1 // NumberC=defaultN;
323 1 EA=1;
324 1 EX0=1;
325 1 EX1=0;
326 1 ES=0;
327 1 ET0=0;
328 1 ET1=0;
329 1 TMOD=C_T1 | M0_1 | M0_0; //0x51; /* timer1 16位计数器 timer0 16位定时器 */
330 1 TH1=-NumberC/256;
331 1 TL1=-NumberC%256; /* timer1 计数 NumberC 中断 timer0定时 */
332 1 TH0=0;
333 1 TL0=0;
334 1 THG0=0;
335 1 TSET=0;
336 1 ET0=1;
337 1 ET1=1;
338 1 TR0=1;
339 1 TR1=1;
340 1 init_dds();
341 1 delay(10);
342 1 LED_DATA=0xfc; //on 2 LEDs
343 1 /* for(;;){ //test delay();
344 1 delay(10);
345 1 P1_0=0;
346 1 delay(10);
347 1 P1_0=1;
348 1 }*/
349 1 update_freq(freq,ctrl1);
350 1 status=0;
351 1 // while (1) { /* repeat forever */
352 1 // }
353 1 while (1) { /* repeat forever */
354 2 if(LED_status==1){
355 3 LED_status=0;
356 3 DisplayLED();
357 3 }
358 2
359 2
360 2 if(keyNum==1){
361 3
362 3 switch(keyChar)
363 3 {
364 4 case 'A' : /* F1 */
365 4 freq=temp_f<<10;
C51 COMPILER V6.02 D51_NEW 04/03/2007 07:42:10 PAGE 7
366 4 update_freq(freq,ctrl1);
367 4 temp_f=0;
368 4 clearDispBuf();
369 4 encode6(freq);
370 4 Display();
371 4 status=0;
372 4 break;
373 4 case 'B' : /* F2 */
374 4 dfreq=temp_f<<10;
375 4 temp_f=0;
376 4 clearDispBuf();
377 4 encode6(dfreq);
378 4 Display();
379 4 status=0;
380 4 break;
381 4 case 'C' : /* F3 */
382 4 freq+=dfreq;
383 4 update_freq(freq,ctrl1);
384 4 clearDispBuf();
385 4 encode6(freq);
386 4 Display(); /* */
387 4 status=0;
388 4 break;
389 4 case 'D' : /* F4 */
390 4 freq-=dfreq;
391 4 update_freq(freq,ctrl1);
392 4 clearDispBuf();
393 4 encode6(freq);
394 4 Display(); /* */
395 4 status=1;
396 4 break;
397 4 case '1' :
398 4 case '2' :
399 4 case '3' :
400 4 case '4' :
401 4 case '5' :
402 4 case '6' :
403 4 case '7' :
404 4 case '8' :
405 4 case '9' :
406 4 case '0' :
407 4 /* if((key_num==0) && ((status & 0x80)!=0)){
408 4 clearDispBuf();
409 4 Display();
410 4 key_num=0;
411 4 }
412 4 if((status & 0x80)!=0){
413 4 if(key_num<5){
414 4 DisplayChar(LedTab[keyChar-0x30]);
415 4 out_char[key_num]=keyChar;
416 4 key_num++;
417 4 }
418 4 }*/
419 4 temp_f=10*temp_f;
420 4 temp_f+=keyChar&0x0f;
421 4 encode5(keyChar);
422 4 Display(); /* */
423 4 status=0;
424 4 break;
425 4
426 4
427 4
C51 COMPILER V6.02 D51_NEW 04/03/2007 07:42:10 PAGE 8
428 4 case '*' :
429 4 temp_f=0;
430 4 clearDispBuf();
431 4 Display();
432 4 break;
433 4 case '#' :
434 4 encode6(freq);
435 4 Display(); /* */
436 4 status=0;
437 4 /* if(status==1){
438 4 adr=chkram();
439 4 encode(adr);
440 4 Display();
441 4 status=0;
442 4 }
443 4 else{
444 4 encode5(keyChar);
445 4 DispBuf[7]=LedTab[keyChar-'#'+16]; //#(0x23) --> 16 P *(0x2a) --> 23 -
446 4 Display();
447 4 } */
448 4 break;
449 4 default :
450 4 ;
451 4 }
452 3 keyNum=0;
453 3 }
454 2 } /* loop forever */
455 1 }
456
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1739 ----
CONSTANT SIZE = 90 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 42
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 + -