⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 进行单片机与LCD的接口通讯与显示。使用清华的液晶。
💻 LST
📖 第 1 页 / 共 5 页
字号:
 272          int KeyFuncIndex=4;
 273          int Keyfirst=1;
 274          uchar state_num,u=0;
 275          int KeyState=0;
 276          int head=255;
 277          float idata float1,float2,float3,float4,float5,float6,float7,float8;
 278          int idata int1,int2,int3,int4,int5,int6;
 279                   sbit P1_0=P1^0;
 280                   sbit P1_1=P1^1;
 281                   sbit P1_2=P1^2;
 282                   sbit P1_3=P1^3;
 283                   sbit P1_4=P1^4;
 284                   sbit P1_5=P1^5;
 285                   sbit P1_6=P1^6;
 286                   sbit P1_7=P1^7;
 287                   sbit P3_3=P3^3;
 288                   sbit P3_4=P3^4;
 289                   sbit P3_5=P3^5;
 290          /*************************************/
 291          /*              主程序               */
 292          /*************************************/
 293          void main()
 294                  {
 295   1                unsigned char a,b,i,j;
 296   1               #define    SIZE_OF_KEYBD_MENU    210//菜单长度
 297   1      
 298   1               void    (*KeyFuncPtr)();    //按键功能指针
 299   1      
 300   1      typedef struct
 301   1      {
 302   1          uchar    KeyStateIndex;    //当前状态索引号
C51 COMPILER V6.02  MAIN                                                                   08/27/2003 15:18:13 PAGE 6   

 303   1          uchar    KeyDnState;    //按下"向下"键时转向的状态索引号
 304   1          uchar    KeyUpState;    //按下"向上"键时转向的状态索引号
 305   1          uchar    KeyLeft;       //左键
 306   1          uchar    KeyRight;      //右键
 307   1          uchar    KeyCrState;    //按下"回车"键时转向的状态索引号
 308   1          uchar    KeyEsState;    //按下"退出"键时转向的状态索引号
 309   1          uchar    KeyFhState;    //按下"返回"键时转向的状态索引号
 310   1          void    (*CurrentOperate)();    //当前状态应该执行的功能操作
 311   1      }   KbdTabStruct;
 312   1      
 313   1      /*chain-table definetion*/
 314   1      KbdTabStruct    code    KeyTab[SIZE_OF_KEYBD_MENU]=
 315   1      {
 316   1          { 0,1,0,0,0,4,0,0,(*disp11)},  //第一层entry :
 317   1          { 1,1,0,1,1,2,1,1,(*disp12)},  //normal display
 318   1      
 319   1          { 2,2,2,2,2,2,2,2,(*commu1)},   //request normal display
 320   1          { 3,3,3,3,3,3,3,3,(*disp13)},   //display normal display
 321   1      
 322   1          { 4,5,4,4,4,11,3,4,(*disp211)},    //第二层display:
 323   1          { 5,6,4,5,5,201,5,4,(*disp212)},    //programming:
 324   1          { 6,6,5,6,6,7,6,4,(*disp213)},    //fault ack.
 325   1      
 326   1          { 7,7,7,7,7,7,7,7,(*commu2)},   //request fault message
 327   1          { 8,8,8,8,8,9,1,4,(*disp214)},  //display fault message
 328   1          { 9,9,9,9,9,9,9,9,(*commu3)},   //send ack. fault message
 329   1          { 10,10,10,10,10,10,6,4,(*disp215)},   //display acked.
 330   1      
 331   1          { 11,12,11,11,11,57,4,4,(*disp301)},//第三层operating stats/measure:
 332   1          { 12,12,11,12,12,13,4,4,(*disp302)}, //history events:
 333   1          { 13,13,13,13,13,13,13,13,(*commu4)},   //request history events:
 334   1          { 14,14,14,14,14,14,12,4,(*disp303)},  //display history events:
 335   1      
 336   1          { 15,29,15,15,15,16,5,4,(*disp311)},    //date/time setting:
 337   1          { 16,16,16,16,16,16,16,16,(*commu5)}, //request date/time
 338   1          { 17,18,17,22,22,27,15,4,(*disp312)},  //display current time year_f
 339   1          { 18,19,17,23,23,27,15,4,(*disp313)},  //month_f
 340   1          { 19,20,18,24,24,27,15,4,(*disp314)},  //day_f
 341   1          { 20,21,19,25,25,27,15,4,(*disp315)},  //hour_f
 342   1          { 21,21,20,26,26,27,15,4,(*disp316)},  //minute_f
 343   1      
 344   1          { 22,18,22,22,22,27,15,4,(*disp317)},//modify year
 345   1          { 23,19,17,23,23,27,15,4,(*disp318)}, //modify month
 346   1          { 24,20,18,24,24,27,15,4,(*disp319)}, //modify day
 347   1          { 25,21,19,25,25,27,15,4,(*disp3110)}, //modify hour
 348   1          { 26,26,20,26,26,27,15,4,(*disp3111)}, //modify minute
 349   1          { 27,27,27,27,27,27,27,27,(*commu6)}, //send modified time
 350   1          { 28,28,28,28,28,28,15,4,(*disp3112)},   //display time modified
 351   1      
 352   1          { 29,35,15,29,29,31,5,4,(*disp3113)},    //language:
 353   1          { 30,30,30,30,30,30,30,30,(*commu7)},    //request language (x)
 354   1          { 31,31,31,32,32,34,29,4,(*disp3114)},    //display language
 355   1          { 32,32,32,32,32,34,29,4,(*disp3115)},    //modify language:
 356   1          { 33,33,33,33,33,33,33,33,(*commu8)},   //send modified language (x)
 357   1          { 34,34,34,34,34,34,29,4,(*disp3116)},    //display language modified
 358   1      
 359   1          { 35,41,29,35,35,37,5,4,(*disp3117)},    //scale:
 360   1          { 36,36,36,36,36,36,36,36,(*commu9)},    //request scale  (x)
 361   1          { 37,37,37,38,38,40,35,4,(*disp3118)},    //display scale
 362   1          { 38,38,38,38,38,40,35,4,(*disp3119)},    //modify scale
 363   1          { 39,39,39,39,39,39,39,39,(*commu10)},    //send modified scale (x)
 364   1          { 40,40,40,40,40,40,35,4,(*disp3120)},    //display scale modified
C51 COMPILER V6.02  MAIN                                                                   08/27/2003 15:18:13 PAGE 7   

 365   1      
 366   1          { 41,43,35,41,41,42,42,42,(*disp320)},    //motor specifications:
 367   1          { 42,42,42,42,42,42,42,42,(*commu11)},   //request
 368   1      
 369   1          { 43,45,41,43,43,44,5,4,(*disp330)},    //freqency setting:
 370   1          { 44,44,44,44,44,44,44,44,(*commu12)},   //request
 371   1      
 372   1          { 45,47,15,45,45,46,5,4,(*disp340)},    //groups in operation
 373   1          { 46,46,46,46,46,46,46,46,(*commu13)},   //request
 374   1      
 375   1          { 47,49,45,47,47,48,5,4,(*disp350)},    //control mode:
 376   1          { 48,48,48,48,48,48,48,48,(*commu14)},   //request
 377   1      
 378   1          { 49,51,47,49,49,50,5,4,(*disp360)},    //fwd/rev & jog
 379   1          { 50,50,50,50,50,50,50,50,(*commu15)},   //request
 380   1      
 381   1          { 51,53,49,51,51,52,5,4,(*disp370)},    //DC applying
 382   1          { 52,52,52,52,52,52,52,52,(*commu16)},   //request
 383   1      
 384   1          { 53,55,51,53,53,54,5,4,(*disp380)},    //limit parameters
 385   1          { 54,54,54,54,54,54,54,54,(*commu17)},   //request
 386   1      
 387   1          { 55,55,53,55,55,56,5,4,(*disp390)},    //calibration
 388   1          { 56,56,56,56,56,56,56,56,(*commu18)},   //request
 389   1      
 390   1          { 57,58,57,57,57,157,11,4,(*disp401)},   //第四层power unit:
 391   1          { 58,60,57,58,58,59,11,4,(*disp402)},   //general measurement:
 392   1          { 59,59,59,59,59,59,59,59,(*commu19)},   //request
 393   1          { 60,60,58,60,60,61,11,4,(*disp403)},   //general states:
 394   1          { 61,61,61,61,61,61,61,61,(*commu20)},   //request
 395   1      
 396   1          { 62,63,62,67,67,72,41,4,(*disp410)},   //motor voltage_f
 397   1          { 63,64,62,68,68,72,41,4,(*disp411)},   //motor current_f
 398   1          { 64,65,63,69,69,72,41,4,(*disp412)},   //motor power_f
 399   1          { 65,66,64,70,70,72,41,4,(*disp413)},   //motor frequency_f
 400   1          { 66,66,65,71,71,72,41,4,(*disp414)},   //motor speed_f
 401   1      
 402   1          { 67,63,67,67,67,72,41,4,(*disp415)}, //modify voltage
 403   1          { 68,64,62,68,68,72,41,4,(*disp416)}, //modify current
 404   1          { 69,65,64,69,69,72,41,4,(*disp417)}, //modify power
 405   1          { 70,66,65,70,70,72,41,4,(*disp418)}, //modify frequency
 406   1          { 71,71,65,71,71,72,41,4,(*disp419)}, //modify speed
 407   1          { 72,72,72,72,72,72,72,72,(*commu21)},   //send modified
 408   1          { 73,73,73,73,73,73,41,4,(*disp4110)}, //display modified
 409   1      
 410   1          { 74,75,74,79,79,84,43,4,(*disp420)},  //freq. reference : 1,user;2,analog
 411   1          { 75,76,74,80,80,84,43,4,(*disp421)},  //ref freq.
 412   1          { 76,77,75,81,81,84,43,4,(*disp422)},  //minimum freq.
 413   1          { 77,78,76,82,82,84,43,4,(*disp423)},  //maximum freq.
 414   1          { 78,78,77,83,83,84,43,4,(*disp424)},  //bypass freq.
 415   1      
 416   1          { 79,75,79,79,79,84,43,4,(*disp425)}, //modify freq. reference
 417   1          { 80,76,74,80,80,84,43,4,(*disp426)}, //modify ref freq
 418   1          { 81,77,75,81,81,84,43,4,(*disp427)}, //modify minimum freq.
 419   1          { 82,78,76,82,82,84,43,4,(*disp428)}, //modify maximum freq.
 420   1          { 83,83,77,83,83,84,43,4,(*disp429)}, //modify bypass freq.
 421   1          { 84,84,84,84,84,84,84,84,(*commu22)},   //send modified
 422   1          { 85,85,85,85,85,85,43,4,(*disp4210)}, //display modified
 423   1      
 424   1          { 86,87,86,92,92,98,45,4,(*disp430)},  //group 1:
 425   1          { 87,88,86,93,93,98,45,4,(*disp431)},  //group 2:
 426   1          { 88,89,87,94,94,98,45,4,(*disp432)},  //group 3:
C51 COMPILER V6.02  MAIN                                                                   08/27/2003 15:18:13 PAGE 8   

 427   1          { 89,90,88,95,95,98,45,4,(*disp433)},  //group 4:
 428   1          { 90,91,89,96,96,98,45,4,(*disp434)},  //group 5:
 429   1          { 91,91,90,97,97,98,45,4,(*disp435)},  //group 6:
 430   1      
 431   1          { 92,87,92,92,92,98,45,4,(*disp436)},  //modify group 1
 432   1          { 93,88,86,93,93,98,45,4,(*disp437)},  //modify group 2
 433   1          { 94,89,87,94,94,98,45,4,(*disp438)},  //modify group 3
 434   1          { 95,90,88,95,95,98,45,4,(*disp439)},  //modify group 4
 435   1          { 96,91,89,96,96,98,45,4,(*disp4310)},  //modify group 5
 436   1          { 97,97,90,97,97,98,45,4,(*disp4311)},  //modify group 6
 437   1          { 98,98,98,98,98,98,98,98,(*commu23)},   //send modified
 438   1          { 99,99,99,99,99,99,45,4,(*disp4312)}, //display modified
 439   1      
 440   1          { 100,101,100,100,100,187,47,4,(*disp440)},  //basic v/f control
 441   1      
 442   1          { 101,104,100,101,101,102,47,4,(*disp441)},  // advanced v/f control
 443   1          { 102,102,102,102,102,102,102,102,(*commu24)},   //request
 444   1          { 103,103,103,103,103,103,47,4,(*disp442)}, //display modified
 445   1          { 104,104,101,104,104,105,47,4,(*disp443)},  // vector control
 446   1          { 105,105,105,105,105,105,105,105,(*commu25)},   //request
 447   1          { 106,106,106,106,106,106,47,4,(*disp444)}, //display modified
 448   1      
 449   1          { 107,108,107,110,110,113,49,4,(*disp450)},  //fwd/rev:
 450   1          { 108,109,107,111,111,113,49,4,(*disp451)},  //jog freq. in Hz
 451   1          { 109,109,108,112,112,113,49,4,(*disp452)},  //jog time in sec.:
 452   1      
 453   1          { 110,108,110,110,110,113,49,4,(*disp453)},  //modify fwd/rev:
 454   1          { 111,109,107,111,111,113,49,4,(*disp454)},  //modify jog freq. in Hz
 455   1          { 112,112,108,112,112,113,49,4,(*disp455)},  //modify jog time in sec.:
 456   1          { 113,113,113,113,113,113,113,113,(*commu26)},   //send modified
 457   1          { 114,114,114,114,114,114,49,4,(*disp456)}, //display modified
 458   1      
 459   1          { 115,116,115,119,119,123,51,4,(*disp460)},  //DC mag. Time :
 460   1          { 116,117,115,120,120,123,51,4,(*disp461)},  //DC mag. current
 461   1          { 117,118,116,121,121,123,51,4,(*disp462)},  //DC braking time
 462   1          { 118,118,117,122,122,123,51,4,(*disp463)},  //DC braking current:
 463   1      
 464   1          { 119,116,119,119,119,123,51,4,(*disp464)},  //modify DC mag. Time
 465   1          { 120,117,115,120,120,123,51,4,(*disp465)},  //modify mag. current
 466   1          { 121,118,116,121,121,123,51,4,(*disp466)},  //modify braking time
 467   1          { 122,122,117,122,122,123,51,4,(*disp467)},  //modify braking current
 468   1          { 123,123,123,123,123,123,123,123,(*commu27)},   //send modified
 469   1          { 124,124,124,124,124,124,51,4,(*disp468)}, //display modified
 470   1      
 471   1          { 125,126,125,131,131,137,53,4,(*disp470)},  //DC unblance limit:
 472   1          { 126,127,125,132,132,137,53,4,(*disp471)},  //output overvoltage limit
 473   1          { 127,128,126,133,133,137,53,4,(*disp472)},  //output over current limit:
 474   1          { 128,129,127,134,134,137,53,4,(*disp473)},  // trans overtemp limit
 475   1          { 129,130,128,135,135,137,53,4,(*disp474)},  //cabinet overtemp. limit:
 476   1          { 130,130,129,136,136,137,53,4,(*disp475)},  //motor overtemp. limit:
 477   1      
 478   1          { 131,126,131,131,131,137,53,4,(*disp476)},  //modify DC unblance limit:
 479   1          { 132,127,125,132,132,137,53,4,(*disp477)},  //modify output overvoltage limit
 480   1          { 133,128,126,133,133,137,53,4,(*disp478)},  //modify output over current limit:
 481   1          { 134,129,127,134,134,137,53,4,(*disp479)},  //modify trans overtemp limit
 482   1          { 135,130,128,135,135,137,53,4,(*disp4710)},  //modify cabinet overtemp. limit:
 483   1          { 136,136,129,136,136,137,53,4,(*disp4711)},  //modify motor overtemp. limit:
 484   1          { 137,137,137,137,137,137,137,137,(*commu28)},   //send modified
 485   1          { 138,138,138,138,138,138,53,4,(*disp4712)}, //display modified
 486   1      
 487   1      
 488   1          { 139,140,139,147,147,155,55,4,(*disp480)},  //scale of Vab:
C51 COMPILER V6.02  MAIN                                                                   08/27/2003 15:18:13 PAGE 9   

 489   1          { 140,141,139,148,148,155,55,4,(*disp481)},  //scale of Vbc:
 490   1          { 141,142,140,149,149,155,55,4,(*disp482)},  //offset of Vab:
 491   1          { 142,143,141,150,150,155,55,4,(*disp483)},  //offset of Vbc:
 492   1          { 143,144,142,151,151,155,55,4,(*disp484)},  //scale of current a
 493   1          { 144,145,143,152,152,155,55,4,(*disp485)},  //scale of current c
 494   1          { 145,146,144,153,153,155,55,4,(*disp486)},  //offset of current a
 495   1          { 146,146,145,154,154,155,55,4,(*disp487)},  //offset of current c
 496   1      
 497   1          { 147,140,147,147,147,155,55,4,(*disp488)},  //modify scale of Vab:
 498   1          { 148,141,139,148,148,155,55,4,(*disp489)},  //modify scale of Vbc:
 499   1          { 149,142,140,149,149,155,55,4,(*disp4810)},  //modify offset of Vab:
 500   1          { 150,143,141,150,150,155,55,4,(*disp4811)},  //modify offset of Vbc:
 501   1          { 151,144,142,151,151,155,55,4,(*disp4812)},  //modify scale of current a
 502   1          { 152,145,143,152,152,155,55,4,(*disp4813)},  //modify scale of current c
 503   1          { 153,146,144,153,153,155,55,4,(*disp4814)},  //modify offset of current a
 504   1          { 154,154,145,154,154,155,55,4,(*disp4815)},  //modify offset of current c
 505   1          { 155,155,155,155,155,155,155,155,(*commu29)},   //send modified
 506   1          { 156,156,156,156,156,156,55,4,(*disp4816)}, //display modified
 507   1      
 508   1          { 157,159,157,157,157,158,57,4,(*disp501)}, //第五层phase A:
 509   1          { 158,158,158,158,158,158,158,158,(*commu30)}, //request
 510   1          { 159,161,157,159,159,160,57,4,(*disp502)}, //phase B:
 511   1          { 160,160,160,160,160,160,160,160,(*commu31)}, //request
 512   1          { 161,161,159,161,161,162,57,4,(*disp503)}, //phase C:
 513   1          { 162,162,162,162,162,162,162,162,(*commu32)}, //request
 514   1      
 515   1          { 163,164,163,163,163,163,58,4,(*disp511)}, //Vab, Ia->Vneutral
 516   1          { 164,164,163,164,164,164,58,4,(*disp512)}, //output power->sum kWh
 517   1      
 518   1          { 165,166,165,165,165,165,60,4,(*disp521)}, //main switch state->motor state
 519   1          { 166,166,165,166,166,166,60,4,(*disp522)}, //UPS state->current time
 520   1      
 521   1          { 167,169,167,167,167,168,100,4,(*disp531)}, //v/f relation:
 522   1          { 168,168,168,168,168,168,168,168,(*commu33)}, //request
 523   1          { 169,170,167,173,173,177,100,4,(*disp532)}, //ramp-up time, in  sec.
 524   1          { 170,171,169,174,174,177,100,4,(*disp533)}, //ramp-down time, in sec.
 525   1          { 171,172,170,175,175,177,100,4,(*disp534)}, //ramp type:
 526   1          { 172,172,171,176,176,177,100,4,(*disp535)}, //boost starting voltage:
 527   1      
 528   1          { 173,170,167,173,173,177,100,4,(*disp536)}, //modify ramp-up time, in  sec.
 529   1          { 174,171,169,174,174,177,100,4,(*disp537)}, //modify ramp-down time, in sec.
 530   1          { 175,172,170,175,175,177,100,4,(*disp538)}, //modify ramp type:
 531   1          { 176,176,171,176,176,177,100,4,(*disp539)}, //modify boost starting voltage:
 532   1          { 177,177,177,177,177,177,177,177,(*commu34)},   //send modified
 533   1          { 178,178,178,178,178,178,100,4,(*disp5310)}, //display modified
 534   1      
 535   1      
 536   1          { 179,180,179,179,179,179,157,4,(*disp611)},//第六层unit 1: state/Vdc->unit 5: state/Vdc
 537   1          { 180,180,179,180,180,180,157,4,(*disp612)},//unit 6: state/Vdc
 538   1      
 539   1          { 181,182,181,183,183,185,167,4,(*disp621)},//linear : k
 540   1          { 182,188,181,184,184,185,167,4,(*disp622)},//parabolic_1
 541   1      
 542   1          { 183,182,183,183,183,185,167,4,(*disp631)},//modify linear : k
 543   1          { 184,188,181,184,184,185,167,4,(*disp632)},//modify parabolic_1
 544   1          { 185,185,185,185,185,185,185,185,(*commu35)},//send modified
 545   1          { 186,186,186,186,186,186,167,4,(*disp633)},//display modified
 546   1      
 547   1          { 187,187,187,187,187,187,187,187,(*commu36)},   //request basic V/f control
 548   1          { 188,188,182,189,189,185,167,4,(*disp623)},//parabolic_2
 549   1          { 189,189,182,189,189,185,167,4,(*disp634)},//modify parabolic_2
 550   1      /*machine up*/
C51 COMPILER V6.02  MAIN                                                                   08/27/2003 15:18:13 PAGE 10  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -