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

📄 main.h

📁 LCD图形显示_菜单管理程序
💻 H
字号:
/*------------------------------------------------------------------------------
- Device   	: Mega32
- Title    	: main.h
- Descrip  	: 接触电流测试仪
- Revision 	: Ver1.00
- Author   	: cqw
- Date     	: 22/06/2005
- Modify   	:
------------------------------------------------------------------------------*/
#ifndef	  Main_h
#define   Main_h 
//----------------------------------宏定义--------------------------------------
#define X_Vpower                    127                                         // 电压显示修正
/* 下位机ID */
#define CK_ID						1											// 程控交流源地址码
#define IO_ID						2											// IO通道切换板地地址码
#define AD_ID						3											// AD采集板地地址码
/* 采集周期 */
#define T_AD						100										    // 测试开始通道切换好后,每T_AD*500ms采集一次测试数据
#define Wait_AD						100											// 采集等待			

/* 状态 */
#define	RUN							1											// 运行
#define PAUSE						100											// 暂停
#define STOP						0											// 停止
/* 通讯 */
#define UART_TX_BUFFER_SIZE			12											// 发送缓存大小
#define UART_RX_BUFFER_SIZE			12											// 接收缓存大小
#define RX							0											// 接收
#define RX_Done						1											// 接收完成
#define TX_Make						2											// 形成发送数据
#define TX							3					    					// 发送
/* 接触电流 */ 
#define Upper        				0                  							// 上限
#define Lower        				1                  							// 下限
/* 外部信号 */ 
#define U1        					0x00                  							
#define U2        					0x10                  							
/* 通道切换 */
#define IO_int						0x40

#define IO_ZJ						0x01											
#define IO_FJ						0x02
#define IO_JK						0xc0	
#define IO_I						0x00
#define IO_II						0x80
/* 口线 */
#define POWER_ON()  	 ( PORTD |= 0x80 )	
#define POWER_OFF() 	 ( PORTD &=~0x80 )
#define BUZZER_ON() 	 ( PORTD |= 0x40 )	
#define BUZZER_OFF()	 ( PORTD &=~0x40 )
/* debug */
#ifdef DEBUG
#define CI1_H()   		 ( PORTC |= 0xd0 )										// CI1不使能     
#define CI1_L()   		 ( PORTC &=~0xd0 )										// CI1使能(输入) 
#define CI2_H()   		 ( PORTC |= 0xe0 )										// CI2不使能     
#define CI2_L()   		 ( PORTC &=~0xe0 )										// CI2使能(输入) 
#else
/* normal */
#define CI1_H()   		 ( PORTC |= 0x80 )										// CI1不使能     
#define CI1_L()   		 ( PORTC &=~0x80 )										// CI1使能(输入) 
#define CI2_H()   		 ( PORTC |= 0x40 )										// CI2不使能     
#define CI2_L()   		 ( PORTC &=~0x40 )										// CI2使能(输入) 
#endif
//------------------------------------按键宏------------------------------------
/* 外部按键 */
#define KEY_IN     		 ( PINA  &  0x3F )										// 按键输入端口   
#define KEY_OK  	   			    0x1F                                        // 取消     
#define KEY_ESC                 	0x3E                                        // 确定
#define KEY_UP                  	0x3D                                       	// 下
#define KEY_DOWN                	0x2F                                        // 上
#define KEY_LEFT			    	0x37                                        // 右
#define KEY_RIGHT               	0x3B                                        // 左
/* 内部按键 */
#define ExtKEY_IN 		 ( PINA  &  0xFF )										// 外部按键输入端口  
#define KEY_TEST  	   			    0xFE                                        // 测试
#define KEY_RESET                 	0xFD                                        // 复位
//-------------------------------------菜单宏-----------------------------------
#define MAX_KEYTABSTRUCT_NUM		36
/*常规菜单*/
#define FACE					    0
#define Menu					    1

#define EUTtype						2
#define  I_type				    	3
#define	 II_type					4

#define PortSet						5
#define	 Port0						6
#define	 Port1						7
#define	 Port2						8
#define	 Port3						9
#define	 Port4						10
#define	 Port5						11
#define	 Port6						12
#define	 Port7						13
#define	 Port8						14
#define Paramete					15
#define	 Voltage	    			16
#define  Testtime					17
#define  Spacetime					18
#define  Exterior                   19

#define SystemSet					20
#define	 Time				    	21
#define	   Year    				    22
#define	   Month	    			23
#define	   Day      				24
#define	   Week 					25
#define	   Hour	    			    26
#define	   Minute                   27
#define	   Second                   28
#define	 Backlight                  29
#define	   Green					30
#define	   Red				   		31
#define	 Buzzer				    	32
#define	   Open			    	    33
#define	   Close					34

#define ShutOff 					35
/* 隐藏菜单 */
#define  Testinfo_ZJ				36											// 正极漏电流测试界面
#define  Testinfo_FJ				37											// 反极漏电流测试界面
#define  Testinfo_JK				38											// 机壳漏电流测试界面

#define	 GND					    39
#define	 NoGND					    40

#define	 Port_Upper					41
#define	 Port_Lower					42

#define	 ADJUST 					43

/*-----------------------------------函数声名---------------------------------*/
void Initial					( void );
void Key_DealWith  		  		( void );
void ExtKey_DealWith  		    ( void );
void Save						( void );
void FunctionNul   		 		( void );
void Function_I					( void );
void Function_II				( void );
void Function_Port    			( void );
void Function_Paramet		   	( void );
void Function_System    		( void );
void Function_Time   			( void );
void Function_BkLight			( void );
void Function_Open   			( void );
void Function_Close   			( void );
void Function_ShutOff 			( void );
void GetValue					( void );										// 取得测试结果
void StateInfo       			( void );
void PowerInfo					( void );
void TestInfo_ZJ				( void );	
void TestInfo_FJ				( void );
void TestInfo_JK				( void );
void TestingFace				( void );
void AdjustFace 				( void );
void Menu_Root    		  		( void );
void Menu_EutType   			( void );
void Menu_Port      			( void );
void Menu_Paramete				( void );
void Menu_System    			( void );
void Menu_BackLight 			( void );
void Menu_Buzzer		    	( void );
void Menu_Time      			( void );
void Control     				( void );
void MenuDisp       			( void );
void BackLight     			   	( void );
void RX_Unpack  			    ( void );										// 接收解包
void TX_Pack					( INT8U cmd 			  );					// 发送打包
void Buzzer_ON    		    	( INT8U t 				  );
void AutoPressKey				( INT8U keyval, INT8U n   );					// keyval目标键 n 连续按键次数
void Message					( INT16U tdelay , INT8U i );					// tdelay显示延续时间 i 信息类型
INT8U  Check					( INT8U *p,INT8U len      );					// 校验
INT8U  GetDay       			( INT8U year, INT8U month );					// 计算出当月天数			
INT8U  CheckPower				( void );
INT16U Data_Unpack              ( INT8U *ptr, INT8U flag  );
#endif
/*------------------------------------------------------------------------------
                                        0ooo
						      ooo0     (   ) 
                              (   )     ) /
						       \ (     (_/
	    				        \_) 
------------------------------------------------------------------------------*/                           

⌨️ 快捷键说明

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