📄 display.c
字号:
/***********************************************************************************
/----------------------Copyright (c) 2005 ~ 2008 Miartech. All Rights Reserved.-----------------------/
/***********************************************************************************
**-----------------------------------------File Info--------------------------------------------
** Last modified Date: 2007-09-04
** Descriptions: HMC16223(16*2 Words LCD)'s Primary Process Functions
**--------------------------------------------------------------------------------------------
** Created By: Kelven
** Created Date: 2007-04-17
**--------------------------------------------------------------------------------------------
** Modified by: Kelven
** Modified date: 2007-09-04
** Version: V3.2.0
** Descriptions:
**--------------------------------------------------------------------------------------------
** Modified by: Li Sufen
** Modified date: 2008-05-20
** Version: V3.2.3
** Descriptions: Updating Key Configrating Function, Added PLC Chip Register Value Setting Module
***********************************************************************************/
#include "..\inc\Display.h"
extern bit g_bRefresh_DSP_Flag;
extern BYTE bdata g_cModCfgReg;
extern BYTE xdata g_cUart_Rate;
extern BYTE xdata g_cNode_Address;
extern BYTE xdata g_cUart_Rate_Value;
extern BYTE xdata g_cWRACD;
extern BYTE xdata g_cWRTDR;
extern BYTE xdata g_cWRTH0;
extern BYTE xdata g_cWRTH1;
extern BYTE xdata g_cDebug;
extern WORD data g_wTotal_Pkg;
extern FLAG_YES_NO Config_Param_Completed;
BYTE code ST_miar[14] = {"MiarTech Inc."};
BYTE code ST_plcEVBD[13] = {"PLC EV Board"};
BYTE code ST_Software[17] = {"Software Version"};
BYTE code ST_Version[17] = {"Version: 4.0.0"};
BYTE code ST_setting[10] = {"1.Setting"};
BYTE code ST_Trans[14] = {"2.Transmitter"};
BYTE code ST_receiver[11] = {"3.Receiver"};
BYTE code ST_Inter_trans[14] = {"4.Inter_Trans"};
BYTE code ST_Inter_rec[13] = {"5.Inter_Recv"};
BYTE code ST_COM_Setting[14] = {"6.COM_Setting"};
BYTE code ST_Return_Test[14] = {"7.Return_Test"};
BYTE code ST_DataRate[12] = {"1.DataRate:"};
BYTE code ST_CarrFre[11] = {"2.CarrFre:"};
BYTE code ST_SS_Code[11] = {"3.SS Code:"};
BYTE code ST_Pkt_Num[13] = {"4.PacketNum:"};
BYTE code ST_UartRate[12] = {"5.UartRate:"};
BYTE code ST_Node_Addr[12] = {"6.NodeAddr:"};
BYTE code ST_Register[12] = {"7.Register"};
BYTE code ST_SW_Version[13] = {"8.SW_Version"};
BYTE code ST_DEBUG[9] = {"9.Debug:"};
BYTE code ST_REG_WRACD[12] = {"0x0A-WRACD:"};
BYTE code ST_REG_WRTDR[12] = {"0x0B-WRTDR:"};
BYTE code ST_REG_WRTH0[12] = {"0x0C-WRTH0:"};
BYTE code ST_REG_WRTH1[12] = {"0x0D-WRTH1:"};
BYTE code ST_576[7] = {" 57.6k"};
BYTE code ST_768[7] = {" 76.8k"};
BYTE code ST_NODEF[7] = {"NO DEF"};
BYTE code ST_1152[7] = {"115.2k"};
BYTE code ST_Press_Enter[12] = {"Press Enter"};
/***********************************************************************************
** Function Name: DSP_DataRate
** Input Parameters:None
** Output Parameters:None
** Implement:Display the Data Rate of PLC
***********************************************************************************/
void DSP_DataRate(void)
{
switch((g_cModCfgReg & 0x0c)>>2)
{
case 0: //Data Rate = 1600/1920 bps;
{
DSP_Write_Data('1');
DSP_Write_Data('6');
}
break;
case 1: //Data Rate = 800/960 bps;
{
DSP_Write_Data(' ');
DSP_Write_Data('8');
}
break;
case 2: //Data Rate = 400/480 bps;
{
DSP_Write_Data(' ');
DSP_Write_Data('4');
}
break;
case 3: //Data Rate = 200/400 bps;
{
DSP_Write_Data(' ');
DSP_Write_Data('2');
}
break;
default:
break;
}
DSP_Write_Data('0');
DSP_Write_Data('0');
DSP_Write_Data('b');
}
/***********************************************************************************
** Function Name: DSP_Frequency
** Input Parameters:cAddr:The Address of Display Data
** Output Parameters:None
** Implement:Display the Carrier Frequency of PLC
***********************************************************************************/
void DSP_Frequency(BYTE cAddr)
{
switch(g_cModCfgReg & 0x03)
{
case 0: //Carrier Frequency = 57.6KHz;
DSP_Show(cAddr, ST_576);
break;
case 1: //Carrier Frequency = 76.8KHz;
DSP_Show(cAddr, ST_768);
break;
case 2: //Carrier Frequency = no define;
DSP_Show(cAddr, ST_NODEF);
break;
case 3: //Carrier Frequency = 115.2KHz;
DSP_Show(cAddr, ST_1152);
break;
default:
break;
}
}
/***********************************************************************************
** Function Name: DSP_WellcomeMenu
** Input Parameters:None
** Output Parameters:None
** Implement:Display the Wellcome Menu
***********************************************************************************/
void DSP_WellcomeMenu(void)
{
DSP_Show(0x82,ST_miar);
DSP_Show(0xc2,ST_plcEVBD);
}
/***********************************************************************************
** Function Name: DSP_VersionMenu
** Input Parameters:None
** Output Parameters:None
** Implement:Display the Software Version Menu
***********************************************************************************/
void DSP_VersionMenu(void)
{
DSP_Show(0x80,ST_Software);
DSP_Show(0xc0,ST_Version);
}
/***********************************************************************************
** Function Name: DSP_ShowArrow
** Input Parameters:None
** Output Parameters:None
** Implement:Display the Arrow Mark
***********************************************************************************/
void DSP_ShowArrow(void)
{
DSP_Show(0x8d,"<");
DSP_Show(0x8e,"-");
DSP_Show(0x8f,"-");
}
/***********************************************************************************
** Function Name: DSP_UartRate
** Input Parameters:None
** Output Parameters:None
** Implement:Display the baud Rata of Uart
***********************************************************************************/
void DSP_UartRate(void)
{
switch(g_cUart_Rate & 0x03)
{
case 0: //Baud Rate = 2400bps;
{
DSP_Write_Data(' ');
DSP_Write_Data('2');
DSP_Write_Data('4');
PCON = 0x00;
g_cUart_Rate_Value = 0xF4;
}
break;
case 1: //Baud Rate = 4800bps;
{
DSP_Write_Data(' ');
DSP_Write_Data('4');
DSP_Write_Data('8');
PCON = 0x00;
g_cUart_Rate_Value = 0xFA;
}
break;
case 2: //Baud Rate = 9600bps;
{
DSP_Write_Data(' ');
DSP_Write_Data('9');
DSP_Write_Data('6');
PCON = 0x00;
g_cUart_Rate_Value = 0xFD;
}
break;
case 3: //Baud Rate = 19200bps;
{
DSP_Write_Data('1');
DSP_Write_Data('9');
DSP_Write_Data('2');
PCON = 0x80;
g_cUart_Rate_Value = 0xFD;
}
break;
default:
break;
}
DSP_Write_Data('0');
DSP_Write_Data('0');
//DSP_Write_Data('b');
}
/***********************************************************************************
** Function Name: DSP_MainMenu
** Input Parameters:None
** Output Parameters:None
** Implement:Display the Main Menu
***********************************************************************************/
void DSP_MainMenu(BYTE MenuValue)
{
Clear_DSP();
g_bRefresh_DSP_Flag = 0;
switch (MenuValue)
{
//************************Main Menu******************************//
case DSP_SETTING: //Display:"1.Setting" & "2.Transmitter"
{
DSP_Show(0x80,ST_setting);
DSP_Show(0xc0,ST_Trans);
DSP_ShowArrow();
}
break;
case DSP_TRANSMITTER: //Display:"2.Transmitter" & "3.Receiver"
{
DSP_Show(0x80,ST_Trans);
DSP_Show(0xc0,ST_receiver);
DSP_ShowArrow();
}
break;
case DSP_RECEIVER: //Display:"3.Receiver" & "4.Inter_Trans"
{
DSP_Show(0x80,ST_receiver);
DSP_Show(0xc0,ST_Inter_trans);
DSP_ShowArrow();
}
break;
case DSP_INTER_TRANS: //Display:"4.Inter_Trans" & "5.Inter_Recv"
{
DSP_Show(0x80,ST_Inter_trans);
DSP_Show(0xc0,ST_Inter_rec);
DSP_ShowArrow();
}
break;
case DSP_INTER_RECV: //Display:"5.Inter_Recv" & "6.Uart Option"
{
DSP_Show(0x80,ST_Inter_rec);
DSP_Show(0xc0,ST_COM_Setting);
DSP_ShowArrow();
}
break;
case DSP_COM_SETTING: //Display:"6.COM_Setting" & "7.COM_Recving"
{
DSP_Show(0x80,ST_COM_Setting);
DSP_ShowArrow();
DSP_Show(0xc0,ST_Return_Test);
DSP_ShowArrow();
}
break;
case DSP_COM_RECVING: //Display:"7.COM_Recving" & "1.Setting"
{
DSP_Show(0x80,ST_Return_Test);
DSP_ShowArrow();
DSP_Show(0xc0,ST_setting);
DSP_ShowArrow();
}
break;
//************************Setting Menu****************************//
case DSP_DATA_RATE: //Display:"1.DataRate:" & "2.CarrFre:"
{
Clear_DSP();
DSP_Show(0x80,ST_DataRate);
g_cModCfgReg = EEPROM_Read_Data(EEAddr_PLC_Mode, EEPROM_TYPE);
DSP_DataRate();
DSP_Write_Cmd(0xc0);
DSP_Show(0xc0,ST_CarrFre);
g_cModCfgReg = EEPROM_Read_Data(EEAddr_PLC_Mode, EEPROM_TYPE);
DSP_Frequency(0xca);
DSP_Write_Data('K');
}
break;
case ACTIVE_DATA_RATE: //Into Setting Mode
{
Clear_DSP();
DSP_Show(0x80,ST_DataRate);
DSP_DataRate();
DSP_Show(0xc0,ST_Press_Enter);
}
break;
case DSP_CARR_FRE: //Display:"2.CarrFre:" & "3.SS Code:"
{
DSP_Show(0x80,ST_CarrFre);
g_cModCfgReg = EEPROM_Read_Data(EEAddr_PLC_Mode, EEPROM_TYPE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -