📄 public.h
字号:
#ifndef _PUBLIC_H_
#define _PUBLIC_H_
typedef unsigned long DWord;
typedef unsigned char Byte;
typedef unsigned int Word;
persistent union {
unsigned int int_val;
unsigned char byte_val[2];
}uint;
#define HIGH 1
#define LOW 0
#define TRUE 1
#define FALSE 0
#define ON 1
#define OFF 0
#define EN_TIMER1() TMR1IE = 1
#define DIS_TIMER1() TMR1IE = 0
#define nop() asm("nop")
persistent union
{
struct
{
unsigned pp1:1;//d0
unsigned pp2:1;//d1
unsigned pp3:1;//d2
unsigned pp4:1;//rb3
unsigned pp5:1;//rb4
unsigned pp6:1;//rb5
unsigned pp7:1;
unsigned pp8:1;
} PdBK1;
unsigned char PdBK2;
}PdBK3;
#define BUZZ PdBK3.PdBK1.pp1//RD0
#define HVPOWON PdBK3.PdBK1.pp2//RD1
#define AIRPUMP PdBK3.PdBK1.pp3//RD2
#define EMIT PdBK3.PdBK1.pp4//RD3
#define OPSHUT PdBK3.PdBK1.pp5//RD4
#define SPON PdBK3.PdBK1.pp6//RD5
#define AIM PdBK3.PdBK1.pp7//RD6
//#define ENCK PdBK3.PdBK1.pp8//RD7
#define PdBK PdBK3.PdBK2
#define p_water_level RB0
#define p_temp RB1
#define p_flow RB2
#define p_foot RB3
#define p_shut_k RB4
#define p_remote RB5
#define p_hvfail RB6
#define p_mode RC0
#define p_runi RC1
#define p_power RD1
#define p_led5 RD1 // POWERON
#define p_led7 RD3 // EMIT 只有pled7受控
#define p_led8 RD2 // AIRP
persistent union
{
struct {
unsigned CkWl:1;//d0
unsigned CkTemp:1;//d1
unsigned CkFlow:1;//d2
unsigned CkFoot:1;//rb3
unsigned CkShutk:1;//rb4
unsigned CkRemote:1;//rb5
unsigned CkHvfail:1;
unsigned CkLeakage:1;
}Astatus; //11110000
unsigned char Cstatus;
}Stin;
#define WATERLEVEL Stin.Astatus.CkWl
#define WATERTEMP Stin.Astatus.CkTemp
#define FLOW Stin.Astatus.CkFlow
#define FOOT Stin.Astatus.CkFoot
#define SHUT_K Stin.Astatus.CkShutk
#define REMOTE Stin.Astatus.CkRemote
#define HVFAIL Stin.Astatus.CkHvfail
#define LEAKAGE Stin.Astatus.CkLeakage
#define WLCHG Stxor&1
#define WTCHG Stxor&2
#define FLCHG Stxor&4
#define FTCHG Stxor&8
#define SKCHG Stxor&0x10
#define RMCHG Stxor&0x20
#define HFCHG Stxor&0x40
#define LKCHG Stxor&0x80
#define DAHERR 1
#define DALERR 2
#define NO_POWER_HVPS 3
#define ERR_FOOT 4 //FOOT
#define ERR_WL 5
#define ERR_HVFAILL 6
#define ERR_LEAKAGE 7 //LASER TUBE
#define ERR_FLOWH 8
#define ERR_FLOWL 9
#define ERR_HVFAILH 0x10
#define ERR_TEMP 0x11
#define ERR_REMOTE 0x12
#define ERR_DRIVE 0x13
#define ERR_FDSJ_LONG 0x14
#define ERR_SUPERI 0x15
#define ERR_POWERMETER 0x16
#define ERR_SHUT_ON 0x17
#define ERR_SHUT_OFF 0x18
#define ERR_NO_POWER 0x19
#define ERR_IAD_OFFSET 0x20
#define ERR_PAD_OFFSET 0x21
#define ERR_HAVEI_NOLASER 0x22
#define ERR_SHUIBONG 0x24
#define ERR_SELF_CHECK 0x25
#define ERR_MAX_FREQ 0x26 // 设定频率超过最大频率500Hz
#define ERR_MIN_FREQ 0x27 // 频率低于最低频率20Hz
#define ERR_PULSE_OVER_CIRCLE 0x28 // 高电平时间超过周期出错
#define MAX_CNT 16
#define MAX_FREQ 500
#define MIN_FREQ 20
#define MIN_FREQ_CNT 50000 // 20hz
#define MIN_PULSE_TIME 10 // 10us
#define uart_send_start() TXEN = 1
#define uart_send_stop() TXEN = 0
#define uart_rec_start() CREN = 1
#define uart_rec_stop() CREN = 0
#define buzz_on() RD0 = 1
#define buzz_off() RD0 = 0
#define power_on() p_power = 0
#define power_off() p_power = 1
#define SEND_CNT 1
//命令宏定义
#define CHANGE_CHANEL 0
#define PWM_ADD_NUM 1
#define PWM_AUTO_ADD_ONE 2
#define CLR_PWM_AUTO_ADD_ONE 3
#define PWM_SET_NUM 4
#define PWM_SET 5 // 脉冲模式设置,共一下六种
#define MODE0 0 // 第0种
#define MODE1 1
#define MODE2 2
#define MODE3 3
#define MODE4 4
#define MODE5 5
#define TMR2_SET 6
#define FREQ_SET 0
#define PULSE_TIME_SET 1
#define T2CON_SET 2
#define PR2_SET 3
#define PR2_AUTO_ADD_ONE 4
#define PULSE_AUTO_ADD_ONE 5
#define RUNI_SET 6
#define RUNI_PUSLE_SET 0
#define RUNI_FREQ_SET 1
static volatile unsigned int TMR1T @ 0x0E;
static volatile unsigned int CCPR2T @ 0x1B;
persistent static volatile Byte bank1
rec_data[MAX_CNT],rec_cnt,send_cnt,send_data_len,trans_data[MAX_CNT],err_code;
persistent static volatile Word bank1
pwm_data;
persistent static volatile Word
ccpr2_pulse_time,ccpr2_freq_cnt,ccpr2_freq;
persistent static volatile bit
b_rec_ok,b_pwm_auto_add,bOptic,b_end;
//bank1 Byte rec_data[MAX_CNT];
#define cmd_type rec_data[1]
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -