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

📄 master.h

📁 MSP430F149液位控制代码
💻 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 + -