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

📄 calready.lst

📁 LCD1602.rar
💻 LST
📖 第 1 页 / 共 2 页
字号:
 126   2                              case 21: vPushOne(4);break;                                     //'4'
 127   2                              case 22: vPushOne(5);break;                                     //'5'
 128   2                              case 23: vPushOne(6);break;                                     //'6'
 129   2                              case 31: vPushOne(1);break;                                     //'1'
 130   2                              case 32: vPushOne(2);break;                                     //'2'
 131   2                              case 33: vPushOne(3);break;                                     //'3'
 132   2                              case 42: vPushOne(0);b_Zero=1;break;            //'0',当压入数字为0时,置0检测标志。
 133   2      
 134   2                              default:
 135   2      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<此处的b_Zero判断主要是为了实现连续运算功能>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 136   2                                              if(b_Zero==0&&ul_NumberOne==0)          //如果是运算符,则首先判断是否有0输入。
 137   2                                                      {                                                               //如果没有0输入,然而数字1是0,
 138   3                                                      ul_NumberOne=ul_Result;                 //说明是继续上一次运算,将上一次运算结束
 139   3                                                      switch(ucKeyCode)                               //赋给第一个数,进行连续运算。
 140   3                                                              {
 141   4                                                              case 14: uc_Operator=14;uc_NumPointer=2;break;          //'/'
 142   4                                                              case 24: uc_Operator=24;uc_NumPointer=2;break;          //*
 143   4                                                              case 34: uc_Operator=34;uc_NumPointer=2;break;          //'-'
 144   4                                                              case 44: uc_Operator=44;uc_NumPointer=2;break;          //'+'
 145   4                                                              default: break;
 146   4                                                              }
 147   3                                                      }
 148   2                                              else
 149   2                                                      switch(ucKeyCode)                               //如果有0输入,则说明是全新计算,正常进行。     
 150   2                                                              {
 151   3                                                              case 14: uc_Operator=14;uc_NumPointer=2;break;          //'/'
 152   3                                                              case 24: uc_Operator=24;uc_NumPointer=2;break;          //*
 153   3                                                              case 34: uc_Operator=34;uc_NumPointer=2;break;          //'-'
 154   3                                                              case 44: uc_Operator=44;uc_NumPointer=2;break;          //'+'
 155   3                                                              default: break;
 156   3                                                              }
 157   2                                              break;
 158   2                      }                                                                                               
 159   1      }
 160          
 161          //*************************************************************************************************
 162          //*                                                                                                                                                                                               *
 163          //*                      *******************************状态二预处理******************************                        *
 164          //*                                                                                                                                                                                               *
 165          //*************************************************************************************************
 166          
 167          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<将1位数字压入第二个数字中>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 168          void vPushTwo(unsigned char ucPushNum)
 169          {
 170   1              if(ul_NumberTwo<100000)                         //如果数字小于6位则压入数字,否则不执行。
 171   1                      {
 172   2                      ul_NumberTwo=ul_NumberTwo*10+ucPushNum;
 173   2                      ul_Number=ul_NumberTwo;
 174   2                      }
 175   1      }
 176          
 177          
 178          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<状态二按键处理函数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
C51 COMPILER V8.05a   CALREADY                                                             07/30/2007 16:59:25 PAGE 4   

 179          void vCalReadyTwo(unsigned char ucKeyCode)
 180          {
 181   1              switch(ucKeyCode)                                        //状态二下如果有数字输入则将数字压入数字二,转到状态三。
 182   1                      {
 183   2                              case 11: vPushTwo(7);uc_NumPointer=3;break;                     //'7'
 184   2                              case 12: vPushTwo(8);uc_NumPointer=3;break;                     //'8'
 185   2                              case 13: vPushTwo(9);uc_NumPointer=3;break;                     //'9'
 186   2                              case 21: vPushTwo(4);uc_NumPointer=3;break;                     //'4'
 187   2                              case 22: vPushTwo(5);uc_NumPointer=3;break;                     //'5'
 188   2                              case 23: vPushTwo(6);uc_NumPointer=3;break;                     //'6'
 189   2                              case 31: vPushTwo(1);uc_NumPointer=3;break;                     //'1'
 190   2                              case 32: vPushTwo(2);uc_NumPointer=3;break;                     //'2'
 191   2                              case 33: vPushTwo(3);uc_NumPointer=3;break;                     //'3'
 192   2                              case 42: vPushTwo(0);uc_NumPointer=3;break;                     //'0'
 193   2      
 194   2                                                                                 //如果有运算符输入则将运算符键码存储在uc_Operator中。
 195   2                              case 14: uc_Operator=14;break;                                           //'/'
 196   2                              case 24: uc_Operator=24;break;                                           //*
 197   2                              case 34: uc_Operator=34;break;                                           //'-'
 198   2                              case 44: uc_Operator=44;break;                                           //'+'
 199   2                              default: break;
 200   2                      }       
 201   1      }
 202          
 203          //*************************************************************************************************
 204          //*                                                                                                                                                                                               *
 205          //*                      *******************************状态三预处理******************************                        *
 206          //*                                                                                                                                                                                               *
 207          //*************************************************************************************************
 208          
 209          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<状态三继续运算函数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 210          void vCalContinue(unsigned char ucKeyCode)
 211          {
 212   1              vGetResult();
 213   1              ul_NumberOne=ul_Result;
 214   1              uc_Operator=ucKeyCode;
 215   1              uc_NumPointer=2;
 216   1      }
 217          
 218          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<状态三按键处理函数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 219          void vCalReadyThree(unsigned char ucKeyCode)
 220          {
 221   1              switch(ucKeyCode)
 222   1                      {                                                                  //状态三下如果有数字输入,则压入数字二。
 223   2                              case 11: vPushTwo(7);break;                                             //'7'
 224   2                              case 12: vPushTwo(8);break;                                             //'8'
 225   2                              case 13: vPushTwo(9);break;                                             //'9'
 226   2                              case 21: vPushTwo(4);break;                                             //'4'
 227   2                              case 22: vPushTwo(5);break;                                             //'5'
 228   2                              case 23: vPushTwo(6);break;                                             //'6'
 229   2                              case 31: vPushTwo(1);break;                                             //'1'
 230   2                              case 32: vPushTwo(2);break;                                             //'2'
 231   2                              case 33: vPushTwo(3);break;                                             //'3'
 232   2                              case 42: vPushTwo(0);break;                                             //'0'
 233   2      
 234   2                                                                                        //如果有“=”号输入则计算结果。
 235   2                              case 43: vGetResult();break;                                    //'='
 236   2                                                                                        //如果有运算符输入则执行继续运算。
 237   2                              case 14: vCalContinue(14);break;                                //'/'
 238   2                              case 24: vCalContinue(24);break;                                //*
 239   2                              case 34: vCalContinue(34);break;                                //'-'
 240   2                              case 44: vCalContinue(44);break;                                //'+'
C51 COMPILER V8.05a   CALREADY                                                             07/30/2007 16:59:25 PAGE 5   

 241   2      
 242   2                              default: break;
 243   2                      }       
 244   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    905    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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