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

📄 kb.lst

📁 此程序为本人在公司开发的继电器功能测试仪
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.06   KB                                                                    08/06/2007 17:38:09 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE KB
OBJECT MODULE PLACED IN kb.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE kb.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1                  #include <absacc.h>
   2                  #include <intrins.h>
   3                  #include "variable.h"
   4                  #include "main.h"
   5                  #include "lcd.h"
   6                  #include "kb.h"
   7                  #include "i2c.h"
   8                  #include "ad.h"
   9                  #include "screen.h"
  10                  void KB_Proc(void)
  11                  {
  12   1                      static bit F_L=0;
  13   1                      DA_C=0;
  14   1                      if((DA_C&0XF0)!=0XF0)
  15   1                      {
  16   2                              delay(5000);
  17   2                              if(((DA_C&0XF0)==0XF0)||F_L) return;
  18   2                              F_L=1;
  19   2                              DA_C=0XFE;
  20   2                              switch(DA_C&0XF0)
  21   2                              {
  22   3                                      case 0xE0: Key_Num(1);break;
  23   3                                      case 0xD0: Key_Num(4);break;
  24   3                                      case 0xB0: Key_Num(7);break;
  25   3                                      case 0x70: Key_Num(0);break;
  26   3                              }
  27   2                              DA_C=0XFD;
  28   2                              switch(DA_C&0XF0)
  29   2                              {
  30   3                                      case 0xE0: Key_Num(2); break;
  31   3                                      case 0xD0: Key_Num(5); break;
  32   3                                      case 0xB0: Key_Num(8); break;
  33   3                                      case 0x70: Key_Next_Page(); break;
  34   3                              }
  35   2                              DA_C=0XFB;
  36   2                              switch(DA_C&0XF0)
  37   2                              {
  38   3                                      case 0xE0: Key_Num(3); break;
  39   3                                      case 0xD0: Key_Num(6); break;
  40   3                                      case 0xB0: Key_Num(9); break;
  41   3                                      case 0x70: Key_Pre_Page(); break;
  42   3                              }
  43   2                              DA_C=0XF7;
  44   2                              switch(DA_C&0XF0)
  45   2                              {
  46   3                                      case 0xE0: Key_Set_Enter(); break;
  47   3                                      case 0xD0: Key_Next_Bit(); break;
  48   3                                      case 0xB0: Key_Pre_Bit(); break;
  49   3                                      case 0x70: 
  50   3                                      {
  51   4                                              Key_Test(); 
  52   4                                              if(Connect_ok)
  53   4                                              {
  54   5                                                      unsigned char r;
  55   5                                                      ES=0;
C51 COMPILER V7.06   KB                                                                    08/06/2007 17:38:09 PAGE 2   

  56   5                                                      SBUF=0x22;
  57   5                                                      while(!TI);
  58   5                                                      TI=0;
  59   5                                                      for(r=0;r<12;r++)
  60   5                                                      {
  61   6                                                              IntToByte(Test_Data[r]);
  62   6                                                      }
  63   5                                                      ES=1;
  64   5                                              }
  65   4                                      } break;
  66   3                              }
  67   2                      }
  68   1                      if(((DA_C&0XF0)==0XF0)&&F_L) F_L=0;
  69   1              }
  70          
  71          
  72                  void Key_Set_Enter(void)
  73                  {
  74   1                      IO_B=0xFF;
  75   1                      DA_Convert(0);
  76   1                      SetK_Flag=!SetK_Flag;
  77   1                      LCD_Clear();
  78   1                      if(SetK_Flag==1)
  79   1                      {               
  80   2                              //Screen_Setting();
  81   2                              Page_Val=1;
  82   2      
  83   2                      }
  84   1                      else
  85   1                      {
  86   2                              //Screen_Test();
  87   2                              Page_Val=0;     
  88   2                              //Ini_Read();
  89   2                      }
  90   1                      Screen_Setting(Page_Val);
  91   1                      Screen_Read(Page_Val);
  92   1              }
  93          
  94                  void Key_Num(unsigned char i)
  95                  {       
  96   1                      static unsigned char SetC_Flag=0;
  97   1                      static bit SetV_Flag=0,SetR_Flag=0,Adjust_Flag=0;
  98   1                      unsigned char z;
  99   1                      if(SetK_Flag==1)
 100   1                      {
 101   2                              LCD_CmdWrite(0x10,0x0B);
 102   2                              switch(Page_Val)
 103   2                              {
 104   3                                      case 1:
 105   3                                      {
 106   4                                              z=Unit_Addr_L;
 107   4                                              Unit_Addr_L+=Dis_X;
 108   4                                              WRITEBYTE(0xA0,Unit_Addr_H,Unit_Addr_L,i);                      
 109   4                                              SetP_Data[Dis_X]=i;                     
 110   4                                              GotoXY(Set_X_1[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
 111   4                                              LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);  
 112   4                                              Unit_Addr_L=z;
 113   4                                      } break;
 114   3                                      case 2:
 115   3                                      {
 116   4                                              if((Dis_Y==2)&&(i==1))
 117   4                                              {
C51 COMPILER V7.06   KB                                                                    08/06/2007 17:38:09 PAGE 3   

 118   5                                                      if(Dis_X==0)
 119   5                                                      {
 120   6                                                              SetC_Flag++;
 121   6                                                              if(SetC_Flag==3) SetC_Flag=0;
 122   6                                                              if(SetC_Flag==0)
 123   6                                                              {
 124   7                                                                      SetP_Data[0]=1;
 125   7                                                                      SetP_Data[1]=0; 
 126   7                                                                      SetP_Data[2]=0;                         
 127   7                                                              }
 128   6                                                              if(SetC_Flag==1)
 129   6                                                              {
 130   7                                                                      SetP_Data[0]=0;
 131   7                                                                      SetP_Data[1]=1; 
 132   7                                                                      SetP_Data[2]=0;                         
 133   7                                                              }
 134   6                                                              if(SetC_Flag==2)
 135   6                                                              {
 136   7                                                                      SetP_Data[0]=0;
 137   7                                                                      SetP_Data[1]=0; 
 138   7                                                                      SetP_Data[2]=1;                         
 139   7                                                              }
 140   6                                                              WRITEDATAARRAY(3,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
 141   6                                                              GotoXY(Set_X_2[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
 142   6                                                              for(z=0;z<Num_Now;z++)
 143   6                                                              {
 144   7                                                                      LCD_DataWrite(Display_Code[SetP_Data[Dis_X++]]);
 145   7                                                                      delay(200);
 146   7                                                              }
 147   6                                                              for(z=0;z<Num_Now;z++) Dis_X--;
 148   6                                                      }
 149   5                                                      else if(Dis_X==3)
 150   5                                                      {
 151   6                                                              SetR_Flag=!SetR_Flag;
 152   6                                                              if(SetR_Flag) SetP_Data[Dis_X]=10;//1A
 153   6                                                              else SetP_Data[Dis_X]=12;       //1C
 154   6                                                              z=Unit_Addr_L;
 155   6                                                              Unit_Addr_L+=Dis_X;
 156   6                                                              WRITEBYTE(0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data[Dis_X]);
 157   6                                                              GotoXY(Set_X_2[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
 158   6                                                              LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);
 159   6                                                              Unit_Addr_L=z;
 160   6                                                      }
 161   5                                              }
 162   4                                              else if((Dis_Y==2)&&(i!=1)) ;
 163   4                                              else
 164   4                                              {
 165   5                                                      z=Unit_Addr_L;
 166   5                                                      Unit_Addr_L+=Dis_X;
 167   5                                                      WRITEBYTE(0xA0,Unit_Addr_H,Unit_Addr_L,i);                      
 168   5                                                      SetP_Data[Dis_X]=i;                     
 169   5                                                      GotoXY(Set_X_2[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
 170   5                                                      LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);
 171   5                                                      Unit_Addr_L=z;  
 172   5                                              }
 173   4                                      } break;

⌨️ 快捷键说明

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