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

📄 key.lst

📁 C51单片机一个小项目源程序:包含液晶12232驱动,AD7705驱动,按键扫描及单片机内部EEPROM的驱动,是一个比较值得参考的源程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.50   KEY                                                                   09/26/2007 17:19:07 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN key.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE key.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "mylib.h"
   2          //uchar countclr;
   3          uchar  KEY_NO,count1=0,count2=0,count3=0,count4=0;
   4          uint Ch1k,Ch2k,AD_data;
   5          uint k_ch1a,k_ch1b,k_ch2a,k_ch2b;
   6          uint k_1;
   7          uint k_max1a=0,k_max1b=0,k_max2a=0,k_max2b=0;
   8          extern Ck1,Ck2;
   9          uint AD_getvalue1[2]={0,0};
  10          uint AD_getvalue2[2]={0,0};
  11          uint AD_getvalue3[2]={0,0};
  12          uint AD_getvalue4[2]={0,0};
  13          uchar Turnaround_CornerORPower_Value[2]={0,0};
  14          uchar Turnaround_CornerORPower_Value2[4]={0,0,0,0};
  15          uchar Turnaround_CornerORPower_Value3[4]={0,0,0,0};
  16          
  17          uchar Turnaround_CornerValue1[4]={0,0,0,0};
  18          uchar Turnaround_Power_Value2[4]={0,0,0,0};
  19          
  20          float  Nt=0,Nt1=0,Nt2=0,Nt3=0,Nt4=0;
  21          uint max1=0,max2=0,max3=0,max4=0;
  22          uchar data MENU_NO;
  23          uchar data MENU_MENU1_NO;
  24          uchar data MENU_MENU2_NO;
  25          uchar  Data_AD[4];
  26          //uchar Baudrate;
  27          extern uint  k;
  28          extern uint Turnaround_Corner_0,Turnaround_Corner_360;
  29          extern uint Turnaround_Power_0,Turnaround_Power_200;
  30          extern uchar i,serio_data;
  31          extern uint  j,ReaddataChx;
  32          extern uchar idata buf_data[4];
  33          
  34          void key()
  35          {
  36   1        KEY_NO=0;
  37   1        if((P2&0x1f)!=0x1f)
  38   1        {
  39   2                delay();
  40   2                delay();
  41   2                //delay();
  42   2                //Wait7705(10);
  43   2                if((P2&0x1f)!=0x1f)
  44   2                {
  45   3                   Bell=0;
  46   3                       Led=0;
  47   3                       Wait7705(10000);
  48   3                }
  49   2                Led=1;
  50   2                Bell=1;
  51   2                KEY_NO=(P2&0x1f);
  52   2                KEY_NO=~KEY_NO;
  53   2            KEY_NO&=0x1f;
  54   2           switch(KEY_NO)
  55   2          {     
C51 COMPILER V7.50   KEY                                                                   09/26/2007 17:19:07 PAGE 2   

  56   3              case 1:     
  57   3                 KEY_NO=1;
  58   3                 break;
  59   3              case 2:
  60   3                         KEY_NO=2;
  61   3                 break;
  62   3                      case 4:
  63   3                         KEY_NO=3;
  64   3                         break;
  65   3                      case 8:
  66   3                         KEY_NO=4;
  67   3                         break; 
  68   3                      case 16:
  69   3                         KEY_NO=5;
  70   3                         break;  
  71   3              default:
  72   3                 KEY_NO=0;
  73   3                 break;
  74   3           }
  75   2        }             
  76   1           if(KEY_NO!=0)
  77   1               {
  78   2                  keyprocess(KEY_NO); 
  79   2               }
  80   1      }
  81          void keyprocess(uchar KEY_NO)
  82          {    
  83   1              switch(MENU_NO)
  84   1              {     
  85   2                      case IDMENU_TEST://测量屏
  86   2                            MENU_MENU1_NO=1;
  87   2                            switch(KEY_NO)
  88   2                            {
  89   3                                MENU_MENU1_NO=1;
  90   3                                        case 1:
  91   3                                                        ISP_CONTR=0x60;        //复位
  92   3                                                break;
  93   3                                    case 2:     
  94   3                                                Biao_ding();           //标定选择
  95   3                                                break;      
  96   3                                    case 3:
  97   3                                                //SetSerio=1;
  98   3                                                Turnaround_Corner_test3();
  99   3                                                break;
 100   3                                        case 4: 
 101   3                                                        Turnaround_Corner_test();
 102   3                                                break;
 103   3                                        case 5: 
 104   3                                                Turnaround_Corner_test2();
 105   3                                                break;
 106   3                                        default:
 107   3                                            break;
 108   3                            }
 109   2                            break;
 110   2                      case Bd_jm:                                         //标定选择界面
 111   2                              switch(KEY_NO)
 112   2                              {       
 113   3                                      case 1:
 114   3                                                     ISP_CONTR=0x60;              //复位
 115   3                                                 break;
 116   3                                          case 2:                                 //选择扭矩或转向角标定
 117   3                              switch(MENU_MENU2_NO)
C51 COMPILER V7.50   KEY                                                                   09/26/2007 17:19:07 PAGE 3   

 118   3                                              {       
 119   4                                                  case 1:                                                               
 120   4                                                                        Turnaround_Power();   //扭矩零位标定
 121   4                                                            break;
 122   4                                                  case 2:                                                   
 123   4                                                                    Turnaround_Corner();      //转向角零位标定
 124   4                                                            break;      
 125   4                                                          default:
 126   4                                                        break;
 127   4                                                  }
 128   3                                                  break;      
 129   3                                          case 3:                                 //向上选择子菜单 
 130   3                                                  turn_up(0);
 131   3                                                  break;
 132   3                                              case 4: 
 133   3                                                          Turnaround_Corner_test();
 134   3                                                  break;
 135   3                                          default:
 136   3                                                  break;
 137   3                            }
 138   2                                break;
 139   2                 case Turnaround_Power_ling:                      
 140   2                 {              
 141   3                       switch(KEY_NO)
 142   3                               {
 143   4                                     case 1:
 144   4                                                        ISP_CONTR=0x60;                                 //复位
 145   4                                                        break;
 146   4                                         case 2:
 147   4                                                Turnaround_Power_ling_data();   //扭矩零位确定界面
 148   4                                                        break;
 149   4                                         case 3:
 150   4                                                Biao_ding();                                    //返回标定选择界面
 151   4                                                        break;
 152   4                                         default:break;
 153   4                        }
 154   3                 }
 155   2                 break;
 156   2                 case Turnaround_Power_20NM:                        //扭矩20N.M标定
 157   2                 {
 158   3                       switch(KEY_NO)
 159   3                           {
 160   4                                   case 1:
 161   4                                                ISP_CONTR=0x60;                                 //复位
 162   4                                                        break;
 163   4                                        case 2:
 164   4                                                Turnaround_Power_20_data();     //扭矩20N.M确定界面
 165   4                                                        break;
 166   4                                        case 3: 
 167   4                                                        Biao_ding();                                    //返回标定选择界面
 168   4                                                        break;                                                                          
 169   4                                        default:break;
 170   4                               }
 171   3                      }
 172   2                      break;
 173   2                      case Turnaround_Corner_ling:                              //转向角零位标定界面
 174   2                      {
 175   3                                switch(KEY_NO)
 176   3                               {
 177   4                                     case 1:
 178   4                                                        ISP_CONTR=0x60;                             //复位
 179   4                                                        break;
C51 COMPILER V7.50   KEY                                                                   09/26/2007 17:19:07 PAGE 4   

 180   4                                         case 2:
 181   4                                                    Turnaround_Corner_ling_data();  //转向角零位确定界面
 182   4                                                        break;
 183   4                                         case 3:
 184   4                                                Biao_ding();                        //返回标定选择界面
 185   4                                                        break;
 186   4                                         default:break;
 187   4                        }
 188   3                      }
 189   2                      break;
 190   2                      case Turnaround_Corner_20NM:                          //转向角360标定界面
 191   2                      {
 192   3                               switch(KEY_NO)
 193   3                           {
 194   4                                   case 1:
 195   4                                                ISP_CONTR=0x60;                                 //复位
 196   4                                                        break;
 197   4                                        case 2:
 198   4                                                        Turnaround_Corner_20_data();    //转向角360标定确定界面
 199   4                                                        break;
 200   4                                        case 3: 
 201   4                                Biao_ding();                                    //返回标定选择界面
 202   4                                                        break;                                                                          
 203   4                                        default:break;
 204   4                               }
 205   3                      }
 206   2                      break;
 207   2                      case Turnaround_Corner_Tstg:
 208   2                      {
 209   3                               switch(KEY_NO)
 210   3                           {
 211   4                                   case 1:
 212   4                                                ISP_CONTR=0x60;                                 
 213   4                                                        break;
 214   4                                        case 2:
 215   4                                                        Biao_ding(); 
 216   4                                                        break;                                                                                          
 217   4                                        default:break;
 218   4                               }
 219   3                      }
 220   2                      break;
 221   2                      case Turnaround_Corner_Tstg2:
 222   2                      {
 223   3                               switch(KEY_NO)
 224   3                           {
 225   4                                    case 1:
 226   4                                                ISP_CONTR=0x60;                                 
 227   4                                                        break;
 228   4                                        case 2:
 229   4                                                        Biao_ding(); 
 230   4                                                        break;
 231   4                                        case 5:
 232   4                                                test2();
 233   4                                                break;                                                                                                          
 234   4                                        default:break;
 235   4                               }
 236   3                      }
 237   2                      break;
 238   2                      case Turnaround_Corner_Tstg3:
 239   2                            switch(KEY_NO)
 240   2                           {
 241   3                                    case 1:
C51 COMPILER V7.50   KEY                                                                   09/26/2007 17:19:07 PAGE 5   

 242   3                                                ISP_CONTR=0x60;                                 
 243   3                                                        break;                                                                                                          
 244   3                                        default:break;
 245   3                               }

⌨️ 快捷键说明

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