C51 COMPILER V6.23a KEY4X4 05/20/2009 15:39:01 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 #include "12864_j.h" 4 #include "DZ.h" 5 6 #define KEY_IO P1 7 8 #define SHOW_ZZ ShowChina(0,0,0);ShowChina(0,16,1) 9 #define SHOW_FZ ShowChina(0,0,2);ShowChina(0,16,3) 10 #define SHOW_STOP ShowChina(0,0,4);ShowChina(0,16,5) 11 #define SHOW_LED_EMPTY dz_str[0]=0,dz_str[1]=1 12 #define SHOW_LED_FULL dz_str[0]=2,dz_str[1]=3 13 #define SHOW_LED_OK dz_str[0]=4,dz_str[1]=5 14 #define LED_CLEAR str[0]=str[1]=str[2]=str[3]=17 15 16 #define ZZ P3_3=1,P3_4=0 17 #define FZ P3_3=0,P3_4=1 18 #define STOP P3_3=1,P3_4=1 19 20 #define ON 1 21 #define OFF 0 22 23 #define K_IN P3_0 24 #define K_OUT P3_1 25 void wait_n_s(unsigned char ); 26 unsigned char key (void); 27 unsigned int MS,key_time,ms500; 28 unsigned char mode=1,second,second1=1,key_temp=0xff; 29 bit time_flag=0,full_flag=0; 30 31 32 void main(void) 33 { 34 1 EA=1; 35 1 ET0=1; 36 1 TMOD=0x01; 37 1 TH0=0XFC; 38 1 TL0=0X18; 39 1 SetOnOff(1); 40 1 ClearScreE(); 41 1 SHOW_STOP; 42 1 SHOW_LED_OK; 43 1 SetOnOff(1); 44 1 TR0=1; 45 1 while(1) 46 1 { 47 2 switch (mode) 48 2 { 49 3 case 1: SHOW_LED_EMPTY; 50 3 K_IN=ON; 51 3 while(P3_5); 52 3 53 3 54 3 LED_CLEAR; 55 3 str[0]=1; C51 COMPILER V6.23a KEY4X4 05/20/2009 15:39:01 PAGE 2 56 3 // while(full_flag==0); 57 3 full_flag=0; 58 3 SHOW_LED_OK; 59 3 K_IN=OFF; 60 3 61 3 break;//עˮ 62 3 case 2: LED_CLEAR; 63 3 str[1]=2; 64 3 65 3 SHOW_ZZ; 66 3 ZZ; 67 3 wait_n_s(5); 68 3 69 3 SHOW_STOP; 70 3 STOP; 71 3 wait_n_s(1); 72 3 73 3 SHOW_FZ; 74 3 FZ; 75 3 wait_n_s(5); 76 3 77 3 SHOW_STOP; 78 3 STOP; 79 3 wait_n_s(1); 80 3 81 3 break;//Ï´Ò 82 3 83 3 case 3: LED_CLEAR; 84 3 str[2]=3; 85 3 86 3 K_OUT=ON; 87 3 while(P3_5==0); 88 3 K_OUT=OFF; 89 3 90 3 break;//Ï´Ò 91 3 92 3 case 4: LED_CLEAR; 93 3 str[3]=4; 94 3 95 3 SHOW_ZZ; 96 3 ZZ; 97 3 wait_n_s(15); 98 3 99 3 SHOW_STOP; 100 3 STOP; 101 3 102 3 P3_7=1; 103 3 104 3 break;//Ï´Ò 105 3 default: break; 106 3 } 107 2 108 2 109 2 mode++; 110 2 if(mode>4)mode=1; 111 2 112 2 } 113 1 } 114 115 void wait_n_s(unsigned char n) 116 { 117 1 MS=0; C51 COMPILER V6.23a KEY4X4 05/20/2009 15:39:01 PAGE 3 118 1 second=0; 119 1 time_flag=1; 120 1 while(second=1000) 134 2 { 135 3 second++; 136 3 str[5]=second%10; 137 3 MS=0; 138 3 } 139 2 } 140 1 if (++ms500>=1000) 141 1 { 142 2 ms500=0; 143 2 second1++; 144 2 if(second1>99) 145 2 { 146 3 second1=0; 147 3 } 148 2 str[6]=second1/10; 149 2 str[7]=second1%10; 150 2 } 151 1 152 1 153 1 DATA=0X00;//ÏûÒþ 154 1 LCLK1=LCLK2=LCLK3=LCLK4=LCLK5=LCLK6=1; 155 1 LCLK1=LCLK2=LCLK3=LCLK4=LCLK5=LCLK6=0; 156 1 157 1 LED8_Display(); 158 1 159 1 Display_HZ(); 160 1 161 1 } 162 163 unsigned char key (void) 164 { 165 1 unsigned char temp; 166 1 KEY_IO=0X0F; 167 1 if(KEY_IO!=0X0F) 168 1 { 169 2 key_time++; 170 2 if(key_time==50) 171 2 { 172 3 temp=KEY_IO; 173 3 KEY_IO=temp|0x30; 174 3 temp=KEY_IO|0xc0; 175 3 switch(temp) 176 3 { 177 4 case 0xe7:;return 4;//"×¢" 178 4 case 0xeb:;return 5;//Ï´ 179 4 case 0xed:;return 6;//ÅÅ C51 COMPILER V6.23a KEY4X4 05/20/2009 15:39:01 PAGE 4 180 4 case 0xee:;return 0XF2;//ÍÑ 181 4 182 4 case 0xd7:;return '*';//×Ô 183 4 case 0xdb:;return 0; 184 4 case 0xdd:;return '#';//¿ª 185 4 case 0xde:;return 0XF4;//Í£ 186 4 187 4 default:return 0XFF; 188 4 } 189 3 } 190 2 } 191 1 else 192 1 key_time=0; 193 1 return 0XFF; 194 1 } MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 1385 ---- CONSTANT SIZE = 1950 ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = 24 ---- IDATA SIZE = ---- ---- BIT SIZE = 2 1 END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)