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

📄 main.lst

📁 开发的一个温控仪完整代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
 160          {//定时
 161   1              TF2=0;
 162   1      
 163   1              SampleTimeCnt++;
 164   1              if(SampleTimeCnt==100)////1s/
 165   1              {////
 166   2                      SampleTimeCnt=0;
 167   2                      
 168   2                      TR0=0;///--             
 169   2                      TpTL0=TL0;
 170   2                      TL0=0;
 171   2                      TpTH0=TH0;
 172   2                      TH0=0;
 173   2                      TR0=1;///--     
 174   2      
 175   2                      OverCnt=0;
 176   2                      SampleFlag=1;
 177   2              }
 178   1              //输出下限处理
 179   1              /*
C51 COMPILER V7.50   MAIN                                                                  03/06/2007 20:40:55 PAGE 4   

 180   1              if(Output!=TwinOutput)
 181   1              {//新一轮输出
 182   1                      if((Output<MinOutputLimit)&&(Output>-MinOutputLimit))
 183   1                      {
 184   1                              SpareOutput+=Output;
 185   1                              Output=0;
 186   1                      }
 187   1                      else
 188   1                      {
 189   1                              Output+=SpareOutput;
 190   1                              SpareOutput=0;
 191   1                      }
 192   1              }
 193   1              if((Output==0)&&((SpareOutput>MinOutputLimit)||(SpareOutput<-MinOutputLimit)))
 194   1              {
 195   1                      Output=SpareOutput;
 196   1                      SpareOutput=0;
 197   1              }
 198   1              */
 199   1      
 200   1              if(Output>0)
 201   1              {
 202   2                      PosOutput();
 203   2                      R_ON();
 204   2                      L_OFF();
 205   2                      Output--;
 206   2              }
 207   1              else if(Output<0)
 208   1              {
 209   2                      NegOutput();
 210   2                      L_ON();
 211   2                      R_OFF();
 212   2                      Output++;
 213   2              }
 214   1              else
 215   1              {
 216   2                      OffOutput();
 217   2                      L_OFF();
 218   2                      R_OFF();                
 219   2              }
 220   1              TwinOutput=Output;
 221   1      }
 222          
 223          void time1() interrupt 3
 224          {
 225   1              TF1=0;
 226   1              if(LedCnt>=8)
 227   1              {
 228   2                      P_KEY=1;
 229   2                      LedCnt=0;
 230   2                      LedBitCnt=0x01;
 231   2              }
 232   1              P2=0xff-LedBitCnt;
 233   1              P0=LedBuf[LedCnt];
 234   1      
 235   1      //
 236   1              if(LedCnt<4)
 237   1              {//前4bit,读按键
 238   2      //              P_KEY=1;//拉高,任外面拉低以确认按键
 239   2                      _nop_();
 240   2                      _nop_();
 241   2                      switch(LedBitCnt)
C51 COMPILER V7.50   MAIN                                                                  03/06/2007 20:40:55 PAGE 5   

 242   2                      {
 243   3                              case 0x01://Fun
 244   3                                      if(P_KEY)
 245   3                                      {
 246   4                                              KeySta|=0x01;
 247   4                                              FunFlag=1;
 248   4                                              FunCnt+=1;
 249   4                                              DlySecond=11;//10s
 250   4                                      }
 251   3                                      else
 252   3                                      {
 253   4                                              KeySta &= (0xff-0x01);
 254   4                                              FunCnt=0;
 255   4                                      }
 256   3                                      break;
 257   3                              case 0x02://Up
 258   3                                      if(P_KEY)
 259   3                                      {
 260   4                                              KeySta|=0x02;
 261   4                                              UpCnt+=1;
 262   4                                              DlySecond=11;//10s
 263   4                                      }
 264   3                                      else
 265   3                                      {
 266   4                                              KeySta &= (0xff-0x02);
 267   4                                              UpCnt=0;
 268   4                                      }
 269   3                                      break;
 270   3                              case 0x04://Down
 271   3                                      if(P_KEY)
 272   3                                      {
 273   4                                              KeySta|=0x04;
 274   4                                              DownCnt+=1;
 275   4                                              DlySecond=11;//10s
 276   4                                      }
 277   3                                      else
 278   3                                      {
 279   4                                              KeySta &= (0xff-0x04);
 280   4                                              DownCnt=0;
 281   4                                      }
 282   3                                      break;
 283   3                              case 0x08://Man
 284   3                                      if(P_KEY)
 285   3                                      {
 286   4                                              KeySta|=0x08;
 287   4                                              ManFlag=1;
 288   4                                              DlySecond=11;//10s
 289   4                                      }
 290   3                                      else
 291   3                                              KeySta &= (0xff-0x08);
 292   3                                      break;
 293   3                              default:
 294   3                                      ;
 295   3                      }
 296   2              }
 297   1              else
 298   1              {//后4bit,显示状态
 299   2                      if(LedBitCnt & KeySta)//
 300   2                              P_KEY=0;//亮
 301   2                      else
 302   2                              P_KEY=1;//灭
 303   2              }
C51 COMPILER V7.50   MAIN                                                                  03/06/2007 20:40:55 PAGE 6   

 304   1      
 305   1              LedCnt++;
 306   1              LedBitCnt<<=1;
 307   1      
 308   1              TH1=0xfc;
 309   1              TL1=0x18;
 310   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    952    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -