📄 disp_control.c
字号:
/***********************************************************
文件名称:Keyboard\Display
作 者:
版 本:V08
说 明: 技术支持800-820-6247
修改记录:2008-10-22***********************************************************/
//#define __dsPIC30F6011A__
#include<p30fxxxx.h>
_FOSC(CSW_FSCM_OFF & XT_PLL4); //Run this project using an external crystal
//routed via the PLL in 16x multiplier mode
//For the 7.3728 MHz crystal we will derive a
//throughput of 7.3728e+6*16/4 = 29.4 MIPS(Fcy)
//,~33.9 nanoseconds instruction cycle time(Tcy).
_FWDT(WDT_OFF);//&WDTPSA_64&WDTPSB_8); //Turn off the Watch-Dog Timer.
_FBORPOR(MCLR_EN & BORV_27); //Enable MCLR reset pin and turn on the
//power-up timers 4ms.
_FGS(CODE_PROT_OFF); //Disable Code Protection
#define FCY 10000000 // 30 MHz
#define uchar unsigned char
#define uint unsigned int
//变量定义
extern uint page1_flag;
uint temp_flag;//发送温度标志
uint temp_set_flag;
uchar send_pic;
uchar status,ready_led;//
uchar count; //任务计数器
uint O_Y,O_X,pic_number;
uint number_1,number_2,number_3,number_4,time_count,cursor,time_count1,time_count2,time_count3;
uchar number_1_temp,number_2_temp,number_3_temp,number_4_temp,reset_require;
uchar local_f,remote_f,run_f,stop_f,st_sart_f,turn_f,fault_f,sstop_f,test_f,st_stp_f,dol_f,auxa_f,ready_f,lamp,alarm_info,alarm_info_1;
unsigned char code_1;//显示代码
uchar dat1,dat2,com,x_add,y_add; //第一参数,第二参数,指令代码
//温度参数变量
extern uint Temp_ch1,Temp_ch2,Temp_ch3,Temp_ch4,Temp_ch5,Temp_ch6,Temp_ch7,Temp_ch8,Temp_ch9,Temp_ch10,Temp_ch11,Temp_ch12;
//uchar flag[10];
//保护参数第一屏
extern uchar over_current_enable,short_circuit_enable,under_current_enable,unsym_current_enable,earth_fault_enable,under_voltage_enable;//
extern uint over_current_alarm_l,over_current_trip_l; //1
extern uchar over_current_alarm_d,over_current_trip_d;//1
extern uint short_circuit_t_l; //2
extern uchar short_circuit_t_d;//2
extern uint under_current_alarm_l,under_current_trip_l;//3
extern uchar under_current_alarm_d,under_current_trip_d;//3
extern uint unsym_current_alarm_l,unsym_current_trip_l;//4
extern uchar unsym_current_alarm_d,unsym_current_trip_d;//4
extern uint earth_fault_alarm_l,earth_fault_trip_l; //5
extern uchar earth_fault_alarm_d,earth_fault_trip_d;//5
extern uint under_voltage_alarm_l,under_voltage_trip_l;//6
extern uchar under_voltage_alarm_d,under_voltage_trip_d;//6
//保护参数第二屏
extern uchar over_voltage_enable,power_factor_enable,phase_loss_enable,phase_sequence_enable,steep_load_enable,thermal_overload_enable; //
extern uint over_voltage_alarm_l,over_voltage_trip_l;//1
extern uchar over_voltage_alarm_d,over_voltage_trip_d;//1
extern uint power_factor_alarm_l,power_factor_trip_l;//2
extern uchar power_factor_alarm_d,power_factor_trip_d;//2
extern uint phase_loss_trip_l;//3
extern uchar phase_loss_trip_d;//3
extern uint phase_sequence_trip_d;//4
extern uint steep_load_alarm_l,steep_load_trip_l;//5
extern uchar steep_load_alarm_d,steep_load_trip_d;//5
extern uint thermal_overload_alarm_l,thermal_overload_trip_l;//6
extern uchar thermal_overload_alarm_d,thermal_overload_trip_d;//6
//保护参数第三屏
extern uchar rotor_blocking_enable,comm_error_enable,power_uint_error_enable,Temp_Ch1_enable,Temp_Ch2_enable,Temp_Ch3_enable,Temp_Ch4_enable;//
extern uint rotor_blocking_trip_l;//1
extern uchar rotor_blocking_trip_d;//1
extern uchar comm_error_alarm,comm_error_trip;//2
extern uchar power_uint_error_lost_sync,power_uint_error_lost_trigger,power_uint_error_breakdown;//3
//温度保护变量
extern uint Temp_Ch1_1,Temp_Ch1_2,Temp_Ch1_3,Temp_Ch1_4,Temp_Ch1_5,Temp_Ch1_6,Temp_Ch1_7,Temp_Ch1_8,Temp_Ch1_9,Temp_Ch1_10,Temp_Ch1_11,Temp_Ch1_12;//4
extern uint Temp_Ch2_1,Temp_Ch2_2,Temp_Ch2_3,Temp_Ch2_4,Temp_Ch2_5,Temp_Ch2_6,Temp_Ch2_7,Temp_Ch2_8,Temp_Ch2_9,Temp_Ch2_10,Temp_Ch2_11,Temp_Ch2_12;//5
uint T_ch1,T_ch2,T_ch3,T_ch4,T_ch5,T_ch6,T_ch7,T_ch8,T_ch9,T_ch10,T_ch11,T_ch12;
uchar temp_alarm,temp_trip,temp_alarm_b,temp_trip_b;//
//时间,日期变量
uchar year,month,date,hour,minute;
uchar year_history,month_history,date_history,hour_history,minute_history;//保留历史记录
//跳闸记录
uchar trip_flag,alarm_flag;//跳闸,报警记录标志
uint trip_count;//记录跳闸次数
uint time_count4;//记录起动次数
uint run_time;//记录运行时间
//功能参数变量
uchar motor_turn,turn_pause,turn_puls,modibus_enable,modibus_rate,modibus_address;
uchar minute_total,minute_dis,minute_run,minute_stop;
uchar number_13,number_14,number_15,number_16;
uchar history_flag;
//MODIBUS参数
extern uchar comm_address,comm_address_temp,Baud_Rate,Baud_Rate_temp;
uchar count;
unsigned int InData0[4] = {0, 0, 0, 0};
unsigned int InData1[4] = {0, 0, 0, 0};
unsigned int InData2[4] = {0, 0, 0, 0};
#define rd LATDbits.LATD9
#define wr LATDbits.LATD8
#define ce LATDbits.LATD10
#define cd LATDbits.LATD11
#define reset LATCbits.LATC14
#define test_l LATGbits.LATG9
#define AUXA_L LATCbits.LATC1
#define sstop_l LATCbits.LATC13
#define st_stp_l LATGbits.LATG12
#define st_sart_l LATGbits.LATG13
#define fault_l LATGbits.LATG8
#define stop_l LATGbits.LATG3
#define local_l LATGbits.LATG15
#define run_l LATGbits.LATG14
#define turn_l LATGbits.LATG2
#define remote_l LATGbits.LATG6
#define DOL_L LATCbits.LATC2
#define ready_l LATGbits.LATG7
#define k_lamp PORTBbits.RB0
#define k_menu PORTBbits.RB1
#define k_right PORTBbits.RB2
#define k_set PORTBbits.RB3
#define k_up PORTBbits.RB4
#define k_down PORTBbits.RB5
#define k_reset PORTBbits.RB8
#define k_run PORTBbits.RB9
#define k_left PORTBbits.RB10
#define k_stop PORTBbits.RB11
#define k_horn PORTBbits.RB12
#define para1 0x20;
#define reset_data 0xff00;//
#define main_pic 0xce00;//主画面
#define set_pic 0xcf00;//非主画面
#define init_status 0xce11;
/***********************************************************/
//中间变量
uint modify_value,modify_value_temp,modify_value_first,modify_value_second;
//显示参数
extern uint U_a_value,U_b_value,U_c_value,I_a_value,I_a_value_max,I_b_value,I_c_value,P_factor;
uchar cosa,sina;
extern uint power_kwh,power_kw,power_kvar;
uint power_kwh_h, power_kwh_l;
//起动参数
uint Tstrlimit_temp;
uchar Intvlstrs_temp,Init_volt2_temp;
extern uchar modify_char_4,modify_char_5,modify_char_6,modify_char_7,modify_char_8,modify_char_9;
extern uint modify_value_1,modify_value_2,modify_value_3;
extern uint Istrlimit,Password,Password_set,Password2,Password_set2;
extern uchar Tstrlimit,Intvlstrs,Init_volt1,Init_volt2,Init_volt3,Frequency,I_loaded,Raise_time,Intvltim1,Intvltim2,Kp,Ki,Kd,comm_address,Baud_Rate;
extern uchar Ctrl_mode,Starcrv_sel,Stopcrv_sel;
//温度保护参数
extern uint Temp_Ch1_4,Temp_Ch1_5,Temp_Ch1_6;
//通讯参数
uchar data_length;
uint com1,com2,com3,com4,page,page0,page1,temp_page;
/*********************************************************************************/
//函数声明
extern void re_display();
extern void key_scan(void);
extern void key_process(void);
extern void key_process1(void);
extern void key_process2(void);
extern void pic_number151();
extern void pic_number152();
extern void pic_number153();
extern void pic_number154();
extern void pic_number155();
extern void pic_number156();
extern void pic_number157();
extern void pic_number158();
extern void pic_number157();
extern void pic_number158();
extern void pic_number159();
extern void pic_number160();
extern void pic_number161();
extern void pic_number162();
extern void pic_number163();
extern void pic_number164();
extern void pic_number165();
extern void pic_number300();
extern void pic_number301();
extern void pic_number302();
extern void pic_number303();
extern void pic_number304();
extern void pic_number305();
extern void pic_number306();
extern void pic_number307();
extern void pic_number308();
extern void pic_number311();
extern void pic_number312();
extern void pic_number313();
extern void pic_number314();
extern void pic_number400();
extern void main_pic_1();
extern void reset_done();
void delay(uint cunt);
void point_add(unsigned char x,unsigned char y);
void clear1();
void start_pic();
void PR10(uchar commd,uchar data1,uchar data2);
void PR11(uchar commd,uchar data1);
void CCW2_PR();
void tran_com(void);
void tran1_com(void);
/***********************************************************
函数名称:
函数功能:
入口参数:
出口参数:
备 注:
***********************************************************/
void __attribute__((interrupt, no_auto_psv))_OscillatorFail(void) //振荡器失效陷阱
{
asm("reset");
}
void __attribute__((interrupt, no_auto_psv))_AddressError(void) //地址错误陷阱
{
asm("reset");
}
void __attribute__((interrupt, no_auto_psv))_StackError(void) //堆栈错误陷阱
{
asm("reset");
}
void __attribute__((interrupt, no_auto_psv))_MathError(void) //数学错误陷阱
{
asm("reset");
}
/***********************************************************
函数名称:字库
函数功能:
入口参数:
出口参数:
备 注:
***********************************************************/
const unsigned char CCTAB[4][128]={ //荣(0) 信(1) 股(2) 份(3)
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x10,0x00,0x00,0x00,0x1C,0x1C,0x00,
0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00,
0x00,0x18,0x18,0x30,0x1F,0xFF,0xFF,0xF8,
0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00,
0x04,0x18,0x18,0x00,0x04,0x20,0x00,0x18,
0x07,0xFF,0xFF,0xF8,0x0C,0x01,0x00,0x30,
0x1C,0x01,0xC0,0x60,0x38,0x01,0x80,0x80,
0x00,0x01,0x80,0x20,0x00,0x01,0x80,0x70,
0x0F,0xFF,0xFF,0x80,0x00,0x07,0xA0,0x00,
0x00,0x0D,0x90,0x00,0x00,0x19,0x90,0x00,
0x00,0x39,0x88,0x00,0x00,0x71,0x86,0x00,
0x00,0xE1,0x87,0x00,0x01,0x81,0x83,0xC0,
0x03,0x01,0x80,0xFC,0x0C,0x01,0x80,0x70,
0x30,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x00,/*"荣",0*/
/* (32 X 32 , 宋体 )*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x40,0x60,0x00,0x00,0xE0,0x30,0x00,
0x00,0xC0,0x18,0x00,0x00,0xC0,0x18,0x00,
0x01,0x80,0x18,0x18,0x01,0xBF,0xFF,0xFC,
0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,
0x02,0x00,0x00,0x00,0x07,0x80,0x00,0x60,
0x07,0x07,0xFF,0x80,0x0F,0x00,0x00,0x00,
0x0B,0x00,0x00,0x00,0x13,0x00,0x00,0x40,
0x23,0x0F,0xFF,0xE0,0x43,0x00,0x00,0x00,
0x03,0x00,0x00,0x00,0x03,0x00,0x00,0x40,
0x03,0x06,0x00,0x60,0x03,0x07,0xFF,0xE0,
0x03,0x06,0x00,0x40,0x03,0x06,0x00,0x40,
0x03,0x06,0x00,0x40,0x03,0x06,0x00,0x40,
0x03,0x06,0x00,0x40,0x03,0x07,0xFF,0xC0,
0x03,0x06,0x00,0x40,0x03,0x06,0x00,0x40,
0x03,0x06,0x00,0x40,0x00,0x00,0x00,0x00,/*"信",1*/
/* (32 X 32 , 宋体 )*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0C,0x18,0xC0,0x80,0x0F,0xF8,0xFF,0xC0,
0x0C,0x10,0xC1,0x80,0x0C,0x10,0xC1,0x80,
0x0C,0x10,0xC1,0x80,0x0C,0x10,0xC1,0x80,
0x0C,0x10,0xC1,0x80,0x0F,0xF0,0x81,0xCC,
0x0C,0x11,0x80,0xFC,0x0C,0x11,0x00,0x00,
0x0C,0x12,0x00,0x40,0x0C,0x15,0xFF,0xE0,
0x0C,0x10,0x40,0xE0,0x0C,0x10,0x40,0xC0,
0x0F,0xF0,0x40,0x80,0x0C,0x10,0x41,0x80,
0x0C,0x10,0x21,0x80,0x0C,0x10,0x23,0x00,
0x0C,0x10,0x13,0x00,0x08,0x10,0x1E,0x00,
0x08,0x10,0x0C,0x00,0x18,0x10,0x1C,0x00,
0x18,0x10,0x37,0x00,0x11,0x30,0x63,0xC0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -