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

📄 lzk.lst

📁 基于MST-G240128点阵液晶的 状态机机制 人机界面四级滚屏菜单 源代码 ,带时间片机制模拟操作系统
💻 LST
📖 第 1 页 / 共 3 页
字号:
 233   2                         if(ExSramWrRdAdr>65531)
 234   2               {
 235   3                                 ExSramWrRdAdr = 0;
 236   3                                      ExSramWrRdPag++;
 237   3                              }
 238   2                    SFRPAGE = 0x00;
 239   2               EMI0CF  = 0x00;
 240   2                         EMI0TC  = 0x00;
 241   2      
C51 COMPILER V7.20   LZK                                                                   01/31/2007 10:20:42 PAGE 5   

 242   2                              if(ExSramWrRdPag>ExSramEndPag)
 243   2                              {
 244   3                                      Wave_EN=0;
 245   3                                      RecType=0;
 246   3               }
 247   2         }
 248   1              
 249   1              if(DisWave_En)
 250   1              {
 251   2                              ExSRAM_PageSetting(ExSramWrRdPag);
 252   2      
 253   2                              for(AD_Switch=0;AD_Switch<4;AD_Switch++)
 254   2                              {
 255   3                              ExSramWrRdAdrPt = ExSramWrRdAdr;
 256   3                              AD_DataBuff[AD_Switch] = *ExSramWrRdAdrPt;
 257   3                              ExSramWrRdAdr++;
 258   3                              }
 259   2      
 260   2                              SFRPAGE = 0x00;
 261   2                              EMI0CF  = 0x00;
 262   2                              EMI0TC  = 0x00;
 263   2      
 264   2                              DisWave_En=0;
 265   2              }
 266   1      
 267   1          /******KEY SCAN*****************************************************/
 268   1                      SFRPAGE = 0x0F;
 269   1      
 270   1                      if(MenuKeyCNT<500&&MenueKey==1)
 271   1                         MenuKeyCNT=0;
 272   1                      if(MenuKeyCNT<500&&MenueKey==0)
 273   1                         MenuKeyCNT++;
 274   1                      if(MenuKeyCNT>=500&&MenueKey==1)
 275   1                      {
 276   2                         MenuKeyEvt=1;
 277   2                         MenuKeyCNT=0;
 278   2                      }
 279   1      
 280   1                      if(EnterKeyCNT<500&&EnterKey==1)
 281   1                         EnterKeyCNT=0;
 282   1                      if(EnterKeyCNT<500&&EnterKey==0)
 283   1                         EnterKeyCNT++;
 284   1                      if(EnterKeyCNT>=500&&EnterKey==1)
 285   1                      {
 286   2                              EnterKeyEvt=1;
 287   2                              EnterKeyCNT=0;
 288   2                      }
 289   1      
 290   1                      if(CancelKeyCNT<500&&CancelKey==1)
 291   1                         CancelKeyCNT=0;      
 292   1                      if(CancelKeyCNT<500&&CancelKey==0)
 293   1                         CancelKeyCNT++;
 294   1                      if(CancelKeyCNT>=500&&CancelKey==1)
 295   1                      {
 296   2                              CancelKeyEvt=1;
 297   2                              CancelKeyCNT=0;
 298   2                      }
 299   1      
 300   1                      if(UpKeyCNT<500&&UpKey==1)
 301   1                         UpKeyCNT=0;
 302   1                      if(UpKeyCNT<10000&&UpKey==0)
 303   1                         UpKeyCNT++;
C51 COMPILER V7.20   LZK                                                                   01/31/2007 10:20:42 PAGE 6   

 304   1                      if(UpKeyCNT>=500&&UpKey==1)
 305   1                      {
 306   2                              UpKeyEvt=1;
 307   2                              UpKeyCNT=0;
 308   2                      }
 309   1                      if(UpKeyCNT>=10000)
 310   1                      {
 311   2                              UpKeyCNT++;
 312   2                              if(UpKeyCNT>10040)
 313   2                                 HI_Bell=0;
 314   2                              if(UpKeyCNT>10200)
 315   2                              {
 316   3                                 UpKeyCNT=10000;
 317   3                                      UpKeyEvt=1;
 318   3                              }
 319   2                      }
 320   1      
 321   1                      if(DownKeyCNT<500&&DownKey==1)
 322   1                         DownKeyCNT=0;
 323   1                      if(DownKeyCNT<10000&&DownKey==0)
 324   1                         DownKeyCNT++;
 325   1                      if(DownKeyCNT>=500&&DownKey==1)
 326   1                      {
 327   2                              DownKeyEvt=1;
 328   2                              DownKeyCNT=0;
 329   2                      }       
 330   1                      if(DownKeyCNT>=10000)
 331   1                      {
 332   2                              DownKeyCNT++;
 333   2                              if(DownKeyCNT>10040)
 334   2                                 HI_Bell=0;
 335   2                              if(DownKeyCNT>10200)
 336   2                              {
 337   3                                 DownKeyCNT=10000;
 338   3                                      DownKeyEvt=1;
 339   3                              }
 340   2                      }
 341   1      
 342   1                      if(LeftKeyCNT<500&&LeftKey==1)
 343   1                         LeftKeyCNT=0;
 344   1                      if(LeftKeyCNT<500&&LeftKey==0)
 345   1                         LeftKeyCNT++;
 346   1                      if(LeftKeyCNT>=500&&LeftKey==1)
 347   1                      {
 348   2                              LeftKeyEvt=1;
 349   2                              LeftKeyCNT=0;
 350   2                      }
 351   1      
 352   1                      if(RightKeyCNT<500&&RightKey==1)
 353   1                         RightKeyCNT=0;
 354   1                      if(RightKeyCNT<500&&RightKey==0)
 355   1                         RightKeyCNT++;
 356   1                      if(RightKeyCNT>=500&&RightKey==1)
 357   1                      {
 358   2                              RightKeyEvt=1;
 359   2                              RightKeyCNT=0;
 360   2                      }
 361   1         
 362   1           /******KEY SCAN**************END*********************************/
 363   1                      DmsCNT++;
 364   1                      if(DmsCNT>=8)
 365   1                      {
C51 COMPILER V7.20   LZK                                                                   01/31/2007 10:20:42 PAGE 7   

 366   2                              DmsCNT=0;
 367   2                              DmsFlag=1;
 368   2                              Dms2Flag=1;
 369   2                      }
 370   1            /***************************************************************/
 371   1                      LCD_Cs();
 372   1      }
 373          
 374          
 375          
 376          
 377          /****************************************************************************
 378          ** 函数名称: main()
 379          ** 功能描述: 主程序,处理非实时任务或计算任务;
 380          ** 入口参数: 无
 381          ** 出口参数: 无
 382          ** 全局变量: 无
 383          ** 调用模块: 无
 384          ** 说明: 
 385          ****************************************************************************/
 386          void main(void)
 387          {
 388   1      
 389   1         EA = 0;
 390   1        
 391   1         SP = 0xC0;                 // SP: 64 Bytes,0xC0~0xff, User: 192 Bytes.
 392   1         WDT_Disabled();            // WatchDog Disabled.
 393   1         Port_Init();               // I/O Port and EMIF Config.
 394   1         External_Osc();            // Switch to External Oscillator, 24.000MHz.
 395   1         SMBusInit();
 396   1         
 397   1        
 398   1      
 399   1         Interrupt_Init();          // Interrupt Controllor Initialize.
 400   1      
 401   1         InVref_Init(1);            // Enabled Internal Vlotage Reference.
 402   1         ADC0_Init(1,0,0,0,0,0,0);  // ADC0 Enabled, AD0BUSY, CH0, GAIN: 1, HVA Disabled, HVA GAIN: 1, Left-just
             -ified.
 403   1      
 404   1         PCA_Init();                // CEX0: Square Wave. CEX1: "1".
 405   1      
 406   1         RelayOutPut_Init();        // 继电器输出需要执行该初始化.
 407   1      
 408   1      
 409   1         //T0T1_Init();      // T0: PhaseDiff MS; T1: UART1 Baudrate Generator.
 410   1         T2_Init();        // T2: Generate 125uS Interrup;;
 411   1         //T4_Init();        // UART0 Baudrate Generator.
 412   1         //T0_RunCtrl(1);
 413   1         //T1_RunCtrl(1);
 414   1         T2_RunCtrl(1);
 415   1         //T4_RunCtrl(1);
 416   1      
 417   1         //UART0_Init();        // RS485, Default to  
 418   1         //Tn_R0 = 1;           // RS485  In Recieve State.
 419   1         //UART1_Init();        // RS232, Fixed   as 57600bps
 420   1                   
 421   1         
 422   1         WDT_Reload();          
 423   1         EA=1;
 424   1         
 425   1         /////////////////////////////////////////////////
 426   1              
C51 COMPILER V7.20   LZK                                                                   01/31/2007 10:20:42 PAGE 8   

 427   1              LCD_Initialize();
 428   1         Menue(18);
 429   1         Menue(16);
 430   1         
 431   1         
 432   1         
 433   1      
 434   1         while(1)
 435   1         {
 436   2            /*********************************************************
 437   2                      DLJ合闸,切换启动录波图片,启动录波使能开启
 438   2            DLJ分闸,切换停机图片,关闭所有类型的录波使能
 439   2                      *********************************************************/
 440   2                      
 441   2                      if(Star_EN==1)
 442   2                      {
 443   3                              if(DLJ_IN==1)
 444   3                              {
 445   4                                      Star_EN=0;
 446   4                                      RecType=0;
 447   4                                      PictrRege=PictrRege&0xfe;
 448   4                              }
 449   3                      }
 450   2                      else
 451   2                      {
 452   3                              if(DLJ_IN==0)
 453   3                              {
 454   4                                      Star_EN=1;
 455   4                                      if(EN_StartRec == 1)//启动录波是非开启
 456   4                                         RecType=2;
 457   4                                      PictrRege=PictrRege|0x01;
 458   4                              }
 459   3                      }
 460   2                      
 461   2                 /*********************************************************
 462   2                      RecType!=0,意味着录波开启,根据具体的值分配存储空间,并且图片状态切换
 463   2                      RecType==0,意味着录波关闭,并且图片状态切换
 464   2                      *********************************************************/
 465   2            if(RecType!=RecTemp)
 466   2                      {
 467   3                         RecTemp=RecType;
 468   3               if(RecTemp!=0)
 469   3                              {
 470   4                                      switch(RecTemp)

⌨️ 快捷键说明

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