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

📄 target.#3

📁 基于MST-G240128点阵液晶的 状态机机制 人机界面四级滚屏菜单 源代码 ,带时间片机制模拟操作系统
💻 #3
📖 第 1 页 / 共 2 页
字号:
/****************************************************************************
 **
 ** 文件名:  target.c
 ** 功能:    C8051Fxxx在LZK-3G中的应用相关函数;
 ** 创建时间:2006.08.26

 ** 修改时间:2006.08.26
 ** 修改说明:

 ** 作者:    李立学
 ** 版权申明:可以拷贝,可以修改,但必须保留修改时间和作者信息
 ** 
 ****************************************************************************/


#include "LZK.H"  	        


/**************************************************************************/
uint8    xdata EM_NomalPhaDiffCMD = 1;           // 投励滑差  1~10%
uint8    xdata EM_FulVoltPhaDiffCMD = 5;         // 投全压滑差  5~20%
uint8    xdata AsyncTimOutCMD = 2;               // 长时间不投励时间  2~120s
uint8    xdata EM_TimCMD = 2;                    // 计时投励时间  2~120s
uint16   xdata EM_VoltScaleCMD = 500;             // 电压量程  10~500(V)
uint16   xdata EM_CurrScaleCMD = 1000;            // 电流量程  1~1000(A)

uint16   xdata EM_VoltMaxCMD = 330;               // 电压上限  330(V)
uint16   xdata EM_VoltMinCMD = 100;               // 电压下限  0(V)
uint16   xdata EM_CurrMaxCMD = 3000;              // 电流上限  3000(A)
uint16   xdata EM_CurrMinCMD = 1000;              // 电流下限  0(A)
uint8    xdata EM_AnglMaxCMD = 120;               // 角度上限  120°
uint8    xdata EM_AnglMinCMD = 0;                 // 角度下限  0°

uint16   xdata EM_PwrFactMaxCMD = 999;            // 功率因数上限  999
uint16   xdata EM_PwrFactMinCMD = 500;            // 功率因数下限  500
uint16   xdata EM_NulPwrMaxCMD = 999;             //无功功率上限    0~999
uint16   xdata EM_NulPwrMinCMD = 0;               //无功功率下限    0~999
uint16   xdata TransFormSubVoltCMD = 500;         // 变压器次级电压  10~500(V)
uint8    xdata EM_TimCntEnCMD = 0;               // 计时投励使能  1开/0关

uint8    xdata EM_ENH_ModeCMD = 0;                // 强励方式  0(电压强励)/1(电流强励)/2(角度强励)/3(功率因素强励)
uint16   xdata EM_ENH_VoltCMD = 100;              // 强励电压  0~330(V)
uint16   xdata EM_ENH_CurrCMD = 1000;             // 强励电流  0~3000(A)
uint8    xdata EM_ENH_AnglCMD = 10;               // 强励角度  0~120°
uint8    xdata EM_ENH_TimeCMD = 5;                // 强励时间  0~30s(1s步进)
uint8    xdata S1_Key1 = 0;
uint8    xdata S1_Key2 = 0;
uint8    xdata S1_Key3 = 0;
uint8    xdata S1_Key4 = 0;
uint8    xdata S1_Key5 = 0;
uint8    xdata S1_Key6 = 0;

uint8    xdata  EM_ModeCMD = 1;                    //励磁方式   0(电压)/1(电流)/2(角度)/3(功率因数)/4(无功)
uint16   xdata  EM_VoltCMD = 100;                //励磁电压   0~330VDC
uint16   xdata  EM_CurrCMD = 80;                 //励磁电流   0~3000A
uint8    xdata  EM_AnglCMD = 50;                   //励磁角度   5°~175
uint16   xdata  EM_PwrFactCMD = 900;             //功率因数   500~999
uint16   xdata  EM_NulPwrCMD = 100;                //无功功率   0~999Kvar

/**************************************************************************/
uint8  xdata BakPrttTimCMD = 1;                 // 同步时间  1~8(s)
uint8  xdata AsyncDetEnDelayCMD = 1;            // 检测延时  1~10(s)
uint8  xdata RemoteTestCMD = 5;                 // 遥调时限  5~30(s)
uint8  xdata ExValueIncPercentCMD = 10;         // 励磁增量  0~100(%)
uint8  xdata KQPulseLastCMD = 1;                // KQ触发宽度  1~10(ms)
uint8  xdata RevsTrigOutAngle = 135;            // 逆变触发角  135~145°

uint8  xdata PID_VoltKP = 10;                    // 电压P参数  1~100
uint8  xdata PID_VoltKI = 10;                    // 电压I参数  1~100
uint8  xdata PID_CurrKP = 10;                    // 电流P参数  1~100
uint8  xdata PID_CurrKI = 10;                    // 电流I参数  1~100
uint8  xdata PID_PwrFactKP = 10;                 // 功率因数P参数  1~100
uint8  xdata PID_PwrFactKI = 10;                 // 功率因数I参数  1~100

uint8  xdata EMDelayTimeCMD = 20;                // 投励延时     5~20(ms)
uint8  xdata RFJTestCMD = 5;                     // RFJ测试延时  0.5~8(s)
uint8  xdata FastRemMagneticDelayCMD = 1;        // 快速灭磁延时  0~5(ms)
uint8  xdata SlideTestDelayTimCMD = 2;           // 滑差检测延时  0.2~10(s)
uint8  xdata OutOfCtrAlarmDelayCMD = 2;          // 失控报警延时  2~10(s)
uint8  xdata ClosePulseDelayCMD = 1;             // 灭磁结束延时  0.1~5(s)

uint8  xdata OutOfCtrOnTimCMD = 1;               // 电机失控时间  0.1~1(s)
uint8  xdata LowLimitTrigOutAngle = 1;           // 遥调投励上限  0~120°
uint8  xdata AttenuationPercentCMD = 1;          // 灭磁电流下限  0~100(%)
uint8  xdata IFCO_HighLevlTimCMD = 2;            // 失步检测高电平  2~10(s)
uint8  xdata IFCO_LowLevlTimCMD = 5;             // 失步检测低电平  0.5~1(s)
uint8  xdata UF_LowLevlTimCMD = 4;               // 失控检测低电平  4~6(ms)

uint8  xdata EM_PwrFreqCMD = 5;                  // 电网频率  50/60(Hz)
uint8  xdata EM_RegBrdgMode = 1;                 // 整流桥模式  0全控/1半控
uint8  xdata RegulateAftAsyncFuncEN = 1;         // 失步再整步  1开/0关
uint8  xdata LCJ_OnTimCMD = 2;                   // LCJ动作时间  2~10(s)
uint8  xdata AsyncAftSyncTimCMD = 5;             // 后备保护时间  0.5~10(s)
uint8  xdata S2_Key1 = 0;
uint8  xdata S2_Key2 = 0;
uint8  xdata S2_Key3 = 0;
uint8  xdata S2_Key4 = 0;
uint8  xdata S2_Key5 = 0;
uint8  xdata S2_Key6 = 0;
/**************************************************************************/
uint8 xdata EM_arkadress = 1;
uint8 xdata EM_conadress = 0;
uint8 xdata EM_baud232 = 1;
uint8 xdata EM_baud485 = 1;
uint8 xdata EM_BackUp = 0;
uint8 xdata EM_DmSwitch = 0;//非存储
/**************************************************************************/
uint8 xdata EN_RecMode = 1;
uint8 xdata EN_ManualRec = 0;
uint8 xdata EN_StartRec = 0;
uint8 xdata EN_ErrorRec = 0;
uint8 xdata EN_ch1 = 1;//非存储
uint8 xdata EN_ch2 = 2;//非存储
uint8 xdata EN_SowType = 1;//非存储
/**************************************************************************/
uint8  xdata StartTemper = 45;
uint8  xdata CloseTemper = 40;
uint8  xdata AlarmTemper = 60;
uint8  xdata RTCData[7];//非存储
/**************************************************************************/
uint16 xdata  EM_StaVoltData = 0;        //定子电压
uint16 xdata  EM_StaCurrData = 0;        //定子电流
uint16 xdata  EM_ExcVoltData = 0;        //励磁电压
uint16 xdata  EM_ExcCurrData = 0;        //励磁电流
uint8  xdata  EM_AngleData = 0;          //触发角度
uint8  xdata  RTU_MaOrSlave = 0;         //本机模式
uint16 xdata  EM_SumPowData = 0;         //视在功率
uint16 xdata  EM_EffPowData = 0;         //有功功率
uint16 xdata  EM_NulPowData = 0;         //无功功率
uint16 xdata  EM_PowFacData = 0;         //功率因数
/**************************************************************************/

/***********************************************************************
* 名称:External_Osc()
* 功能:选择外部晶体振荡器作为系统时钟.
* 入口参数:无     
* 出口参数:无
* 说明:切换系统时钟前判断外部晶体振荡器是否正常.    
***********************************************************************/
void External_Osc(void) 
{
   unsigned char i;              // Local variable Used in delay FOR loop.

   SFRPAGE = CONFIG_PAGE;        // Switch to config page to config oscillator
   OSCXCN = 0x67;                // Start external oscillator,24.000 MHz Crystal

   for(i=0; i<255; i++);         // Delay about 1mS  

   while ((OSCXCN & 0x80) == 0); // Extenal Clock Valid  

   CLKSEL |= 0x01;               // Switch to External Oscillator
}  
/***********************************************************************/
void SMBusInit(void)
{
   SFRPAGE= 0x00;
   SMB0CN = 0x40;
   SMB0CR = 0xE0;
}

/***********************************************************************
* 名称:Port_Init()
* 功能:交叉开关配置与I/O引脚定义,存储器配置.
* 入口参数:无     
* 出口参数:无
* 说明:    
***********************************************************************/
void Port_Init(void)
{
   SFRPAGE = CONFIG_PAGE;

   XBR0 = 0x0D;   // 00 001_101: 
                  // CEX0_UART0_I2C. 
   // Bit7:      CP0E:    Comparator 0          Output Enable Bit.
   // Bit6:      ECI0E:   PCA0 External Counter Input  Enable Bit.
   // Bit[5..3]: PCA0ME:  PCA0 Module           I/O    Enable Bits.
   // Bit2:      UART0EN: UART0      I/O Enable Bit.
   // Bit1:      SPI0EN:  SPI0   Bus I/O Enable Bit. 
   // Bit0:      SMB0EN:  SMBus0 Bus I/O Enable Bit.
   XBR1 = 0x14;  // 0001_0100: 
                 // INT1#_INT0#_TO.
   // Bit7: SYSCKE: SYSCLK Output Enable Bit.
   // Bit6: T2EXE:  T2EX   Input  Enable Bit.
   // Bit5: T2E:    T2     Input  Enable Bit.
   // Bit4: INT1E:  INT1#  Input  Enable Bit.
   // Bit3: T1E:    T1     Input  Enable Bit.
   // Bit2: INT0E:  INT0#  Input  Enable Bit.
   // Bit1: T0E:    T0     Input  Enable Bit.
   // Bit0: CP1E:   CP1    Output Enable Bit.
   XBR2 = 0xC4;  // 1100_0110
                 // WEAKPUD_XBARE_UART1_EMI HighPort
   // Bit7: WEAKPUD: Weak Pull-Up Disable Bit.
   // Bit6: XBARE:   Crossbar Enable Bit.
   // Bit5: UNUSED.  Read = 0, Write = don't care.
   // Bit4: T4EXE:   T4EX Input Enable Bit.
   // Bit3: T4E:     T4 Input Enable Bit.
   // Bit2: UART1E:  UART1 I/O Enable Bit.
   // Bit1: EMIFLE:  External Memory Interface Low-Port Enable Bit.
   // Bit0: CNVST0E: ADC0 External Convert Start Input Enable Bit.
   XBR3 = 0x80; // 1000_0000
                // CAN TX Mode: Push-Pull. 
   // Bit7: CTXOUT:  CAN Transmit Pin (CTX) Output Mode: open-drain/push-pull.
   // Bit6-4:        Reserved.
   // Bit3: CP2E:    CP2 Output Enable Bit.
   // Bit2: CNVST2E: ADC2 External Convert Start Input Enable Bit.
   // Bit1: T3EXE:   T3EX Input Enable Bit.
   // Bit0: T3E:     T3 Input Enable Bit.

⌨️ 快捷键说明

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