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

📄 channelstatus.lst

📁 该程序完成了c8051外围电路的驱动和串口协议的编写。希望能给大家学习51单片机带来帮助
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.10   CHANNELSTATUS                                                         09/18/2008 14:09:30 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE CHANNELSTATUS
OBJECT MODULE PLACED IN Channelstatus.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 20progress\Channelstatus.c BROWSE DEBUG OBJECTEXTEND PRINT(.\Channelstatus.
                    -lst) OBJECT(Channelstatus.obj)

line level    source

   1          //*******************************************************************************
   2          //Copyright (c) 2007,派利斯电子(北京)有限公司 硬件部
   3          //文件名称: Channelstatus.c
   4          //摘    要: 本文件主要包含PT2060程序中间隙电压,电源电压和OK状态等的操作
   5          //当前版本: D-1 
   6          //作    者:  佟文杰
   7          //完成日期: 4/16/2007
   8          //修 改 人:
   9          //修改原因:
  10          //修改日期:
  11          //*******************************************************************************
  12          #define CHANNELSTATUS_C
  13          #include "channelstatus.h"
  14          xdata struct Channel ChStatusModule;
  15          //--------------------------------------------------------------
  16          //函数名称:void SetGapLow(unsigned char uchChannel, int iGapLow)
  17          //功    能:将间隙电压低限设置到通道模块中
  18          //输入参数:通道号,间隙电压下限
  19          //返    回:无
  20          //完成日期:4/13/2007
  21          //--------------------------------------------------------------
  22          void SetGapLow(unsigned char uchChannel, int iGapLow)
  23          {
  24   1              ChStatusModule.iGAPLow[uchChannel - 1] = iGapLow;    
  25   1      }
  26          
  27          //----------------------------------------------------------------
  28          //函数名称:void SetGapHigh(unsigned char uchChannel, int iGapHigh)
  29          //功    能:将间隙电压高限设置到通道模块
  30          //输入参数:通道号,间隙电压上限
  31          //返    回:无
  32          //完成日期:4/13/2007
  33          //----------------------------------------------------------------
  34          void SetGapHigh(unsigned char uchChannel, int iGapHigh)//初始化时设置
  35          {
  36   1              ChStatusModule.iGAPHigh[uchChannel - 1] = iGapHigh;  
  37   1      }
  38          
  39          //------------------------------------------------------------------
  40          //函数名称:void SetGapVoltChannel(unsigned char uchChannel, int iGapVolt)
  41          //功    能:将间隙电压设置到通道模块
  42          //输入参数:通道号,间隙电压
  43          //返    回:无
  44          //完成日期:4/13/2007
  45          //------------------------------------------------------------------
  46          void SetGapVoltChannel(unsigned char uchChannel, int iGapVolt)
  47          {
  48   1              ChStatusModule.iGAPVoltage[uchChannel - 1] = iGapVolt;
  49   1      }
  50          
  51          //------------------------------------------------------------------
  52          //函数名称:void SetEnableStatusChannel(unsigned char uchChannel,unsigned char uchEnableFlag)
  53          //功    能:设置通道是否工作到通道模块
  54          //输入参数:通道号,是否工作状态
C51 COMPILER V7.10   CHANNELSTATUS                                                         09/18/2008 14:09:30 PAGE 2   

  55          //返    回:无
  56          //完成日期:4/13/2007
  57          //------------------------------------------------------------------
  58          void SetEnableStatusChannel(unsigned char uchChannel,unsigned char uchEnableFlag)
  59          {
  60   1              ChStatusModule.uchEnableStatus[uchChannel - 1] = uchEnableFlag;
  61   1      }
  62          
  63          //------------------------------------------------------------------
  64          //函数名称:void SetChTypeChannel(unsigned char uchChannel, unsigned char uchChannelType)
  65          //功    能:将通道类型设置到通道状态模块
  66          //输入参数:通道号,通道类型
  67          //返    回:无
  68          //------------------------------------------------------------------
  69          void SetChTypeChannel(unsigned char uchChannel, unsigned char uchChannelType)
  70          {
  71   1              ChStatusModule.uchChType[uchChannel - 1] = uchChannelType;
  72   1      }
  73          
  74          //------------------------------------------------------------------
  75          //函数名称:void JudgeChannelGapstatus(unsigned char uchChannel)
  76          //功    能:判断通道间隙电压的状态
  77          //输入参数:通道号
  78          //返    回:无
  79          //完成日期:4/13/2007
  80          //------------------------------------------------------------------
  81          void JudgeChannelGapstatus(unsigned char uchChannel)  //乘以100和大于、小于看实际情况
  82          {
  83   1              if (ChStatusModule.uchEnableStatus[uchChannel - 1] == 1)
  84   1              {                       
  85   2                      if ((ChStatusModule.iGAPVoltage[uchChannel - 1] <= ChStatusModule.iGAPHigh[uchChannel - 1])
  86   2                              && (ChStatusModule.iGAPVoltage[uchChannel - 1] >= ChStatusModule.iGAPLow[uchChannel - 1]))
  87   2                      {
  88   3                              ChStatusModule.uchGapStatus[uchChannel - 1] = 0;        //GAP  OK
  89   3                      }
  90   2                      else if (ChStatusModule.iGAPVoltage[uchChannel - 1] > ChStatusModule.iGAPHigh[uchChannel - 1]) 
  91   2                      {
  92   3                              ChStatusModule.uchGapStatus[uchChannel - 1] = 2;         //GAP高报警
  93   3                      }  
  94   2                      else if (ChStatusModule.iGAPVoltage[uchChannel - 1] < ChStatusModule.iGAPLow[uchChannel - 1])
  95   2                      {
  96   3                              ChStatusModule.uchGapStatus[uchChannel - 1] = 1;         //GAP低报警
  97   3                      }
  98   2              }
  99   1              else if (ChStatusModule.uchEnableStatus[uchChannel - 1] == 0)
 100   1              {
 101   2                      ChStatusModule.uchGapStatus[uchChannel - 1] = 0;        //当Disable掉通道后,通道状态为GAP  OK
 102   2              }
 103   1      }
 104          
 105          //------------------------------------------------------------------
 106          //函数名称:void JudgeChannelOKstatus(unsigned char uchChannel)
 107          //功    能:判断通道OK的状态
 108          //输入参数:通道号
 109          //返    回:无
 110          //完成日期:4/13/2007
 111          //------------------------------------------------------------------
 112          void JudgeChannelOKstatus(unsigned char uchChannel)
 113          {       
 114   1              if (ChStatusModule.uchGapStatus[uchChannel - 1] == 0) 
 115   1              {
 116   2              ChStatusModule.uchOKStatus[uchChannel - 1]  = 0;
C51 COMPILER V7.10   CHANNELSTATUS                                                         09/18/2008 14:09:30 PAGE 3   

 117   2              }
 118   1              else if (ChStatusModule.uchGapStatus[uchChannel - 1] == 1)
 119   1              {
 120   2                      ChStatusModule.uchOKStatus[uchChannel - 1]      = 1;
 121   2              }    
 122   1          else if (ChStatusModule.uchGapStatus[uchChannel - 1] == 2)
 123   1          {
 124   2                  ChStatusModule.uchOKStatus[uchChannel - 1]  = 2;
 125   2              }
 126   1      }
 127          
 128          //------------------------------------------------------------------
 129          //函数名称:void ProcessChannelGaps(unsigned char uchChannel)
 130          //功    能:处理通道OK状态
 131          //输入参数:通道号
 132          //返    回:无
 133          //完成日期:4/13/2007
 134          //------------------------------------------------------------------
 135          void ProcessChannelGaps(unsigned char uchChannel)
 136          {
 137   1              static unsigned char xdata s_uchCountData = 0;
 138   1              
 139   1              JudgeChannelGapstatus(uchChannel);
 140   1              JudgeChannelOKstatus(uchChannel);
 141   1      
 142   1              SetGapStatusMain(uchChannel, ChStatusModule.uchGapStatus[uchChannel - 1]);
 143   1      
 144   1              if (ChStatusModule.uchChType[0] == 22)
 145   1              {
 146   2                      SetChannelOkStatusMain(uchChannel,(ChStatusModule.uchOKStatus[0] || ChStatusModule.uchOKStatus[1]));
 147   2              }
 148   1              else
 149   1              {
 150   2                      SetChannelOkStatusMain(uchChannel,ChStatusModule.uchOKStatus[uchChannel - 1]);
 151   2              }
 152   1      
 153   1      
 154   1              SetSystemOkStatusMain(ChStatusModule.uchOKStatus[1] || ChStatusModule.uchOKStatus[0]);
 155   1      
 156   1              s_uchCountData++;
 157   1              if (s_uchCountData >= 250)
 158   1              {
 159   2                      JudgePowerStatus();
 160   2                      SetPowerStatusMain(ChStatusModule.uchPowerStatus);
 161   2                      s_uchCountData = 0;             //不要每圈程序都执行电源检测,10圈检测电源一次
 162   2              }               
 163   1      }
 164          
 165          //------------------------------------------------------------------
 166          //函数名称:void InitChannelParaVariable(void)
 167          //功    能:初始化通道状态模块的参数

⌨️ 快捷键说明

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