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

📄 b3_2006.lst

📁 电流电压监测的例子 电 流电压监测的例子
💻 LST
📖 第 1 页 / 共 3 页
字号:
 510   2                  {
 511   3                    PA8255C = 0xa0; //1010 0000//open counter
 512   3                    
 513   3                  }
 514   2                goto jjs;
 515   2                }
 516   1            if((ppt & 0x02) == 0x02)     //满足条件则由B”完全打开标记“引起中断
 517   1                {
 518   2                P1_6 = 0;
 519   2      
 520   2                if(P3_4 == 1)
 521   2                   {
 522   3                     PA8255C = PA8255C & 0xdf; //1101 1111 //close counter 0
 523   3                     A8254CMD = 0x08;
 524   3                     
 525   3                   }
 526   2                goto jjs;
 527   2                }
 528   1            if((ppt & 0x08) == 0x08)     //满足条件则由D“读取标记”引起中断
 529   1                {
 530   2      
 531   2                    //1.read 8253
 532   2                    A8254CMD = 0x08;
 533   2                    drL=A8254T0;
 534   2                    drH++;
 535   2                    drH--;
 536   2                    drH=A8254T0;
 537   2                    BUF8253[0]= CONSTER - ( drH*256 + drL );
 538   2                    A8254CMD = 0x48;
 539   2                    drL=A8254T1;
 540   2                    drH++;
 541   2                    drH--;
 542   2                    drH=A8254T1;
 543   2                    BUF8253[1]=CONSTER - ( drH*256 + drL );
 544   2                    A8254CMD = 0x88;
 545   2                    drL=A8254T2;
 546   2                    drH++;
 547   2                    drH--;
 548   2                    drH=A8254T2;
 549   2                    BUF8253[2]=CONSTER - ( drH*256 + drL );
C51 COMPILER V7.50   B3_2006                                                               04/09/2006 20:35:21 PAGE 10  

 550   2                    //2.read FFG_PLC
 551   2                    switch (FFG_PLC)
 552   2                      {
 553   3                       case 0:  if(P3_5 == 0)
 554   3                                  {
 555   4                                   FFG_PLC = 1;
 556   4                                  }
 557   3                                break;
 558   3                       case 1:  if(P3_5 == 1)
 559   3                                  {
 560   4                                   FFG_PLC = 2;
 561   4                                  }
 562   3                                break;
 563   3                       case 2:  BUF8253[4] = BUF8253[0];
 564   3                                FFG_PLC = 0;
 565   3                                break;
 566   3                       default: break;
 567   3                      }
 568   2                    //3.data parse
 569   2                    BUF8253[0] = BUF8253[0];
 570   2                    BUF8253[1] = BUF8253[1];
 571   2      
 572   2      
 573   2      
 574   2                    //4.over again  initialization 8253
 575   2                     //8253初始化
 576   2                    A8254CMD = 0x38;
 577   2                    A8254T0 = 0xff;
 578   2                    A8254T0 = 0xff;
 579   2                    A8254CMD = 0x78;
 580   2                    A8254T1 = 0xff;
 581   2                    A8254T1 = 0xff;
 582   2                    A8254CMD = 0xb8;
 583   2                    A8254T2 = 0xff;
 584   2                    A8254T2 = 0xff;
 585   2      
 586   2                    //5. grant A B C INT
 587   2                   if((P1_5 == 0) && (P1_6 == 0) && (P1_7 == 0))
 588   2                     {
 589   3                     // P1_5 = 1;
 590   3                     // P1_6 = 1;
 591   3                     // P1_7 = 1;
 592   3                     P1 = P1 | 0xe0;
 593   3                     }
 594   2                   
 595   2                   goto jjt;
 596   2               }
 597   1      jjs:  if((P1 & 0x04) == 0x04)     //满足条件则由C”产品响应标记“引起中断
 598   1               {
 599   2                P1_7 = 0;
 600   2                PA8255C = PA8255C & 0x7f; //0111 1111//close counter 1,2
 601   2                A8254CMD = 0x48;
 602   2                A8254CMD = 0x88;
 603   2               }
 604   1      jjt:  EA=1;
 605   1       }
 606          
 607          /***********************************************************************************************/
 608          void main(void)
 609             {
 610   1           init();
 611   1           while(1)
C51 COMPILER V7.50   B3_2006                                                               04/09/2006 20:35:21 PAGE 11  

 612   1           {
 613   2           switch( EVENTHAND )
 614   2             {
 615   3              case WAIT :/*** EVENT  0  ***/
 616   3                    EVENTHAND=ReadVol;
 617   3                    break;
 618   3      
 619   3              case ReadVol :/*** EVENT 1  读电压值判断是否正常、并且看是否上传数据***/
 620   3      
 621   3                    p=Read8255(PA8255A,PB8255A,PC8255A);
 622   3                      //if((p>Max[2])||(p<Min[2]))
 623   3                    if(p>Max[0])
 624   3                        {
 625   4                        EVENTHAND=ERRORs;
 626   4                        }
 627   3                    else
 628   3                        {
 629   4                        if(flag=='a')
 630   4                          {
 631   5                          MCUToPC[1]='a';
 632   5                          _MCUtoPC();
 633   5                          flag='0';
 634   5                          }
 635   4                        EVENTHAND=ReadCur;
 636   4                        }
 637   3                    break;
 638   3      
 639   3               case ReadCur : /*** EVENT 2  读电流值判断是否正常、并且看是否上传数据***/
 640   3                     {
 641   4                     p=Read8255(PA8255B,PB8255B,PC8255B);
 642   4                      //if((p>Max[3])||(p<Min[3]))
 643   4                     if(p>Max[1])
 644   4                        {
 645   5                        EVENTHAND=ERRORs;
 646   5                        }
 647   4                      else
 648   4                        {
 649   5                        if(flag=='b')
 650   5                          {
 651   6                            MCUToPC[1]='b';
 652   6                            _MCUtoPC();
 653   6                            flag='0';
 654   6                          }
 655   5                        EVENTHAND=WAIT;
 656   5                        }
 657   4                    break;
 658   4                    }
 659   3               default:
 660   3                          break;
 661   3              }
 662   2           }
 663   1       }
 664           //http://www.tztvu.edu.cn/kfjy/bak2001x/bkjy/jsj/bxk/jk/kcdh/zd601.ppt
C51 COMPILER V7.50   B3_2006                                                               04/09/2006 20:35:21 PAGE 12  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
serail . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  u. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0016H  1
  jjj. . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0017H  1
  iii. . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  mk . . . . . . . . . . . . . . . . .  LABEL    CODE   LABEL    -----  -----
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
table. . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0000H  20
Error. . . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0000H  8
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
P1_0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
FFG_PLC. . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0008H  1
DP . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0009H  20
P1_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
P3_4 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
P1_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
P3_5 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
P1_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
flag . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   001DH  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
EVENTHAND. . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   001EH  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
Max. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    001FH  4
uiRe_In. . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0023H  1
BUF8253. . . . . . . . . . . . . . . .  PUBLIC   IDATA  ARRAY    0000H  16
SBUF . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0099H  1
PCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0087H  1
ucReCom. . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0024H  25
_Read8255. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ID8255PA . . . . . . . . . . . . . .  AUTO     DATA   INT      0000H  2
  ID8255PB . . . . . . . . . . . . . .  * REG *  DATA   INT      0004H  2
  ID8255PC . . . . . . . . . . . . . .  AUTO     DATA   INT      0002H  2
  kpa. . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0082H  2
  kpb. . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0004H  2
  kpc. . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0002H  2
  fhw. . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0004H  2
  qwei . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0006H  2
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
init . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ig . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
_MCUtoPC . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  jd . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0004H  2
MCUToPC. . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    003DH  10
ACC. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00E0H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
Int_one. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ppt. . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  drH. . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2
  drL. . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
  jjs. . . . . . . . . . . . . . . . .  LABEL    CODE   LABEL    -----  -----
  jjt. . . . . . . . . . . . . . . . .  LABEL    CODE   LABEL    -----  -----
_Delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
C51 COMPILER V7.50   B3_2006                                                               04/09/2006 20:35:21 PAGE 13  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


  jw . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
  id . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0004H  2
TL1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008BH  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
_Beep. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  x. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0002H  2
  y. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0082H  2
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
_SendChar. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  uSendData. . . . . . . . . . . . . .  * REG *  DATA   CHAR     0007H  1
clflag . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00E7H  1
_CM. . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  a. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0000H  2
  b. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0004H  2
  c. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0004H  2
  q. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0006H  2
  f. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0008H  2
  mu . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      000AH  2
  ju . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      000CH  2
  ku . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      000EH  2
  wu . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0010H  2
  ru . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0012H  2
p. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0047H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1837    ----
   CONSTANT SIZE    =     20    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     72      31
   IDATA SIZE       =     16    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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