C51 COMPILER V6.23a KEY4X4 05/06/2009 09:22:39 PAGE 1 C51 COMPILER V6.23a, COMPILATION OF MODULE KEY4X4 OBJECT MODULE PLACED IN KEY4X4.OBJ COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe KEY4X4.C DB OE stmt level source 1 #include 2 #include "8LED.h" 3 4 #define key_io P1 5 unsigned char key(); 6 unsigned int key_time,MS; 7 unsigned char mode; 8 void main(void) 9 { 10 1 unsigned char key_temp,i; 11 1 EA=1; 12 1 13 1 14 1 ET0=1; 15 1 TMOD=0x01; 16 1 TH0=0XFC; 17 1 TL0=0X18; 18 1 TR0=1; 19 1 20 1 while(1) 21 1 { 22 2 key_temp=key(); 23 2 if(key_temp<10) 24 2 { 25 3 if(mode==3) 26 3 { 27 4 for(i=0;i<7;i++) 28 4 str[i]=str[i+1]; 29 4 str[7]=key_temp; 30 4 } 31 3 32 3 } 33 2 } 34 1 35 1 } 36 37 void time0()interrupt 1 38 { 39 1 TH0=0XFC; 40 1 TL0=0X18; 41 1 42 1 // if(MS>=250){MS=0,LED_Display();} 43 1 44 1 if(mode==1) 45 1 { 46 2 MS++; 47 2 if(MS==250&&led_h%8!=0)MS=0,LED_Display(); 48 2 else if(MS==500&&led_h%8==0)MS=0,LED_Display(); 49 2 } 50 1 else 51 1 LED8_Display(); 52 1 } 53 void clrled(void) 54 { 55 1 str[0]=str[1]=str[2]=str[3]=str[4]=str[5]=str[6]=str[7]=17; C51 COMPILER V6.23a KEY4X4 05/06/2009 09:22:39 PAGE 2 56 1 } 57 58 unsigned char key(void) 59 { 60 1 unsigned char temp; 61 1 key_io=0xf0; 62 1 if(key_io!=0xf0) 63 1 { 64 2 key_time++; 65 2 if(key_time==100||(key_time>10000&&key_time%300==0)) 66 2 { 67 3 temp=key_io; 68 3 key_io=temp|0x0f; 69 3 temp=key_io; 70 3 switch(temp) 71 3 { 72 4 case 0xe7:return 1; 73 4 case 0xeb:return 2; 74 4 case 0xed:return 3; 75 4 case 0xee:mode=1;led_h=0;return 0xf1;//f1 76 4 77 4 case 0xd7:return 4; 78 4 case 0xdb:return 5; 79 4 case 0xdd:return 6; 80 4 case 0xde:mode=2;return 0xf2;//f2 81 4 82 4 case 0xb7:return 7; 83 4 case 0xbb:return 8; 84 4 case 0xbd:return 9; 85 4 case 0xbe:mode=3;clrled();return 0xf3;//f3 86 4 87 4 case 0x77:return '*';//start 88 4 case 0x7b:return 0; 89 4 case 0x7d:return '#';//# 90 4 case 0x7e:mode=4;clrled();str[0]=0;str[1]=1;str[2]=4;return 0xf4;//f4 91 4 default:return 0xff; 92 4 } 93 3 } 94 2 else 95 2 { 96 3 return 0xff; 97 3 } 98 2 } 99 1 else 100 1 key_time=0; 101 1 return 0xff; 102 1 } MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 495 ---- CONSTANT SIZE = 18 ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = 14 ---- IDATA SIZE = ---- ---- BIT SIZE = ---- ---- END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)