📄 main.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 + -