📄 general_function.c
字号:
#include "Data_function.h"
#include "set_function.h"
#include "set_alarm_function.h"
//struct flags flag;
//10月16日
/*--------------system_Initialize_function------------------------------*/
void Display_IntData(void)
{
CLRDisplay();
ThirdDisplay(2,0,TX1);
ThirdDisplay(2,5,TX2);
ThirdDisplay(2,11,TX3);
ThirdDisplay(2,16,TX4);
GCDisplay(0,1,CTable10);//数
GCDisplay(0,3,CTable11);//据
//GCDisplay(0,5,CTable12);//类
//GCDisplay(0,7,CTable13);//型
//GCDisplay(0,10,CTable0);//系
//GCDisplay(0,12,CTable1);//统
GCDisplay(0,8,CTable44);//设
GCDisplay(0,10,CTable45);//置
GCDisplay(0,16,CTable86);//定
GCDisplay(0,18,CTable87);//值
//GCDisplay(0,14,CTable44);//设
//GCDisplay(0,16,CTable45);//置
}
void Display_ChangeData(void)
{
//画面显示但不闪烁 显示光标
Display_IntData();
back_char(0,1,4);
flag.setup=0;
flag.set=1;
flag.updown=0;
while(flag.set)
{
//Display_time();
if(flag.gb)
{
flag.gb=0;
if (flag.ds!=0)
{ flag.set=0;
return;
}
CLRDisplay_choice(2, 0, 0,528 );
CLRDisplay_choice(2, 0, 1,3640 );
}
if(flag.second==1)
{flag.second=0;
switch (flag.updown)
{
case 0:Display_DianLiu();break; //电流
case 1:Display_XDianYa();break; //相电压
case 2:Display_LDianYa() ;break; //线电压;
case 3:Disply_Gonglv(0);break; //功率
case 4:Disply_Gonglv(1);break;
case 5:Disply_Gonglv(2);break;
case 6:Display_GLYS();break; //功率因素
case 7:Display_PinLv();break; //频率
case 8:Display_XuLiang(0);break; //需量(0)电流)(1)功率
case 9:Display_XuLiang(1);break;
case 10:Display_DianDu();break; //电度
case 11:Display_XTZT(systemsetup.connectionmode);
Display_baudrate(systemsetup.baudrate.com1);
Display_temperature();
break; //接线模式和波特率
case 12:Display_time(); break; //系统时间(年月日时分秒)
default:flag.updown=0;break;
}
}
}
return;
}
void Display_setchoice1()
{
//接线模式
GCDisplay(32,1,CTable22);
GCDisplay(32,3,CTable20);
GCDisplay(32,5,CTable4);
GCDisplay(32,7,CTable5);
GCDisplay(32,9,CTable46);
//DisplayChar_new(6,0,"Con-Mode:",9);
//事件清除
GCDisplay(56,1,CTable66);
GCDisplay(56,3,CTable67);
GCDisplay(56,5,CTable68);
GCDisplay(56,7,CTable69);
GCDisplay(56,9,CTable46);
//DisplayChar_new(14,1,"Eve-Clr:",8);
//电度清除
GCDisplay(80,1,CTable8);
GCDisplay(80,3,CTable15);
GCDisplay(80,5,CTable68);
GCDisplay(80,7,CTable69);
GCDisplay(80,9,CTable46);
//DisplayChar_new(16,1,"EDG-Clr:",8);
//最值清楚
GCDisplay(104,1,CTable80);
GCDisplay(104,3,CTable81);
GCDisplay(104,5,CTable68);
GCDisplay(104,7,CTable69);
GCDisplay(104,9,CTable46);
//DisplayChar_new(18,0,"Limi-Clr:",9);
//校验设置
GCDisplay(128,1,CTable84);
GCDisplay(128,3,CTable85);
GCDisplay(128,5,CTable44);
GCDisplay(128,7,CTable45);
GCDisplay(128,9,CTable46);
//DisplayChar_new(4,0,"BaudRate:",9);
}
void Display_setchoice0()
{
//仪表地址
GCDisplay(32,1,CTable47);
GCDisplay(32,3,CTable48);
GCDisplay(32,5,CTable44);
GCDisplay(32,7,CTable45);
GCDisplay(32,9,CTable46);
//DisplayChar_new(2,0," Address:",9);
//PT变比
GCDisplay(56,1,CTable61);
GCDisplay(56,3,CTable63);
GCDisplay(56,5,CTable44);
GCDisplay(56,7,CTable45);
GCDisplay(56,9,CTable46);
//DisplayChar_new(8,1,"PT-Rate:",8);
//CT变比
GCDisplay(80,1,CTable62);
GCDisplay(80,3,CTable63);
GCDisplay(80,5,CTable44);
GCDisplay(80,7,CTable45);
GCDisplay(80,9,CTable46);
//DisplayChar_new(10,1,"CT-Rate:",8);
//密码设置
GCDisplay(104,1,CTable64);
GCDisplay(104,3,CTable65);
GCDisplay(104,5,CTable44);
GCDisplay(104,7,CTable45);
GCDisplay(104,9,CTable46);
// DisplayChar_new(12,0,"Code-Set:",9);
//波特率设置
GCDisplay(128,1,CTable43);
GCDisplay(128,4,CTable49);
GCDisplay(128,7,CTable34);
GCDisplay(128,9,CTable46);
//DisplayChar_new(4,0,"BaudRate:",9);
}
void Display_System_Setup (void)
{ unsigned char temp_flag_updown;
Display_IntData();
back_char(0,8,4);
Display_keyboard();
flag.sure=0;
flag.set=1;
flag.updown=0;
Display_setchoice0();
Set_address();
flag.setup=0;
temp_flag_updown=flag.updown;
while(flag.set)
{
if(flag.gb)
{
flag.gb=0;
if(flag.ds!=1)
{
flag.set=0;
return;
}
CLRDisplay_choice(2, 0, 0,338 );
//for(i=0;i<5;i++)
// white_char((4+i*3),1,8);
if(flag.setup==5)
flag.updown=1;
if(flag.setup==10)
flag.updown=0;
if (flag.updown!=temp_flag_updown)
{temp_flag_updown=flag.updown;
CLRDisplay_choice(2, 0, 0,338 );
CLRDisplay_choice(2, 0, 1,2600);
switch (flag.updown)
{
case 0: flag.setup=0;Display_setchoice0();break;
case 1: flag.setup=5;Display_setchoice1();break;
default: flag.setup=0;Display_setchoice0();flag.gb=1;break;
}
}
//要加清屏程序
switch(flag.setup)
{
case 0: Set_address(); break;
case 1: Set_CTrate(); break;
case 2: Set_PTrate(); break;
case 3: Set_codeset(); break;
case 4: Set_baudrate(); break;
case 5: Set_conmode(); break;
case 6: Set_eveclr(); break;
case 7: Set_edgclr(); break;
case 8: Set_limiclr(); break;
case 9: Set_verify(); break;
default: flag.setup=0; break;
}
}
_NOP();
}
return;
}
void translation(void)
{
//////////////////////////////////////////fjj
if (flag.timecount_ok==TRUE)
{
for(t=0;t<20000;t++)
{
_NOP();
}
}
junger();
P3OUT &=~BIT7;
/////////////////////////////////////////////
}
void Make_value()
{
unsigned char temp_flag_updown;
Display_IntData();
back_char(0,16,4);
Display_keyboard();
flag.sure=0;
flag.set=1;
flag.updown=0;
flag.setup=0;
temp_flag_updown=flag.updown;
set_registers();
while(flag.set)
{
if(flag.gb)
{
flag.gb=0;
if(flag.ds!=3)
{
flag.set=0;
return;
}
CLRDisplay_choice(2, 0, 0,338 );
if(flag.updown!=temp_flag_updown)
{ temp_flag_updown=flag.updown;
CLRDisplay_choice(2, 0, 1,2600);
}
switch (flag.updown)
{
case 0: set_registers();break;
case 1: set_simulation();break;
case 2: set_logic();break;
default:flag.updown=0;flag.gb=1;break;
}
}
//要加清屏程序
_NOP();
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -