火锅下位机例程:LCD(项目编号:SF006-F4-010)
发布: 2009-4-13 14:26 | 作者: aleyn | 来源: StmFans思蜕盟 OPELC 自由电子联盟
火锅的LCD,采用的是标准的1602,以4bit的方式传送数据,并以只写的方式,减少主芯片引脚的使用,
这样使得主芯片驱动LCD1602只需要6个IO,分别是RW、E、D4、D5、D6、D7。
火锅的LCD,将会在线显示各种状态,包括电池电压,充电电流,充电时间,等等(各种状态可以由上位机设定需要显示的内容)。
class CLCD
{
protected:
BYTE CursorPos;
void LCD_Delay(u16 Value);
void Action(BYTE Data);
public:
void Init(void);
void WriteData(LCD_CommandTypedef Cmd, BYTE Data);
void Position(BYTE Line, BYTE Pos);
void HideCursor(void);
void ShowCursor(void);
void Clear(void);
void ClearLine(BYTE Line);
void PutChar(BYTE Data);
void PutStr(const BYTE *Str);
void WriteCGRAM(const BYTE *Font, BYTE DDRAM, BYTE Reverse);
};
程序部分太长,就少省略了,大家以后看实际代码吧。
.
这样使得主芯片驱动LCD1602只需要6个IO,分别是RW、E、D4、D5、D6、D7。
火锅的LCD,将会在线显示各种状态,包括电池电压,充电电流,充电时间,等等(各种状态可以由上位机设定需要显示的内容)。
class CLCD
{
protected:
BYTE CursorPos;
void LCD_Delay(u16 Value);
void Action(BYTE Data);
public:
void Init(void);
void WriteData(LCD_CommandTypedef Cmd, BYTE Data);
void Position(BYTE Line, BYTE Pos);
void HideCursor(void);
void ShowCursor(void);
void Clear(void);
void ClearLine(BYTE Line);
void PutChar(BYTE Data);
void PutStr(const BYTE *Str);
void WriteCGRAM(const BYTE *Font, BYTE DDRAM, BYTE Reverse);
};
程序部分太长,就少省略了,大家以后看实际代码吧。
.


龙版跟帖就是快!