📄 main.h.bak
字号:
/*===============================*/
/* Predefined SFR Byte Addresses */
/*===============================*/
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
sfr P4 = 0xC0;
sfr P5 = 0xC4;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr B = 0xF0;
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr IEN0 = 0xA8;
sfr CML0 = 0xA9;
sfr CML1 = 0xAA;
sfr CML2 = 0xAB;
sfr IP0 = 0xB8;
sfr S0CON = 0x98;
sfr S0BUF = 0x99;
sfr CTL0 = 0xAC;
sfr CTL1 = 0xAD;
sfr CTL2 = 0xAE;
sfr CTL3 = 0xAF;
sfr ADCON = 0xC5;
sfr ADCH = 0xC6;
sfr TM2IR = 0xC8;
sfr CMH0 = 0xC9;
sfr CMH1 = 0xCA;
sfr CMH2 = 0xCB;
sfr CTH0 = 0xCC;
sfr CTH1 = 0xCD;
sfr CTH2 = 0xCE;
sfr CTH3 = 0xCF;
sfr PWM0 = 0xFC;
sfr PWM1 = 0xFD;
sfr PWMP = 0xFE;
sfr T3 = 0xFF;
sfr IP1 = 0xF8;
sfr IEN1 = 0xE8;
sfr TM2CON = 0xEA;
sfr CTCON = 0xEB;
sfr TML2 = 0xEC;
sfr TMH2 = 0xED;
sfr STE = 0xEE;
sfr RTE = 0xEF;
sfr S1CON = 0xD8;
sfr S1STA = 0xD9;
sfr S1DAT = 0xDA;
sfr S1ADR = 0xDB;
/*==============================*/
/* Predefined SFR Bit Addresses */
/*==============================*/
sbit P1_0 = P1^0;
sbit P1_1 = P1^1; //总线占用
sbit P1_2 = P1^2;
sbit P1_3 = P1^3;
sbit P1_4 = P1^4;
sbit P1_5 = P1^5;
sbit P1_6 = P1^6;
sbit P1_7 = P1^7;
sbit P3_0 = P3^0;
sbit P3_1 = P3^1;
sbit P3_2 = P3^2;
sbit P3_3 = P3^3;
sbit P3_4 = P3^4;
sbit P3_5 = P3^5;
sbit P3_6 = P3^6;
sbit P3_7 = P3^7;
sbit P4_0 = P4^0;
sbit P4_1 = P4^1;
sbit P4_2 = P4^2;
sbit P4_3 = P4^3;
sbit P4_4 = P4^4;
sbit P4_5 = P4^5;
sbit P4_6 = P4^6;
sbit P4_7 = P4^7;
/*========PSW========*/
sbit CY = 0xD7;
sbit AC = 0xD6;
sbit F0 = 0xD5;
sbit RS1 = 0xD4;
sbit RS0 = 0xD3;
sbit OV = 0xD2;
sbit P = 0xD0;
/*========TCON=======*/
sbit TF1 = 0x8F;
sbit TR1 = 0x8E;
sbit TF0 = 0x8D;
sbit TR0 = 0x8C;
sbit IE1 = 0x8B;
sbit IT1 = 0x8A;
sbit IE0 = 0x89;
sbit IT0 = 0x88;
/*========IE0=========*/
sbit EA = 0xAF;
sbit EAD = 0xAE;
sbit ES1 = 0xAD;
sbit ES0 = 0xAC;
sbit ET1 = 0xAB;
sbit EX1 = 0xAA;
sbit ET0 = 0xA9;
sbit EX0 = 0xA8;
sbit ECT0 = 0xE8;
/*========IP=========*/
sbit PAD = 0xBE;
sbit PS1 = 0xBD;
sbit PS0 = 0xBC;
sbit PT1 = 0xBB;
sbit PX1 = 0xBA;
sbit PT0 = 0xB9;
sbit PX0 = 0xB8;
/*========P3=========*/
sbit RD = 0xB7;
sbit WR = 0xB6;
sbit T1 = 0xB5;
sbit T0 = 0xB4;
sbit INT1 = 0xB3;
sbit INT0 = 0xB2;
sbit TXD = 0xB1;
sbit RXD = 0xB0;
/*========SCON=======*/
sbit SM0 = 0x9F;
sbit SM1 = 0x9E;
sbit SM2 = 0x9D;
sbit REN = 0x9C;
sbit TB8 = 0x9B;
sbit RB8 = 0x9A;
sbit TI = 0x99;
sbit RI = 0x98;
/*========ID1========*/
sbit ID1_7 = 0xCF;
sbit ID1_6 = 0xCE;
sbit ID1_5 = 0xCD;
sbit ID1_4 = 0xCC;
sbit ID1_3 = 0xCB;
sbit ID1_2 = 0xCA;
sbit ID1_1 = 0xC9;
sbit ID1_0 = 0xC8;
/*========ID0========*/
sbit ID0_7 = 0xC7;
sbit ID0_6 = 0xC6;
sbit ID0_5 = 0xC5;
sbit ID0_4 = 0xC4;
sbit ID0_3 = 0xC3;
sbit ID0_2 = 0xC2;
sbit ID0_1 = 0xC1;
sbit ID0_0 = 0xC0;
/*========S1CON========*/
sbit CR0 = 0xD8;
sbit CR1 = 0xD9;
sbit AA = 0xDA;
sbit S1 = 0xDB;
sbit ST0 = 0xDC;
sbit STA = 0xDD;
sbit ENS1 = 0xDE;
sbit CR2 = 0xDF;
/*========TM2IR========*/
sbit CTI0 = 0xC8;
sbit CTI1 = 0xC9;
sbit CTI2 = 0xCA;
sbit CTI3 = 0xCB;
sbit CMI0 = 0xCC;
sbit CMI1 = 0xCD;
sbit CMI2 = 0xCE;
sbit T2OV = 0xCF;
/*========IP1=========*/
sbit PCT0 = 0XF8;
sbit PCT1 = 0XF9;
sbit PCT2 = 0XFA;
sbit PCT3 = 0XFB;
sbit PCM0 = 0XFC;
sbit PCM1 = 0XFD;
sbit PCM2 = 0XFE;
sbit PT2 = 0XFF;
#define PN 1 //程序号 00-99
#define T01 2 //预送气1时间 0.1-30.0S
#define T02 3 //滞后送气1时间 0.1-30.0S
#define GAS2 4 //气体2开关 ON/OFF
#define T03 5 //预送气2时间 0.1-30.0S
#define T04 6 //滞后送气2时间 0.1-30.0S
#define K1 7 //直流/脉冲 DC/PDC
#define Ignit 8 //引弧方式 HF/TOUCH
#define I11 9 //引弧电流 3.0-50.0A
#define T12 10 //预熔时间 0.1-60.0S
#define I12 11 //预熔电流 5.0-400.0A
#define T13 12 //电流上升时间 0.1-5000.0S/D ?????
#define T13_SD 13
#define T14 14 //峰值时间 0.01-1.00S
#define I14 15 //峰值电流 5.0-400.0A
#define T15 16 //基值时间 0.01-1.00S
#define I15 17 //基值电流 5.0-400.0A
#define DI 18 //电流增量 0.1-10.0A
#define AHF 19 //叠加高频 ON/OFF
#define I16 20 //高频电流 5.0-100.0A
#define F 21 //高频频率 1-1000Hz
#define T16 22 //高频时间 25%-75%
#define N11 23 //开始衰减位置 0.1-5000.0S/D
#define N11_SD 24
#define T17 25 //衰减时间 1.0-60.0S
#define I17 26 //关断电流 5.0-400.0A
#define K2 27 //焊接方向
#define RN 28 //机头代码 1000-9999
#define D 29 //工件直径 10.0-999.9mm
#define K21 30 //脉动旋转开关 ON/OFF
#define V21_P 31 //旋转速度峰值 25-1250mm/min
#define V21_B 32 //旋转速度基值 25-1250mm/min
#define T21 33 //速度变化时间 0.1-5000.0S/D
#define T21_SD 34
#define DV21 35 //速度增量 1-100mm/min
#define B 36 //焊头自动复位 ON/OFF
#define K3 37 //送丝开关 ON/OFF
#define K31 38 //脉动送丝开关 ON/OFF
#define WN 39 //送丝机型号 1000-9999
#define T31 40 //送丝开始时间/位置0.1-5000.0S/D
#define T31_SD 41
#define T32 42 //速度变化时间 0.1-5000.0S/D
#define T32_SD 43
#define V31_P 44 //送丝速度峰值 50-2500mm/min
#define V31_B 45 //送丝速度基值 50-2500mm/min
#define DV31 46 //送丝速度增量 1-500mm/min
#define T33 47 //送丝停止位置 0.1-5000.0S/D
#define T33_SD 48
#define V32 49 //回抽丝速度 50-2500mm/min
#define T34 50 //回抽丝时间 0.1-10.0S
#define K4 51 //自动横摆开关 ON/OFF
#define Syn_type 52 //边缘锁定方式 ON/OFF
#define T41 53 //自动横摆开始时间/位置0.1-5000.0S/D *****
#define T41_SD 54
#define T42_L 55 //左边缘停留时间 0.1-5.0S
#define T42_R 56 //右边缘停留时间 0.1-5.0S
#define V41 57 //横摆速度 20-2000mm/min
#define A41 58 //横摆宽度 0.1-100.0mm
#define DC41 59 //横摆中心偏移量 0.1-1.0mm
#define DA41 60 //横摆宽度增量 0.1-1.0mm
#define T43 61 //跨越区间时摆宽变化时间0.1-5000.0S/D
#define T43_SD 62
#define K5 63 //自动弧长开关 ON/OFF
#define PGJ 64 //自动碰工件开关 ON/OFF
#define H51 65 //短路提升高度 0.1-10.0mm
#define T51 66 //自动弧长跟踪开始时间/位置0.1-5000.0S/D *****
#define T51_SD 67
#define T52 68 //自动弧长跟踪停止位置0.1-5000.0S/D
#define T52_SD 69
#define AVC_type 70 //自动弧长跟踪方式 P/B/P_B
#define U51_P 71 //弧长电压峰值 5.0-25.0V
#define U51_B 72 //弧长电压基值 5.0-25.0V
#define SENS 73 //灵敏度 1-10
#define DU51 74 //弧长电压增量 0.1-0.9V
#define H52 75 //焊接结束焊枪提升高度0.0-30.0mm
#define NUM_BB 76 //区间数
#define N_BB 77 //x[][0]
#define T13_BB 78 //x[][1]
#define T14_BB 79 //x[][2]
#define I14_BB 80 //x[][3]
#define T15_BB 81 //x[][4]
#define I15_BB 82 //x[][5]
#define AHF_BB 83 //x[][6]
#define I16_BB 84 //x[][7]
#define F_BB 85 //x[][8]
#define T16_BB 86 //x[][9]
#define D_BB 87 //x[][10]
#define K21_BB 88 //x[][11]
#define V21P_BB 89 //x[][12]
#define V21B_BB 90 //x[][13]
#define T21_BB 91 //x[][14]
#define K3_BB 92 //x[][15]
#define K31_BB 93 //x[][16]
#define T32_BB 94 //x[][17]
#define V31P_BB 95 //x[][18]
#define V31B_BB 96 //x[][19]
#define K4_BB 97 //x[][20]
#define T42L_BB 98 //x[][21]
#define T42R_BB 99 //x[][22]
#define V41_BB 100 //x[][23]
#define A41_BB 101 //x[][24]
#define T43_BB 102 //x[][25]
#define U51P_BB 103 //x[][26]
#define U51B_BB 104 //x[][27]
#define SENS_BB 105 //x[][28]
#define DU51_BB 106 //x[][29]
/*****NAME*****/
#define M_main 0X10 //主模块
#define M_current 0X20 //电流模块
#define M_RW 0X30 //旋转/送丝模块
#define M_OSC 0X40 //横摆
//#define M_OA 0X40
#define M_AVC 0X50 //弧长模块
#define M_P 0X60 //面板
#define M_RC 0X70 //线控器
#define M_ALL 0X80 //所有从板
#define M_current_RW 0X90 //电流模块和旋转/送丝模块
#define M_current_P 0XA0
#define M_RW_P 0XB0
//#define M_OSC_P 0XC0
#define M_OA_P 0XC0
//#define M_AVC_P 0XD0
#define M_P_RC 0XE0
#define M_PC 0XF0 //PC机
/*****NAME*****/
/*****数据类型*****/
#define parameter1 0x01 //显示弧压或焊接角度(5字节)
#define parameter2 0x02 //显示焊接电流、焊接电压(7字节)
#define edit_sec 0x03 //区间内参数(区间)
//#define infor_sec 0x04 //当前区间号
#define p_in_sec 0x05 //区间内参数(轴)
#define p_out_sec 0x06 //区间外参数(轴)
#define infor 0x07 //信息
#define command 0X08 //命令
#define parameter 0X09 //参数
#define err_infor 0X0A //出错信息
#define answer 0X0B //应答
#define program 0X0C //程序号
#define para_pc 0x0D //送给PC机的显示参数(度数、电流、电压、弧压)
#define para_pc1 0x0E //送给PC机的显示参数(度数、电流、电压)
#define call_result 0x0F //点名结果
#define p_section 0x10 //面板进入区间
#define p_edit_finish 0x11 //面板编程结束
/*****数据类型*****/
/**********命令**********/
/***点动***/
#define com_rot_front 0X11 //正转
#define com_rot_reverse 0X12 //反转
#define com_wire_add 0x13 //丝加
#define com_wire_dec 0x14 //丝减
#define com_osc_l 0x15 //左摆/横摆中心左偏
#define com_osc_r 0x16 //右摆/横摆中心右偏
#define com_avc_up 0x17 //弧长控制 上
#define com_avc_down 0x18 //弧长控制 下
#define com_motor_stop 0x19 //停止点动
/***流程***/
#define com_calling 0x1A //点名
#define com_sendP 0X1B //传送参数
#define com_pfinish 0x1C //参数传送完成
#define com_switch 0x1D
#define com_edit 0x1E //编程
#define com_efinish 0x1F //编程完成
#define com_copyEXP 0X21 //复制专家参数
#define com_judge 0x22 //判断当前机头、送丝机与上次使用情况是否相同
#define com_start 0x23 //焊接开始
#define com_pgj 0x24 //自动碰工件
#define com_open_gas1 0x25 //开gas1
#define com_open_gas2 0x26 //开gas2
#define com_ignit 0x27 //引弧过程
#define com_ignit_ok 0x28 //引弧成功
#define com_pre_melt_ok 0x29 //预熔结束
#define com_i_slope_ok 0x2A //电流上升结束
#define com_wire 0x2B //开始送丝
#define com_osc 0x2C //开始横摆
#define com_avc 0x2D //自动弧长
#define com_sector 0x2E //进入区间
#define com_stopR 0X2F //停止旋转
#define com_stopW 0x31 //停止送丝
#define com_stop_avc 0x32 //停止弧长控制
#define com_decrease 0x33 //衰减
#define com_decrease_ok 0x34 //衰减完成
#define com_close_gas1 0x35 //关gas1
#define com_close_gas2 0x36 //关gas2
#define com_lift 0x37 //枪提升
//#define com_ask_lift_ok 0x38 //询问焊枪提升是否结束
#define com_lift_ok 0x39 //枪提升完成
#define com_return 0x3A //自动回位
#define com_return_ok 0x3B //自动回位完成
#define com_goto_begin 0x3C //焊接完成,程序重新初始化
#define com_urgent_stop 0x3D //急停
#define com_rc_demand 0x3E //向线控器要命令
/***过程调整***/
#define com_current_add 0x3F //电流加
#define com_current_dec 0x41 //电流减
#define com_breadth_add 0x42 //摆宽加
#define com_breadth_dec 0x43 //摆宽减
#define com_weld_simu 0x44 //焊接
#define com_wire_on_off 0X45 //送丝开
/***通信***/
#define com_need_para 0x46 //要求对方传送参数
#define com_resend 0x47 //重发送
#define com_demand 0x48 //查询
/**********命令**********/
/*****应答*****/
#define OK 0X49
#define FAIL 0X4A
#define complete 0x4B //完成
/*****应答*****/
/*****信息*****/
#define IgnitFail 0x4C //引弧失败
#define commuFail 0x4D //通讯失败
#define systemErr 0x4E //电源出错
#define overTemp 0x4F //过温
#define lackWater 0x51 //缺水
#define lackGas1 0x52 //缺气1
#define lackGas2 0x53 //缺气2
/*****信息*****/
#define com_connect 0x54 //联机
#define com_connect_fail 0x55 //联机失败
#define com_forbid_p 0x56 //禁止面板
#define com_forbid_rc 0x57 //禁止线控器
#define com_close_water 0x58 //关水
#define com_p_active 0x59 //激活面板
#define com_rc_active 0x5A //激活线控器
#define com_send_p 0x5B //开始传送参数
#define com_send_p_ok 0x5C //传送参数结束
#define com_err_ok 0x5D //错误检测完成
#define com_start_again 0x5E //再次启动
#define com_delt_switch 0x5F //增量选择 0-峰值 1-峰基值 2-基值
#define com_receive_p 0x61 //接收参数
#define com_touch 0x62 //接触引弧
#define com_touch_ok 0x63 //接触到工件
#define com_need_finish 0x64 //焊接度数
#define PDC 1
#define DC 0
#define HF 1
#define TOUCH 0
#define ON 1
#define OFF 0
#define L 1
#define R 2
#define LR 3
#define SP 0
#define SB 1
#define SPB 2
#define CW 0
#define CCW 1
typedef struct
{
unsigned int pn,t01,t02,gas2,t03,t04,k1,ignit,i11,t12,i12,t13,t13_sd,t14,i14,
t15,i15,di,ahf,i16,f,t16,n11,n11_sd,t17,i17,
k2,rn,d,k21,v21_p,v21_b,t21,t21_sd,dv21,b,
k3,k31,wn,t31,t31_sd,t32,t32_sd,v31_p,v31_b,dv31,t33,t33_sd,v32,t34,
k4,syn_type,t41,t41_sd,t42_l,t42_r,v41,a41,dc41,da41,t43,t43_sd,
k5,pgj,h51,t51,t51_sd,t52,t52_sd,avc_type,u51_p,u51_b,sens,du51,h52,
sec_num,x[10][30];
}PROGRAM;
xdata PROGRAM pp _at_ 0x0400; //可变参数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -