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

📄 interrupt.lst

📁 基于51单片机系统
💻 LST
📖 第 1 页 / 共 2 页
字号:
 150   2              }
 151   1              else
 152   1              {
 153   2                      s_Channel++;
 154   2              }
 155   1              
 156   1              T0_ENABLE;
 157   1      }
 158          
 159          void INT_0() interrupt 0                 // 手工通断控制 
 160          {
 161   1              INT_DISABLE;
 162   1      
 163   1              if(g_State[0]==0x00)             // 开始手工控制 
 164   1              {
 165   2                      g_Channel = 0;
 166   2      
 167   2                      ControlDisplay(0x0b00);
 168   2                      ControlDisplay(0x0900);
 169   2                      ControlDisplay(0x0800);
 170   2      
 171   2                      g_State[0] = 0xff;
 172   2              }
 173   1              else                                             // 完成手工控制 
 174   1              {
 175   2                      if(g_Channel!=0)
 176   2                      {
 177   3                              if(g_State[g_Channel]==0x03)
 178   3                              {
 179   4                                      if(g_Channel<9)
C51 COMPILER V8.02   INTERRUPT                                                             08/03/2008 10:54:15 PAGE 4   

 180   4                                      {
 181   5                                              Reconnect_1(g_Channel);
 182   5                                      }
 183   4                                      if((g_Channel>8) && (g_Channel<17))
 184   4                                      {
 185   5                                              Reconnect_2(g_Channel);
 186   5                                      }
 187   4                                      if(g_Channel>16)
 188   4                                      {
 189   5                                              Reconnect_3(g_Channel);
 190   5                                      }
 191   4                                      
 192   4                                      g_State[g_Channel] = 0x00;
 193   4                              }
 194   3                              else
 195   3                              {
 196   4                                      if(g_Channel<9)
 197   4                                      {
 198   5                                              CutOff_1(g_Channel);
 199   5                                              UpdateVoltage_1(g_Channel, 0x0000);
 200   5                                      }
 201   4                                      if((g_Channel>8) && (g_Channel<17))
 202   4                                      {
 203   5                                              CutOff_2(g_Channel);
 204   5                                              UpdateVoltage_2(g_Channel, 0x0000);
 205   5                                      }
 206   4                                      if(g_Channel>16)
 207   4                                      {
 208   5                                              CutOff_3(g_Channel);
 209   5                                              UpdateVoltage_3(g_Channel, 0x0000);
 210   5                                      }
 211   4              
 212   4                                      g_State[g_Channel] = 0x03;
 213   4                              }
 214   3                      }
 215   2      
 216   2                      ControlDisplay(0x0812);
 217   2                      ControlDisplay(0x0a12);
 218   2                      ControlDisplay(0x0b12);
 219   2      
 220   2                      g_State[0] = 0x00; 
 221   2              }
 222   1      
 223   1              INT_ENABLE;
 224   1      }
 225          
 226          void INT_1() interrupt 2                         // 选择手工控制的通道,并显示其当时状态 
 227          {
 228   1              unsigned char Number1 ;
 229   1              unsigned char Number2;
 230   1              unsigned int Data;
 231   1      
 232   1              INT_DISABLE;
 233   1      
 234   1              if(g_State[0]==0xff)
 235   1              {
 236   2                      if(g_Channel==21)
 237   2                      {
 238   3                              g_Channel = 0;
 239   3                      }
 240   2                      else
 241   2                      {
C51 COMPILER V8.02   INTERRUPT                                                             08/03/2008 10:54:15 PAGE 5   

 242   3                              g_Channel++;
 243   3                      }
 244   2      
 245   2                      if(g_Channel<10)
 246   2                      {
 247   3                              Number1 = 0;
 248   3                              Number2 = g_Channel;
 249   3                      }
 250   2                      else
 251   2                      {
 252   3                              if(g_Channel<20)
 253   3                              {
 254   4                                      Number1 = 1;
 255   4                                      Number2 = g_Channel - 10;
 256   4                              }                
 257   3                              else
 258   3                              {
 259   4                                      Number1 = 2;
 260   4                                      Number2 = g_Channel - 20;
 261   4                              }
 262   3                      }
 263   2      
 264   2                      if(g_State[g_Channel]==0x00)
 265   2                      {
 266   3                              ControlDisplay(0x0b00);
 267   3                      }
 268   2                      if(g_State[g_Channel]==0x01)
 269   2                      {
 270   3                              ControlDisplay(0x0b17);
 271   3                      }
 272   2                      if(g_State[g_Channel]==0x02)
 273   2                      {
 274   3                              ControlDisplay(0x0b18);
 275   3                      }
 276   2                      if(g_State[g_Channel]==0x03)
 277   2                      {
 278   3                              ControlDisplay(0x0b12);
 279   3                      }
 280   2      
 281   2                      Data = 0x0900 | Number1;
 282   2      
 283   2                      ControlDisplay(Data);
 284   2      
 285   2                      Data = 0x0800 | Number2;
 286   2      
 287   2                      ControlDisplay(Data);
 288   2              }
 289   1      
 290   1              INT_ENABLE;
 291   1      }


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