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

📄 value.h

📁 这是本人有幸收集的最完整的10多级液晶显示程序模块
💻 H
字号:

//xdata unsigned char CCAPM4 _at_ 0xde;
//xdata unsigned char CCAP4L _at_ 0xee;
//xdata unsigned char CCAP4H _at_ 0xfe;
//xdata unsigned char CMOD _at_ 0xd9;
//xdata unsigned char CH _at_ 0xf9;
//xdata unsigned char CL _at_ 0xe9;



#define     OFF                    0
#define     ON                     1
#define     menu_biancheng         0
#define     menu_mainone           1
#define     menu_maintwo           2
#define     menu_mainthree         3
#define     menu_mainfour          4
#define     menu_mainfive          5
#define     menu_jiaozhunone       6
#define     menu_jiaozhuntwo       7
#define     menu_jiaozhunthree     8 
#define     menu_jiaozhunfour      9
#define     menu_jiaozhunfive      10
#define     menu_jiaozhunsix       11
#define     menu_jiaozhunseven     12
#define     menu_jiaozhuneight     13
#define     menu_celiangone        21
#define     menu_celiangtwo        22
#define     menu_celiangthree      23
#define     menu_celiangfour       24  
   

/*-----------定时器和ram区-----------*/
#define 	reload_high0    0xfc           /*定时器0重装值设置*/
#define		reload_low0   	 0x66 
#define 	reload_high2   	 0x0f7          /*定时器2自动重装值设置*/
#define		reload_low2   	 0x85
#define 	ram_data_start   0x20           //ram区的开始地址
#define 	ram_data_stop    0x400          //ram区的结束地址
#define         xsd_length       0x04           //小数点长度
/*-----------定时器和ram区-----------*/
/*-----------键盘定义区--------------*/
#define     nokey                0x00
#define     upkey                0x01
#define     downkey              0x02
#define     enterkey             0x04
#define     passwordkey          0x07
#define     delkey               0x06
#define     esckey               0x08
#define     startakey            0x10
#define     startbkey            0x20
#define     resetkey             0x40
#define     stopkey              0x80
#define     istopkey             0xc0
/*-----------键盘定义区--------------*/
/*--------键盘采集部分标志-----------*/
#define     havekey              0x01
#define     delayflag            0x02
#define     key_ok               0x04
#define     delay1               0x08
#define     delay2               0x10
#define     delay3               0x20
#define     delay4               0x40
#define     delay5               0x80
#define     delay6               0x90
#define     delay7               0xa0
#define     delay8               0xb0
#define     delay9               0xc0
#define     delay10              0xd0
#define     delay11              0xe0
#define     delay12              0xf0
/*--------键盘采集部分标志-----------*/
   

//#define     setmax               65535
#define     accelerate1          1;
#define     accelerate2          10;
#define     accelerate3          100;
#define     accelerate4          1000;               

/*------------LCD显示命令常数-------------*/
#define 	lcd_command          0x0f6
#define 	lcd_data             0x0ff
#define 	lcd_direction        0x0a0
#define 	lcd_on               0x0af
#define 	lcd_startl           0x0c0
#define 	lcd_startr           0x00
#define 	lcd_duty             0x0a9
#define 	lcd_rmw              0x0ee
/*----------LCD显示命令常数结束-----------*/

/*---------------函数说明区---------------*/
void      main();    																					   //主函数;


void      key_check(void);
void      lcdinit();                                                                                 //lcd初始化程序;
void      lcdwrite(unsigned char page,unsigned char row,unsigned char length,unsigned char*p);                                   //lcd写程序; 																				   //延时20ms程序;
void      clr_fullscreen();  
void      lcdwrite_chinese(unsigned char page,unsigned char row,unsigned char length,unsigned char*p);
void      lcdwrite_chineseN(unsigned char page,unsigned char row,unsigned char unit,unsigned char*p);                           //全屏清零程序;
void      lcd_partclr(unsigned char page,unsigned char row,unsigned char length);
void      data_switch_display(unsigned int shuju_int,unsigned char decimal_int,unsigned char page,unsigned char row,unsigned char length);
void      lcdwrite_arrow(unsigned char page,unsigned char row,bit edit_state);
void      display();
void      menu_program();
void      menu_main_one();
void      menu_main_two();
void      menu_main_three();
void      menu_main_four();
void      menu_main_five();
void      menu_main_six();
void      menu_measure();
void      menu_adjust(void);
void      menu_adjust_display(void);
void	    menu_adjust_one();
void	    menu_adjust_two();
void	    menu_adjust_three();
void      menu_adjust_four();
void	    menu_adjust_five();
void      menu_adjust_six();
void      menu_adjust_seven();
void      menu_adjust_eight(); 
void      menu_main_control();
void      stop_show();

void      motor_run_show();
void      power_run_show();
void      WriteData(void);
void      WriteOrder(void);
void      GetData(void);
void      GetState(void);
/*-------------函数说明区结束--------------*/

/*-------------全局变量说明区--------------*/
idata unsigned   char   key_temp; 
idata unsigned   char   key1;
idata unsigned   char   key;                 /*key为键值存储区*/
idata unsigned   char   page;                /*写开始页地址*/
idata unsigned   char   row;                 /*写开始列地址*/
idata unsigned   char   length;              /*写长度*/
idata unsigned   char   s05;                 /*0.5s记数*/
idata unsigned   char   ms20;                //20ms计数
idata unsigned   char   *p;
idata unsigned   char   decimal_int;
idata unsigned   char   arrow_state1;         /*箭头位置*/
idata unsigned   char   arrow_state2;
idata unsigned   char   arrow_state3;
idata unsigned   char   arrow_state4;         //故障动作类型使用
idata unsigned   char   dis_number;
idata unsigned   char   old_dis_number;
idata unsigned   int    shuju_int;
idata unsigned   int   upcount;     
idata unsigned   int   downcount;
idata unsigned   char   delay;
idata unsigned   char   ass;          //临时加的变量
data unsigned   int  bdata flag;
idata unsigned char program_count;//编程器检测

#define size_revalue 32	
idata union value_of_union
		{
			unsigned char revalue_buf[size_revalue];				
			unsigned int revalue_buf_int[size_revalue/2];
		}union_vlaue;

/*--------------全局变量说明结束区--------------*/

 
/*----------------位变量定义区------------------*/ 
sbit     ms20s=flag^0; 
sbit     s05s=flag^1;                 /*有键标志*/  
sbit     program_state=flag^2;        /*program_state=1为编程状态*/
sbit     edit_state=flag^4;           /*编辑状态:1 查看状态:0*/
sbit     first_enter=flag^5;
sbit     key_scan=flag^6;
sbit     default_entry=flag^7;
sbit     SuperUser=flag^8;
sbit     UserCheck=flag^9;
/*--------------位变量定义结束区----------------*/
sbit     e1=P2^1;
sbit     e2=P2^2;
sbit     a0=P2^0;
sbit     wr=P2^3;
sbit     reset=P2^4;
sbit     p27=P2^7;

sbit     p13=P1^3;
sbit     p14=P1^4;
sbit     p15=P1^5;
sbit     p25=P2^5;

sbit     WD_SDA=P_3^6;
/*----------------------------------------------------以上是定义的变量区---------------------------------------------*/




/*----------------------------------------------------以下是定义的变量区---------------------------------------------*/
#define under_i union_vlaue.revalue_buf_int[0]
#define under_s union_vlaue.revalue_buf_int[1]
#define uchar unsigned char
#define uint  unsigned int
#define pre_set uni_set.set_temp_int	//临时设定值
#define pre_seth uni_set.set_temp[0]
#define pre_setl uni_set.set_temp[1]

/*  #define pre_set1 uni_set1.set_temp_int	//临时设定值
#define pre_seth1 uni_set1.set_temp[0]
#define pre_setl1 uni_set1.set_temp[1]
#define pre_set2 uni_set2.set_temp_int	//临时设定值
#define pre_seth2 uni_set2.set_temp[0]
#define pre_setl2 uni_set2.set_temp[1]
#define pre_set3 uni_set3.set_temp_int	//临时设定值
#define pre_seth3 uni_set3.set_temp[0]
#define pre_setl3 uni_set3.set_temp[1]  */
//状态信息表的提取
//43cH~446H(12字节
//FLC;			//442H
//状态接收区开始
#define state_1 union_state.state_buf[0]
#define state_0 union_state.state_buf[1]//43cH
#define state_3 union_state.state_buf[2]
#define state_2 union_state.state_buf[3]
#define state_5 union_state.state_buf[4]
#define state_4 union_state.state_buf[5]//440H
#define state_7	union_state.state_buf[6]	
#define state_6 union_state.state_buf[7]//442H
#define state_9 union_state.state_buf[8]	
#define state_8 union_state.state_buf[9]//444h
#define state_11 union_state.state_buf[10] 
#define state_10 union_state.state_buf[11]//446h

#define run_state 	union_state.state_buf_int[0]//43cH
#define Rrelay_state union_state.state_buf_int[1]//43eH
#define protect_state union_state.state_buf_int[2]//440H
#define flc			union_state.state_buf_int[3]//442H
#define flv 		union_state.state_buf_int[4]//444H
#define StartType 	union_state.state_buf_int[5]//446H
#define state_int_6 union_state.state_buf_int[6]//448H
#define key_lock_int union_state.state_buf_int[7]//44AH   键盘锁  1:锁定控制键
//状态接收区结束

bit LcdDelay;                       //lcd延时起动标志
uchar idata LcdTime;                //lcd延时计数

uchar idata alarm_fault_disbak;	     //报警故障界面备份

uchar idata fault_dis_number;        //故障界面备份
//uchar idata trip_alarm_dis_number;   //故障报警界面备份

bit fault_first_enter;		     //0:故障首次进入
//bit trip_alarm_first_enter;		 //0:故障报警首次进入
bit fault_trip_enter;			     //1:由故障动作进入故障信息标志,0:由故障查询进入
//bit fault_trip_judged;				//故障类型已判断

//chejw外部临时变量,由主程序定义
idata union v_set_temp_data{
	uint set_temp_int;
	uchar set_temp[2];
}uni_set; //,uni_set1,uni_set2,uni_set3;

uint idata setmax;
uint idata setmin;
bit Current_Message_End;			//单条报文完成标志,0完成
bit TripLogState;							//故障记录状态,为getdata区分数据读取区专用,1读取故障记录区
                              //此时,仅读取接地类型,特殊,不偏移.若,该地址更改需处理.
    
bit remote_type_address;					//设备动态地
bit remote_type_order  ;					//指令 
bit remote_type_set    ;					//设置
bit remote_type_value  ;					//变量 
bit remote_type_state  ;					//状态
#define remote_sign_furbish remote_type_value

bit remote_sign_built;						//通讯建立标志,特殊报文接收成功后置位.1:建立完成
bit remote_sign_program_state;				//临时使用,仅引用变量名//编程器连接状态     
bit alreadyentry;//界面已经进入过
unsigned char RemoteTypeBak;  //当前处理的报文类型				//0:ordre; 1:set

#define SearchDevice 02
uchar idata bakdisnumber;


void ComunicationFault(void);
void remote_build(void);
void crc_account(void);
     
void alarm_message1(void);   
void alarm_message2(void);  
void alarm_message3(void);   
                       
void trip_alarm_dis1(void); 
                       
void notrip_alarm_dis(void); 	               
void fault_message_dis(void);                         
void fault_dis(void);	     
  
void data_up(uchar step);				//+++
void data_down(uchar step);			//---
void protect_set_dis(void);			//保护设定
void set_set_dis(void);		//设定
void set_fix(void);				//固定屏
void set_number_dis(void);//数据显示
void set_upkey(void);			//upkey
void set_downkey(void);		//downkey
void set_esckey(void);		//esckey
void set_enterkey(void);	//enterkey

void parameter_fix(void);
void parameter_upkey(void);
void parameter_downkey(void);
void parameter_esckey(void);
void parameter_enterkey(void);
void parameter_dis(void);
void parameter_down(uchar step);
void parameter_up(uchar step);



void feed_wdt(void);	   //
bit alone_user;					//显示模块单独使用标志 1:单机模式
bit mode_judge;         //工作模式判断         1:模式未判决(当次执行)
void alone_dis1(void);

/*---------------------------------------------以下是杜建中的----------------------------------------------*/
unsigned char point_row;	//滚动条显示进度
bit show_bit;				//固定界面显示标志:0:第二次显示,1:第一次显示
bit set_bit;				//设定界面标志:0:界面显示,1:设定状态



sbit     LEDStart = P3^4;
sbit     LEDAlarm = P3^5;
sbit     LEDStop  = P1^7;
sbit     LEDFault = P1^6;
sbit     LEDRun   = P3^3;
bit PLEDFault;

#define direct_start 	0x00
#define double_start	0x01
#define two_speed_start	0x02
#define res_start	0x03
#define ydelta_start	0x04
#define auto_transfor	0x05
#define two_power	0x06
#define protect		0x07
#define measure_control	0x08
#define soft_start      0x09   //软起动HH
#define change_start    0x0a   //变频起动HH 


void    OperationControlDisplay(void);
void    OperationControl(void);
void 		OperateStateCheck(void);//操作状态检测 
void      stop_show(void);
void      Stopped_Reason(void);
void      Stopping_display(void);
void      flash_line(unsigned int all_time,unsigned int use_time);
void      motor_run_show(void);
void      power_run_show(void);
void      control(void);

/*--------------------------------------------------------------------------------------------------*/
void  menu_caozuo();
void  menu_guzhangjl_zero();

/*-----------------------------------------    -----------------------------------------------*/
//----------------jyj

bit  nokey_display;
union
{
  unsigned long powerlong;
  unsigned int power[2];
}powerdata;
void io_set(void); 
void io_state();
void di_display();
void do_display();
void parameter_set(void);
void child_dispose(uint change_nochange);
void system_set_display(uchar tempj,uchar tempkk);
void display_di(uint temp);
void display_do(uint temp);
void io_state_display();
void often_open_close(uchar temp);
void pulse_eletricity(uchar temp);


//--------------------------jyj

bit powerkw;
code unsigned int sysmaxtable[12]={2,255,3,2,1,8,1,13,1400,1200,250,2000};

⌨️ 快捷键说明

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