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 + -
显示快捷键?