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

📄 main.lst

📁 这是运用c51单片机测试电压电流的完整工程项目文件
💻 LST
📖 第 1 页 / 共 5 页
字号:
 211   1                      dxz(0,138,10,0);
 212   1                      dxz(0,144,TimeBuffer[4],0);
 213   1                      dxz(0,150,TimeBuffer[5],0);
 214   1      
 215   1                      dxz(0,162,TimeBuffer[6],0);                     //显示时分
 216   1                      dxz(0,168,TimeBuffer[7],0);
 217   1                      dxz(0,174,11,0);
 218   1                      dxz(0,180,TimeBuffer[8],0);
 219   1                      dxz(0,186,TimeBuffer[9],0);
 220   1      }
 221          //读取电池电量
 222          #pragma disable
 223          void Battery()
 224          {
 225   1                      uchar idata BattCount = 0;
 226   1              if((batt2==0)&& (batt1==0) )
 227   1                      BattCount=2;                                                                                                    //1/3格
 228   1      
 229   1              if((batt2==0)&& (batt1==1) )
 230   1                      BattCount=1;                                                                                                    //1/2格
 231   1              if((batt2==1)&& (batt1==1) )
 232   1                      BattCount=0;                                                                                                    //满格
 233   1              if((batt2==1)&& (batt1==0) )
 234   1                      BattCount=0;                                                                                            //满格
 235   1      
 236   1      
 237   1      
 238   1              dtx(1,176,BattCount,0);                         //显示电池电量
 239   1      /*      if(BattCount==2)
 240   1                      {
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 5   

 241   1                              lcd_init();
 242   1                              lcd_init();
 243   1                              lcd_init();
 244   1                              Tlc5615(daCount);
 245   1                              start=1;
 246   1                              Real_Display_Time();           //显示实时时间
 247   1                              dtx(1,176,BattCount,0);                         //显示电池电量
 248   1                              dh(2,40,55,0);//请启用备用电源
 249   1                              dh(2,56,60,0);
 250   1                              dh(2,72,61,0);
 251   1                              dh(2,88,62,0);
 252   1                              dh(2,104,63,0);
 253   1                              dh(2,120,18,0);
 254   1                              dh(2,136,64,0);
 255   1      
 256   1                              dh(4,40,56,0);//重新开机
 257   1                              dh(4,56,57,0);
 258   1                              dh(4,72,58,0);
 259   1                              dh(4,88,59,0);
 260   1                              dh(4,104,47,0);
 261   1      
 262   1                              while(1);
 263   1      
 264   1                      }
 265   1                     */
 266   1      }
 267          //主菜单上下键处理程序
 268          #pragma disable
 269          
 270          void Menu_Move()
 271          {
 272   1              lcd_init();            //清屏
 273   1               Real_Display_Time();           //显示实时时间
 274   1               Battery();                                                     //显示电池电量
 275   1              if ( KeyCount   ==      0 )
 276   1                      {
 277   2                              dh(2,52,10,1);//反白显示,测试
 278   2                              dh(2,68,32,1);
 279   2                              dh(2,84,32,1);
 280   2                              dh(2,100,32,1);
 281   2                              dh(2,108,32,1);
 282   2                              dh(2,124,11,1);
 283   2      
 284   2                              dh(6,52,28,0); //时钟设置
 285   2                              dh(6,68,32,0);
 286   2                              dh(6,76,29,0);
 287   2                              dh(6,92,32,0);
 288   2                              dh(6,100,30,0);
 289   2                              dh(6,116,32,0);
 290   2                              dh(6,124,31,0);
 291   2      
 292   2                              dh(4,52,24,0); //历史数据
 293   2                              dh(4,68,32,0);
 294   2                              dh(4,76,25,0);
 295   2                              dh(4,92,32,0);
 296   2                              dh(4,100,26,0);
 297   2                              dh(4,116,32,0);
 298   2                              dh(4,124,27,0);
 299   2                      }
 300   1              if ( KeyCount   ==      1 )
 301   1                      {
 302   2                              dh(4,52,24,1);   //反显历史数据
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 6   

 303   2                              dh(4,68,32,1);
 304   2                              dh(4,76,25,1);
 305   2                              dh(4,92,32,1);
 306   2                              dh(4,100,26,1);
 307   2                              dh(4,116,32,1);
 308   2                              dh(4,124,27,1);
 309   2      
 310   2                              dh(2,52,10,0); // 测试
 311   2                              dh(2,68,32,0);
 312   2                              dh(2,84,32,0);
 313   2                              dh(2,100,32,0);
 314   2                              dh(2,108,32,0);
 315   2                              dh(2,124,11,0);
 316   2      
 317   2                              dh(6,52,28,0);   //时钟设置
 318   2                              dh(6,68,32,0);
 319   2                              dh(6,76,29,0);
 320   2                              dh(6,92,32,0);
 321   2                              dh(6,100,30,0);
 322   2                              dh(6,116,32,0);
 323   2                              dh(6,124,31,0);
 324   2      
 325   2                      }
 326   1              if ( KeyCount   ==      2 )
 327   1                      {
 328   2                              dh(6,52,28,1);   //反显时钟设置
 329   2                              dh(6,68,32,1);
 330   2                              dh(6,76,29,1);
 331   2                              dh(6,92,32,1);
 332   2                              dh(6,100,30,1);
 333   2                              dh(6,116,32,1);
 334   2                              dh(6,124,31,1);
 335   2      
 336   2                              dh(4,52,24,0);  //历史数据
 337   2                              dh(4,68,32,0);
 338   2                              dh(4,76,25,0);
 339   2                              dh(4,92,32,0);
 340   2                              dh(4,100,26,0);
 341   2                              dh(4,116,32,0);
 342   2                              dh(4,124,27,0);
 343   2      
 344   2      
 345   2                              dh(2,52,10,0);  // 测试
 346   2                              dh(2,68,32,0);
 347   2                              dh(2,84,32,0);
 348   2                              dh(2,100,32,0);
 349   2                              dh(2,108,32,0);
 350   2                              dh(2,124,11,0);
 351   2                      }
 352   1      }
 353          
 354          #pragma disable
 355          void    Time_Dispose_Set()    //将年、月、日、时、分各位数字显示缓存区的数合并,并保存
 356          {
 357   1              TmpBuf[0]  =  (TimeBuffer[8]<<4) | TimeBuffer[9];                //分=十位分*10+个位分
 358   1              TmpBuf[1]  =  (TimeBuffer[6]<<4) | TimeBuffer[7];        //时=十位时*10+个位时
 359   1              TmpBuf[2]  =  (TimeBuffer[4]<<4) | TimeBuffer[5];        //日=十位日*10+个位日
 360   1              TmpBuf[3]  =  (TimeBuffer[2]<<4) | TimeBuffer[3];        //月=十位月*10+个位月
 361   1              TmpBuf[4]  =  (TimeBuffer[0]<<4) | TimeBuffer[1];        //年=十位年*10+个位年
 362   1              PCF8563_SetTime();                                                                                               //数字送器件8563内部寄存器
 363   1      }
 364          
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 7   

 365          
 366          //外部中断1处理程序
 367          uchar mod_1000( uint* ulTmp)   /*分离出千位数并返回,保留余下的部分*/
 368          {
 369   1                      uint ult1;
 370   1                      ult1 = *ulTmp / 1000;
 371   1                      *ulTmp = *ulTmp % 1000;
 372   1                      return ult1;
 373   1      }
 374          uchar mod_100( uint* ulTmp)   /*分离出百位数并返回,保留余下的部分*/
 375          {
 376   1                      uint ult1;
 377   1                      ult1 = *ulTmp / 100;
 378   1                      *ulTmp = *ulTmp % 100;
 379   1                      return ult1;
 380   1      }
 381          uchar mod_10( uint* ulTmp)     /*分离出十位数并返回,保留余下的部分*/
 382          {
 383   1                      uint ult1;
 384   1                      ult1 = *ulTmp / 10;
 385   1                      *ulTmp = *ulTmp % 10;
 386   1                      return ult1;
 387   1      }
 388          void div_u_shuzi(uint ucTmp)            //分离电压数字
 389          {
 390   1              uint uctmp;
 391   1              uctmp           =       ucTmp;
 392   1              UiBuffer[0]     =       mod_100(&uctmp);
 393   1              UiBuffer[1]     =       mod_10(&uctmp);
 394   1              UiBuffer[2]     =       uctmp;
 395   1      
 396   1      }
 397          void div_i_shuzi(uint ucTmp)            //分离电流数字
 398          {
 399   1              uint uctmp;
 400   1              uctmp           =       ucTmp;
 401   1              UiBuffer[3]     =       mod_1000(&uctmp);
 402   1              UiBuffer[4]     =       mod_100(&uctmp);
 403   1              UiBuffer[5]     =       mod_10(&uctmp);
 404   1              UiBuffer[6]     =       uctmp;
 405   1      
 406   1      }
 407          
 408          
 409          void Shipin_U_dispose()        //处理电压读数 显示
 410          {
 411   1      
 412   1              uiDianya        =       (uint)(Read2543(0) * 0.119604);
 413   1        uiDianya      =       (uint)(Read2543(0) * 0.119604);
 414   1        Rec24c64[6]   =       uiDianya/256;
 415   1        Rec24c64[7]   =       uiDianya%256;
 416   1              div_u_shuzi(uiDianya);
 417   1      }
 418          
 419          void Shipin_I_dispose()        //处理电流读数 显示
 420          {
 421   1         uiDianliu    =       (uint)(Read2543(1) * 0.396555);
 422   1         uiDianliu    =       (uint)(Read2543(1) * 0.396555);
 423   1         Rec24c64[1]  =       uiDianliu;
 424   1                      div_i_shuzi(uiDianliu);
 425   1      }
 426          
C51 COMPILER V7.06   MAIN                                                                  12/25/2008 21:13:13 PAGE 8   

 427          //试品异常处理程序
 428          void shipin_error1()

⌨️ 快捷键说明

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