C51 COMPILER V6.23a KEY4X4 05/23/2009 14:38: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 #define KEY_IO P1 5 #define CP P3_0 6 #define DIR P3_1 7 #define RIGHT P3_2 8 #define ONESTEP CP=1;CP=0;CP=0;CP=0;CP=0;CP=0;CP=0;CP=1 9 #define BJDJ_DELAY for(j=0;j<50;j++) 10 11 #define ZZ P3_3=1,P3_4=0 12 #define FZ P3_3=0,P3_4=1 13 #define STOP P3_3=1,P3_4=1 14 15 void LCM(unsigned char page,unsigned char *,unsigned char num,unsigned char black);//PAGE:Ò³,HZ_numºº×ÖÆðÊ -¼µØÖ·£¬NUM£º¼¸¸öºº×Ö£¬blackÑ¡ÖС£ 16 unsigned char key (void); 17 void LCM_ALL(void); 18 void fw(void); 19 void bjdj(); 20 21 22 unsigned int MS,key_time,MS_wait; 23 unsigned char second=0,LCM_NUM=2,NUM=0,mode=0,page_num=1,A4_16K=8,second_wait=0,speed=2,page=1; 24 bit time_flag=0; 25 typedef struct LCMTYPE 26 { 27 unsigned char hz[4]; 28 unsigned char num; 29 unsigned char black; 30 }; 31 32 struct LCMTYPE LCM_STR[4]= 33 { 34 1,2,3,4 ,4,1, 35 5,6,0,0 ,2,0, 36 0,0,0,0 ,0,0, 37 0,0,0,0 ,0,0, 38 }; 39 40 41 void main(void) 42 { 43 1 unsigned char k_temp; 44 1 EA=1; 45 1 ET0=1; 46 1 TMOD=0x01; 47 1 TH0=0XFC; 48 1 TL0=0X18; 49 1 SetOnOff(1); 50 1 SetStartLine(0); 51 1 ClearScreE(0); 52 1 LCM_ALL(); 53 1 TR0=1; 54 1 fw(); C51 COMPILER V6.23a KEY4X4 05/23/2009 14:38:01 PAGE 2 55 1 while(1) 56 1 { 57 2 k_temp=key (); 58 2 if (k_temp!=0xff) 59 2 { 60 3 LCM_ALL(); 61 3 if(mode==10) 62 3 { 63 4 bjdj(); 64 4 } 65 3 } 66 2 } 67 1 } 68 69 void fw(void) 70 { 71 1 unsigned int i,j; 72 1 DIR=1; 73 1 if(RIGHT) 74 1 { 75 2 while(RIGHT) 76 2 { 77 3 ONESTEP; 78 3 BJDJ_DELAY; 79 3 } 80 2 DIR=1; 81 2 for(i=0;i<250;i++) 82 2 { 83 3 ONESTEP; 84 3 BJDJ_DELAY; 85 3 } 86 2 } 87 1 } 88 89 void wait_n_s(unsigned char n)//µÈ´ýN¸ö0.1Ãë 90 { 91 1 MS_wait=0; 92 1 second_wait=0; 93 1 time_flag=1; 94 1 while(second_wait=1000) 148 1 { 149 2 MS=0; 150 2 if(++second>=60) 151 2 second=0; 152 2 str[7]=second%10; 153 2 str[6]=second/10; 154 2 155 2 } 156 1 157 1 158 1 if(time_flag==1) 159 1 { 160 2 161 2 if(++MS_wait>=1000*speed) 162 2 { 163 3 second_wait++; 164 3 MS=0; 165 3 } 166 2 } 167 1 LED8_Display(); 168 1 } 169 170 void LCM(unsigned char line,unsigned char *HZ,unsigned char num,unsigned char black)//PAGE:Ò³, 171 { 172 1 unsigned char i,*p; 173 1 p=&HZ[0]; 174 1 for(i=0;i=LCM_NUM)NUM=0; 422 5 LCM_STR[NUM].black=1; 423 5 } 424 4 425 4 return 10; 426 4 case 0xFb: C51 COMPILER V6.23a KEY4X4 05/23/2009 14:38:01 PAGE 8 427 4 if(mode==2){if(++page_num>9)page_num=9;LCM_STR[0].hz[0]=page_num+20;} 428 4 else 429 4 { 430 5 switch (mode) 431 5 { 432 6 case 0: if(NUM==0)mode=1; 433 6 else mode=10; 434 6 break; 435 6 case 1: if(NUM==0)mode=2;//Ò³Êý£¬ËÙ¶È£¬Ö½ÕÅ 436 6 else if(NUM==1)mode=3; 437 6 else if(NUM==2)mode=4; 438 6 break; 439 6 default: break; 440 6 } 441 5 change(); 442 5 } 443 4 444 4 return 11; 445 4 case 0xFd:if(mode==2){if(--page_num==0)page_num=1;LCM_STR[0].hz[0]=page_num+20;}return 12; 446 4 case 0xFe: 447 4 switch (mode) 448 4 { 449 5 case 1: 450 5 case 10:mode=0;break; 451 5 case 2:mode=1;break; 452 5 case 3:mode=1;if(NUM==0)speed=2;else speed=1;break; 453 5 case 4:mode=1;if(NUM==0)A4_16K=8;else A4_16K=6;break; 454 5 default:break; 455 5 } 456 4 change(); 457 4 return 13; 458 4 459 4 default:return 0XFF; 460 4 } 461 3 } 462 2 } 463 1 else 464 1 key_time=0; 465 1 return 0XFF; 466 1 } MODULE INFORMATION: STATIC OVERLAYABLE CODE SIZE = 1807 ---- CONSTANT SIZE = 2578 ---- XDATA SIZE = ---- ---- PDATA SIZE = ---- ---- DATA SIZE = 48 16 IDATA SIZE = ---- ---- BIT SIZE = 1 2 END OF MODULE INFORMATION. C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)