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

📄 all.lst

📁 刚刚传错了
💻 LST
📖 第 1 页 / 共 2 页
字号:
 154   3                         }
 155   2                                   break;                                              //'9'
 156   2                      case 41:  if(i==3)                   //'ok'
 157   2                                        {
 158   3                                        ch=ch*256/512;
 159   3                                        shuchu=ch;
 160   3                        ch=0;
 161   3                        TH0=65200;
 162   3                            TL0=65200;
 163   3                                        vShowOneChin(2,49,uca_0);
 164   3                                        vShowOneChin(2,64,uca_0);
 165   3                                        vShowOneChin(4,48,uca_SHU);
 166   3                            vShowOneChin(4,64,uca_CHU);
 167   3                                        vShowOneChar(6,88,uca_HEN);
 168   3                            vShowOneChar(6,104,uca_HEN);
 169   3                            vShowOneChar(6,112,uca_HEN);
 170   3                                        }
 171   2                                        i=0;
 172   2                                        break;        
 173   2                      }                         
 174   1      }
 175          
 176          void vTimer0(void) interrupt 1 using 2
 177          {
 178   1          uchar a,d;
C51 COMPILER V6.23a  ALL                                                                   10/02/2007 16:57:17 PAGE 4   

 179   1              unsigned  long int c=0;
 180   1              uchar data tab[3];
 181   1              a=(((zhuhuandata&0xf0)>>4)*100/16);
 182   1          d=((zhuhuandata&0x0f)*100/256);
 183   1          c=(a+d)*5.12;
 184   1          tab[0]=c%10;
 185   1          tab[1]=c/10%10;
 186   1          tab[2]=c/100%10;
 187   1              vShowOneChar(2,89,uca[tab[2]]);
 188   1              vShowOneChar(2,103,uca[tab[1]]);
 189   1              vShowOneChar(2,111,uca[tab[0]]);
 190   1          TH0=TIME1H;
 191   1              TL0=TIME1L;
 192   1              
 193   1      }
 194          
 195          void main(void)
 196          {
 197   1          SCANPORT=0x8F;      
 198   1              ClearLCD(0x00);
 199   1              vShowOneChar(2,89,uca[5]);
 200   1              vShowOneChar(2,96,uca_XIAOSHU);
 201   1              vShowOneChar(2,103,uca[0]);
 202   1              vShowOneChar(2,111,uca[0]);
 203   1              vShowOneChar(2,120,uca_V);
 204   1          vShowOneChin(0,0,uca_DANG);
 205   1              vShowOneChin(0,16,uca_QIAN);
 206   1              vShowOneChin(0,32,uca_GONG);
 207   1              vShowOneChin(0,48,uca_ZUO);
 208   1              vShowOneChin(0,64,uca_DIAN);
 209   1              vShowOneChin(0,80,uca_YA);
 210   1              vShowOneChin(0,96,uca_MAOHAO);
 211   1              vShowOneChin(4,0,uca_QING);
 212   1              vShowOneChin(4,16,uca_SHE);
 213   1              vShowOneChin(4,32,uca_ZHI);
 214   1              vShowOneChin(4,48,uca_SHU);
 215   1              vShowOneChin(4,64,uca_CHU);
 216   1              vShowOneChin(4,80,uca_DIAN);
 217   1              vShowOneChin(4,96,uca_YA);
 218   1              vShowOneChin(4,112,uca_MAOHAO);
 219   1              vShowOneChar(6,96,uca_XIAOSHU);
 220   1              vShowOneChar(6,88,uca_HEN);
 221   1              vShowOneChar(6,104,uca_HEN);
 222   1              vShowOneChar(6,113,uca_HEN);
 223   1              vShowOneChar(6,119,uca_V);
 224   1              
 225   1      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<外部中断0,用于开启键盘扫描及键码处理标志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 226   1              TMOD=0X01;
 227   1          TH0=TIME1H;
 228   1              TL0=TIME1L;
 229   1              ET0=1;                  //T/C0开中断
 230   1              TR0=1;              //开定时器0中断
 231   1              IT0=1;                  //外中断方式:下降沿。
 232   1              EX0=1;                  //开启外部中断。
 233   1          EA=1;
 234   1      
 235   1      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<外部中断0,用于开启键盘扫描及键码处理标志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 236   1          
 237   1      while(1)
 238   1       { 
 239   2           wr=0;
 240   2           wr=1;
C51 COMPILER V6.23a  ALL                                                                   10/02/2007 16:57:17 PAGE 5   

 241   2           chuli();
 242   2              if(zhuhuandata<=shuchu)P27=0;
 243   2              if(zhuhuandata>shuchu)P27=1;
 244   2          if(zhuhuandata<=shuchu)P27=0;
 245   2        }
 246   1       }
 247          
 248          void chuli()
 249          {
 250   1       rd=0;
 251   1       zhuhuandata=P0;
 252   1      }
 253          
 254          //*************************************************************************************************
 255          //*                                                                                                                                                                                               *
 256          //*                       ********************************函数实现******************************                          *
 257          //*                                                                                                                                                                                               *
 258          //*************************************************************************************************
 259          unsigned char getkey()
 260          {   
 261   1          uchar ucTemp=0;                             //扫描状态暂存。
 262   1              uchar ucRow=0,ucLine=0;     //行号,列号。
 263   1        
 264   1                for(ucLine=0;ucLine<3;ucLine++)               //列扫描
 265   1                      {
 266   2                         SCANPORT=uca_LineScan[ucLine];                          //输出扫描电位。
 267   2                              ucTemp=SCANPORT&0x8F;                                      //输入扫描电位,并屏蔽高4位。
 268   2                              if(ucTemp!=0x8F)                 
 269   2                                {                                                               //判断该列是否有按键按下。
 270   3                                      switch(ucTemp)
 271   3                                              {
 272   4                                              case 0x8E: ucRow=10;break;                //如果有,则判断行号。
 273   4                                              case 0x8D: ucRow=20;break;
 274   4                                              case 0x8B: ucRow=30;break;
 275   4                                              case 0x87: ucRow=40;break;
 276   4                                              default: P0=~P0;  break;
 277   4                                               }
 278   3                                              break;
 279   3                                 }
 280   2                       }  
 281   1      
 282   1      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<恢复键扫描处理前初始状态>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 283   1              SCANPORT=0x8F;                                          //恢复P2口
 284   1         return (ucRow+ucLine+1);//返回按键编码。格式为2位数,高位为行号,低位为列号。
 285   1        }
 286          //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<恢复键扫描处理前初始状态>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 287          void vINT0(void) interrupt 0
 288          { 
 289   1        EX0=0;
 290   1        key_chuli(getkey());
 291   1        while((SCANPORT&0x8F)!=0x8f)   //等待按键松开//
 292   1        {
 293   2        };
 294   1        EX0=1;
 295   1       }
 296          
 297          
 298          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1446    ----
C51 COMPILER V6.23a  ALL                                                                   10/02/2007 16:57:17 PAGE 6   

   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14       9
   IDATA SIZE       =   ----    ----
   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 + -