📄 master.h
字号:
#define MASTER_ID 0x00 //主机ID(固定)
#define COMMAND 0x80 //主机
#define TRAP 0x01 //查询指令
#define SET 0x02 //设置指令
#define ACK 0x03 //从机回复指令
//---------------------------------------------------------
#define LCD_DI 0x0020 //P4.5 -> 00100000
#define LCD_RW 0x0040 //P4.6 -> 01000000
#define LCD_EN 0x0080 //P4.7 -> 10000000
#define LCD_CS1 0x0004 //P6.2 -> 00000100
#define LCD_RST 0x0001 //P6.0 -> 00000001
#define LCD_CS2 0x0002 //P6.1 -> 00000010
//---------------------------------------------------------
#define LCD_DisplayON 0x3f //LCD Display On
#define LCD_DisplayOFF 0x3e //LCD Display Off
#define LCD_Data 0x01 //LCD Display Date
#define LCD_Instrument 0x00 //LCD Intrument Data
#define LCD_StartLine 0xc0 //LCD Display Start Line
#define LCD_XAddress 0xb8 //Set X Address
#define LCD_YAddress 0x40 //Set Y Address
#define LCD_Chip1 0x02 //LCD Chip 1
#define LCD_Chip2 0x04 //LCD Chip 2
//---------------------------------------------------------
#define LED_DIR P3DIR //74HC595 DIR
#define LED_OUT P3OUT //74HC595 OUT
#define LED_SDI BIT1 //SDI P3.1 serial data input 数据输入
#define LED_SFTCLK BIT3 //SFTCLK P3.3 shift register clock input 移位寄存器
#define LED_LCHCLK BIT0 //LCHCLK P3.0 storage register clock input 锁存器
//---------------------------------------------------------
void LCD_Initialization(void);
void LCD_WriteByte(unsigned char LCD_Date,unsigned char flag);
void LCD_Clear(unsigned char I_Data);
void LCD_ClearRange(unsigned char Start_XPos,unsigned char Start_YPos,
unsigned char End_XPos,unsigned char End_YPos);
void LCD_Display(const unsigned char *Buffer,unsigned char Start_XPos,
unsigned char Start_YPos,unsigned char Rotate);
void LCD_Delayt(unsigned int dtime);
void LCD_Delayl(unsigned int dtime);
unsigned char LCD_ReadByte(unsigned char flag);
unsigned char LCD_Location(unsigned char XPos,unsigned char YPos);
void LCD_DispNum(unsigned int dates,unsigned char Start_XPos,
unsigned char Start_YPos,unsigned char Rotate);
void LCD_DispNums(unsigned int dates,unsigned char Start_XPos,
unsigned char Start_YPos,unsigned char Rotate);
void LCD_DispMainMenu(void);
void LCD_DispSoloMode(void);
//---------------------------------------------------------
void InitOsc(void);
void InitKeyBroad(void);
void ShutKeyBroad(void);
void AlarmDelayl(unsigned int dtime);
void InitADC(void);
void InitComm(void);
void CommStop(void);
void CommSend(void);
unsigned int GetHeight(void);
void InitValve(void);
void ValveA_Run(void);
void ValveA_Stop(void);
void ValveB_Run(void);
void ValveB_Stop(void);
void InitLEDs(void);
void LEDGo(unsigned char displays);
//---------------------------------------------------------
unsigned char Sys_Menu_Flag = 0x00;
//0x00:单机模式
//0x01:联机模式
unsigned char Sys_Work_Flag = 0x00;
//0x00:菜单模式
//0x01:工作模式
unsigned char Sys_Busy_Flag = 0x00;
//0x00:系统不在工作进程中
//0x01:系统正在工作进程中
unsigned char Sys_Run_Directs = 0x00;
//0x00:系统放水过程,浮子下降AD电压下降
//0x01:系统充水过程,浮子升高AD电压升高
unsigned int Sys_Height_Current = 0;
//系统检测的当前液面高度
unsigned int Sys_Weight_Current = 0;
//系统检测的当前液体重量
unsigned int Sys_Height_Target = 100;
//系统默认的液面设定高度
unsigned char RX_data[2]={0,0};
//保存485收到的数据
//B0:ID(4)+0+CMD(3)
//B1:HeightOfLevel(char)
unsigned char TX_data[2]={0,0};
//保存要发送的数据
//B0:ID(4)+1+CMD(3)
//B1:0x00或者液面高度数据
unsigned char CommStat;
//485状态标志位
//0x?0:还没有收到数据
//0x?1:收取完第一字节
//0x?2:收取完第二字节
//0x?3:收取完一次完整的数据,允许处理
//0x1?:有数据需要发送
unsigned int ADResult_Temp;
//-----------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -