?? shumaguan4.lst
字號:
318 4 }
319 3
320 3 if(kvalue1==0xe0) //確定是第幾列
321 3 row=0;
322 3 else if(kvalue1==0xd0)
323 3 row=1;
324 3 else if(kvalue1==0xb0)
325 3 row=2;
326 3 else if(kvalue1==0x70)
327 3 row=3;
328 3 else
329 3 return 0;
330 3 P1=0xf0;
331 3 return keypadvalue[line][row];
332 3 }
333 2
334 2
335 2 }
336 1 P1=0xf0;
337 1 return 0;
338 1 }
339
340 /**********************************************************************
341 **函數(shù)功能:在數(shù)碼管上顯示數(shù)據(jù) **
342 **參數(shù):整型數(shù) **
343 **返回:無 **
344 **********************************************************************/
345 void display(int disnum)
346 {
347 1 int ge,shi,bai,qian,i,j;
348 1 int num[5]={0,0,0,0,10};
349 1 if(disnum<=9999)
350 1 {
351 2 ge=disnum%10;
352 2 shi=(disnum%100)/10;
353 2 bai=(disnum/100)%10;
354 2 qian=disnum/1000;
355 2 num[0]=ge;
356 2 num[1]=shi;
357 2 num[2]=bai;
358 2 num[3]=qian;
359 2 if(qian!=0)
360 2 {
361 3 for(i=0;i<4;i++)
362 3 {
363 4
364 4 P2=num_tab1[i]; //先送位碼
365 4 P0=num_tab2[num[i]]; //再送段碼
C51 COMPILER V8.02 SHUMAGUAN4 12/01/2006 21:14:03 PAGE 7
366 4 delay(1);
367 4 }
368 3 }
369 2 else
370 2 {
371 3 if(bai!=0)
372 3 {
373 4 for(i=0;i<3;i++)
374 4 {
375 5
376 5 P2=num_tab1[i];
377 5 P0=num_tab2[num[i]];
378 5 delay(1);
379 5 }
380 4 }
381 3 else
382 3 {
383 4 if(shi!=0)
384 4 {
385 5 for(i=0;i<2;i++)
386 5 {
387 6
388 6 P2=num_tab1[i];
389 6 P0=num_tab2[num[i]];
390 6 delay(1);
391 6 }
392 5 }
393 4 else
394 4 {
395 5 for(i=0;i<1;i++)
396 5 {
397 6 for(j=0;j<4;j++)
398 6 {
399 7 if(j==0)
400 7 {
401 8
402 8 P2=num_tab1[j];
403 8 P0=num_tab2[num[i]];
404 8 delay(1);
405 8 }
406 7 else
407 7 {
408 8
409 8 P2=num_tab1[j];
410 8 P0=num_tab2[num[4]];
411 8 delay(1);
412 8 }
413 7 }
414 6 }
415 5 }
416 4 }
417 3 }
418 2 }
419 1 else
420 1 ;
421 1 }
422 /**********************************************************************
423 **函數(shù)功能:延時時間 **
424 **參數(shù):整型數(shù) **
425 **返回:無 **
426 **********************************************************************/
427 void delay(unsigned int time)
C51 COMPILER V8.02 SHUMAGUAN4 12/01/2006 21:14:03 PAGE 8
428 {
429 1 int i;
430 1 int k;
431 1 for(i=0;i<time;i++)
432 1 for(k=0;k<100;k++);
433 1 }
434
435 /**********************************************************************
436 **函數(shù)功能:串口接收中斷中斷函數(shù),接收數(shù)據(jù) **
437 **參數(shù):無 **
438 **返回:無 **
439 **********************************************************************/
440 void Int_Rx(void) interrupt 4 using 2
441
442 {
443 1
444 1 if(RI)
445 1 {
446 2 RI=0;
447 2 flag=1;
448 2 keyvalue=SBUF;
449 2
450 2
451 2 }
452 1 if(TI)
453 1 {
454 2 TI=0;
455 2 if(*TX232!='\0')
456 2 {
457 3 TX232++;
458 3 SBUF=*TX232;
459 3 }
460 2
461 2 }
462 1
463 1
464 1
465 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1151 ----
CONSTANT SIZE = 111 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 14 27
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -