📄 total.h
字号:
/*****************************************************************************************************************
* 在这个文件中说明所有的全局变量
* 声明所有的外部函数
* 说明: 1 轴重的AD通道号为0
* 制动力的AD通道号为1
*****************************************************************************************************************/
#ifdef MT_GLOBALS //MT => Motor Trig 摩托车制动
#define MT_EXT
#else
#define MT_EXT extern
#endif
//定义信号量
#define FALSE 0 //假
#define TRUE 1 //真
//定义AD转换对象
#define FORCE 0 //制动力
#define WEIGH 1 //轮重
//定义数字
#define ZER0 0
#define ONE 1
#define TWO 2
#define THREE 3
//输入端口定义
#define WEIGH_DEMA RB0 //轴重标定
#define FORCE_DEMA RB1 //制动标定
#define ARRIVE RB2 //到位信号(检测制动)
#define BACK_ARRIVE RE0 //后轮检测信号
#define ESC RC0 //退出
#define MOVE RC1 //移位
#define ENSURE RC2 //确认
#define ADD_ONE RC5 //加1
//输出端口定义
#define ENABLE_273 RA3 //使能273
#define ENABLE_DISPLAY RE1 //使能显示输出
#define FRONT_CLOSE RD0 //前夹紧器
#define BACK_CLOSE RD1 //后夹紧器
#define LIGHT RD2 //制动灯
#define MOTOR RD3 //电机
#define LOCK RD4 //锁(用于出车)
//前后宏定义
#define FRONT 0 //前
#define BACK 1 //后
//10mS去抖动延时参数
#define D_SHAKE_H 8
#define D_SHAKE_L 250
//定义标定数据在EEPROM中存放的地址
#define FORCE_ADDRESS 0x0
#define WEIGH_ADDRESS 0x40
//定义上位机的命令字
#define NO_WEIGH 0x01 //无需检测轮重
#define NO_TRIG 0x02 //无需检测制动
#define CHECK_F_WEIGH 0x03 //检测前轮轮重
#define CHECK_B_WEIGH 0x04 //检测后轮轮重
#define CHECK_F_FORCE 0x05 //检测前轮制动力
#define CHECK_B_FORCE 0x06 //检测后轮制动力
//定义数组大小
#define DEMA_POINT_SIZE 19 //定义制动力标定数组的大小
#define DISPLAY_SIZE 3
#define SEND_DATA_SIZE 10
//全局变量定义区
MT_EXT unsigned short display_data[DISPLAY_SIZE]; //显示数据
MT_EXT bank1 short dema_force[DEMA_POINT_SIZE]; //制动力标定数组
MT_EXT bank1 short dema_weigh[DEMA_POINT_SIZE]; //轴重标定数组
MT_EXT bank2 unsigned char send_buffer[SEND_DATA_SIZE]; //向上位机发送数据数组
MT_EXT bank2 short f_motor_weigh; //前轴轴重
MT_EXT bank2 short b_motor_weigh; //后轴轴重
MT_EXT bank2 short f_trig_force; //前轴制动力
MT_EXT bank2 short b_trig_force; //后轴制动力
MT_EXT bank2 short f_compare; //前轴制动性能
MT_EXT bank2 short b_compare; //后轴制动性能
MT_EXT bank2 volatile unsigned char command; //上位机的命令
MT_EXT bank2 volatile unsigned char weigh_side; //轮重标识
//MT_EXT bank2 volatile unsigned char trig_side; //制动标识
MT_EXT bank2 unsigned char display_weigh; //显示重量
//外部函数定义区
extern void System_Init(void); //系统初始化函数
extern void Init_Tmr1(void); //TMR1初始化函数
extern void SelectDisplay273(void); //选通输出273
extern void Display(unsigned short *ptr,unsigned char number); //显示函数
extern void Normal_Display(void);
extern unsigned short Adc_Adverage(unsigned char channel); //读取AD函数
extern void Delay(unsigned short i,unsigned short j); //延时函数
extern void Send_Computer(bank2 unsigned char *ptr, unsigned char number);//向上位机发送数据函数
extern short Count_Force(unsigned short *dema_point, unsigned short ad_result); //计算力函数
extern unsigned char My_Write(bank1 short *data, unsigned char number, unsigned char address); //向EEPROM写数据函数
extern unsigned char My_Read(bank1 short *data, unsigned char number, unsigned char address); //从EEPROM中读数据
extern unsigned char Dema(short *dema_point, unsigned char object,unsigned char address); //制动力标定函数
extern void Dema_Release(void);
extern unsigned char Measure_Weigh(void); //轮重检测函数
extern unsigned char Measure_Trig(unsigned char side); //制动检测函数
extern void Clear_Zero(unsigned short *ptr,unsigned short ad_change); //清0函数
extern unsigned short Bcd_Hex(unsigned short i); //BCD码转换16进制数函数
extern unsigned short Hex_Bcd(unsigned short i); //16进制数转BCD码函数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -