📄 current.h
字号:
/*===============================*/
/* 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;
/*****NAME*****/
#define M_main 0X10 //主模块
#define M_current 0X20 //电流模块
#define M_RW 0X30 //旋转/送丝模块
#define M_OSC 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_AVC_P 0XD0
#define M_P_RC 0XE0
/*****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 M_PC 0XF0 //PC机
#define com_connection 0x54 //联机
#define com_forbid_p 0x56 //禁止面板
#define com_forbid_rc 0x57 //禁止线控器
#define com_close_water 0x58 //关水
#define com_send_p 0x5B //开始传送参数
#define com_send_p_ok 0x5C //传送参数结束
#define com_err_ok 0x5D //错误检测完成
#define com_delt_switch 0x5F //增量选择 0-峰值 1-峰基值 2-基值
#define com_tight 0x65 //夹紧(枪头)
#define com_lose 0x66 //放松(枪头)
#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 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,syn_type,
x[10][10];
}PROGRAM;
xdata PROGRAM pp _at_ 0x7400; //可变参数
xdata char IM8 _at_ 0xB000; //峰值电流低8位
xdata char IM4 _at_ 0xB001; //峰值电流高4位
xdata char IB8 _at_ 0xB002; //基值电流低8位
xdata char IB4 _at_ 0xB003; //基值电流高4位
xdata char UPD _at_ 0xD000; //同步更新
xdata char COM _at_ 0xE003;
xdata unsigned char COUNT0 _at_ 0xE000;
xdata unsigned char COUNT1 _at_ 0xE001;
xdata unsigned char COUNT2 _at_ 0xE002;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -