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

📄 current.h.bak

📁 基于485的51单片机多机通讯程序
💻 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;

/*****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 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 + -