mb2.h

来自「基于2104的热敏打印机控制程序」· C头文件 代码 · 共 402 行

H
402
字号
//#pragma language=extended

/*===============================*/
/* Predefined SFR Byte Addresses */
/*===============================*/

/*  BYTE Registers  */
sfr P0    = 0x80;
sfr P1    = 0x90;
sfr P2    = 0xA0;
sfr P3    = 0xB0;
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 IE    = 0xA8;
sfr IP    = 0xB8;
sfr SCON  = 0x98;
sfr SBUF  = 0x99;

/*  8052 Extensions  */
sfr T2CON  = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2    = 0xCC;
sfr TH2    = 0xCD;


/*  BIT Registers  */
/*  PSW  */
sbit CY    = PSW^7;
sbit AC    = PSW^6;
sbit F0    = PSW^5;
sbit RS1   = PSW^4;
sbit RS0   = PSW^3;
sbit OV    = PSW^2;
sbit P     = PSW^0;

/*  TCON  */
sbit TF1   = TCON^7;
sbit TR1   = TCON^6;
sbit TF0   = TCON^5;
sbit TR0   = TCON^4;
sbit IE1   = TCON^3;
sbit IT1   = TCON^2;
sbit IE0   = TCON^1;
sbit IT0   = TCON^0;

/*  IE  */
sbit EA    = IE^7;
sbit ET2   = IE^5;
sbit ES    = IE^4;
sbit ET1   = IE^3;
sbit EX1   = IE^2;
sbit ET0   = IE^1;
sbit EX0   = IE^0;

/*  IP  */
sbit PT2   = IP^5;
sbit PS    = IP^4;
sbit PT1   = IP^3;
sbit PX1   = IP^2;
sbit PT0   = IP^1;
sbit PX0   = IP^0;

/*  P3  */
sbit RD    = P3^7;
sbit WR    = P3^6;
sbit T1    = P3^5;
sbit T0    = P3^4;
sbit INT1  = P3^3;
sbit INT0  = P3^2;
sbit TXD   = P3^1;
sbit RXD   = P3^0;

/*  SCON  */
sbit SM0   = SCON^7;
sbit SM1   = SCON^6;
sbit SM2   = SCON^5;
sbit REN   = SCON^4;
sbit TB8   = SCON^3;
sbit RB8   = SCON^2;
sbit TI    = SCON^1;
sbit RI    = SCON^0;

/*  P1  */
sbit T2EX  = P1^1;
sbit T2    = P1^0;

/*  T2CON  */
sbit TF2    = T2CON^7;
sbit EXF2   = T2CON^6;
sbit RCLK   = T2CON^5;
sbit TCLK   = T2CON^4;
sbit EXEN2  = T2CON^3;
sbit TR2    = T2CON^2;
sbit C_T2   = T2CON^1;
sbit CP_RL2 = T2CON^0;

//unsigned int press_key_time,time0;

xdata char DW_ADD	_at_	0x4000;//LCD屏数据口写地址
xdata char CW_ADD	_at_	0x4100;//LCD屏指令口写地址
xdata char DR_ADD	_at_	0x4100;//LCD屏数据口读地址
xdata char CR_ADD	_at_	0x4000;//LCD屏指令口读地址

xdata char key_vol	_at_	0x8000;
xdata char key_press	_at_	0x8001;
xdata char temp_key_vol	_at_	0x8002;
xdata char flag		_at_	0x8003;

xdata char GET		_at_	0x8004;
xdata char prog		_at_	0x8005;
xdata char axis		_at_	0x8006;
xdata char up		_at_	0x8007;

xdata char down		_at_	0x8008;

xdata unsigned int press_key_time	_at_	0x8100;
xdata unsigned int time0		_at_	0x8102;


xdata unsigned char hour_h  _at_  0x8200;
xdata unsigned char hour_l  _at_  0x8201;
xdata unsigned char min_h  _at_  0x8202;
xdata unsigned char min_l  _at_  0x8203;
xdata unsigned char sec_h  _at_  0x8204;
xdata unsigned char sec_l  _at_  0x8205;
xdata  unsigned char temp_key_vol1   _at_  0x8206;  
xdata  unsigned char hour  _at_   0x8207;
xdata  unsigned char min  _at_   0x8300;
xdata  unsigned char sec  _at_   0x8301;
xdata  unsigned char hour0  _at_   0x8302;
xdata  unsigned char min0  _at_   0x8303;
xdata  unsigned char sec0  _at_   0x8304;
xdata  unsigned char c_T0  _at_   0x8305;
xdata  unsigned char c_T2  _at_   0x8306;


/*
xdata unsigned int t01		_at_	0x8100;
xdata unsigned int t02		_at_	0x8102;
xdata unsigned int DI		_at_	0x8104;
xdata unsigned int T11		_at_	0x8106;
xdata unsigned int I11		_at_	0x8108;
xdata unsigned int T12		_at_	0x810A;
xdata unsigned int I12		_at_	0x810C;
xdata unsigned int T13		_at_	0x810E;
xdata unsigned int I13		_at_	0x8110;
xdata unsigned int N11		_at_	0x8112;
xdata unsigned int T14		_at_	0x8114;
xdata unsigned int R		_at_	0x8116;
xdata unsigned int V21		_at_	0x8118;
xdata unsigned int ATB		_at_	0x811A;
xdata unsigned int T31		_at_	0x811C;
xdata unsigned int V31		_at_	0x811E;
xdata unsigned int N31		_at_	0x8120;
xdata unsigned int T32		_at_	0x8122;
xdata unsigned int T41		_at_	0x8124;
xdata unsigned int T42		_at_	0x8126;
xdata unsigned int V41		_at_	0x8128;
xdata unsigned int A41		_at_	0x812A;
xdata unsigned int DL		_at_	0x812C;
xdata unsigned int T51		_at_	0x812E;
xdata unsigned int H51		_at_	0x8130;
xdata unsigned int U51		_at_	0x8132;
xdata unsigned int N51		_at_	0x8134;
xdata unsigned int H52		_at_	0x8136;
*/

#define	PN	1	//程序号         00-99
#define T01	2	//预送气1时间	0.1-30.0S
#define T02	3	//预送气2时间	0.1-30.0S
#define GAS2	4	//气体2开关	ON/OFF
#define T03	5	//滞后送气1时间	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	//边缘锁定方式	L/R/LR/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]	

/*****侦头*****/
//#define data_marker 0xA4

/*****NAME*****/
#define M_main		0X10	//0x5A	//主模块
#define M_RW		0X20	//0XA3	//旋转/送丝模块
#define M_OA		0X30	//0X28	//横摆/弧长模块
#define M_P 		0X40	//0X4D	//面板
#define M_RC		0X50	//0X9B	//线控器
#define M_DLZ		0X60	//0XCA	//等离子
#define M_HW		0X70	//0X25	//热丝
#define M_ALL		0X80	//0x39	//所有从板

/*****数据类型*****/
#define infor		0x07
#define command 	0X08	//0x7c	//命令
#define parameter 	0X09	//0x53	//参数
#define angle 		0X0A	//0x43	//角度
#define err_infor 	0X0B	//0x37	//出错信息
#define answer 		0X0C	//0x94	//应答
#define program		0X0D	//0x38	//程序号
#define CURRENT 	0X0E	//0xC4	//电流
#define VOLTAGE 	0X0F	//0xF9	//电压


/*****命令*****/
#define com_calling	0x44	//点名
#define com_rot_front	0X8A	//正转
#define com_rot_reverse	0X6A	//反转	
#define com_wire_add	0x33	//丝加
#define com_wire_dec	0x43	//丝减
#define com_stopW	0x45	//停止送丝
#define com_osc		0xB2	//开始横摆
#define com_osc_l	0x82	//左摆
#define com_osc_r	0x52	//右摆
#define com_avc_up	0x83	//弧长控制 上
#define com_avc_down	0x18	//弧长控制 下
#define com_stop_avc	0x48	//停止弧长控制
#define com_start	0xB3	//焊接开始
#define com_decrease	0x3A	//衰减
#define com_current_ad	0x4C	//电流加
#define com_current_de	0xCA	//电流减
#define com_edit	0x23	//编程
#define com_efinish	0x57	//编程完成 
#define com_pfinish	0x07	//参数传送完成
#define com_weld	0xD8	//模拟/焊接
#define com_Wswitch	0X3E	//送丝开关
#define com_sector	0x13	//进入区间
#define com_n11		0x84	//FINISH>N11
#define com_lift	0x41	//枪提升
#define com_return	0x67	//自动回位
#define com_sendP	0X34	//传送参数
#define com_resend	0x36	//重发送
#define com_stopR	0X4A	//停止旋转
#define com_copyEXP	0XAA	//复制专家参数
#define com_pgj		0x7A	//自动碰工件
#define com_motor_stop	0x54	//停止点动
#define com_excursion_l	0x08	//横摆中心左偏
#define com_excursion_r	0x90	//横摆中心右偏
#define com_judge	0x04	//判断当前机头、送丝机与上次使用情况是否相同
#define com_ergent_stop	0xA4	//急停

/*****应答*****/
#define OK		0XFB
#define FAIL		0X32
#define complete	0x73	//完成

/*****信息*****/
#define IgnitFail	0x92	//引弧失败
#define commuFail	0x58	//通讯失败
#define systemErr	0x93	//电源出错
#define overTemp	0x77	//过温
#define lackWater	0x15	//缺水
#define lackGas1	0x11	//缺气1
#define lackGas2	0x51	//缺气2

#define PDC	1
#define DC	0
#define HF	1
#define TOUCH	0
#define ON	1
#define OFF	0
#define L	0
#define R	1
#define LR	2
#define SP	0
#define SB	1
#define SPB	2
#define CW	0
#define CCW	1

typedef struct 
	{
	unsigned int prg,t01,t03,t02,t04,k1,ignit,i11,t12,i12,t13,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,edge_syn,syn_type,t41,t41_sd,t42_l,t42_r,v41,a41,dc41,da41,t43,
		     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_ 0x8100;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?