[STM32火锅(充电器)] 2009-05-03 22:00 我来说两句  

火锅下位机例程:LCD(项目编号:SF006-F4-010)

火锅的LCD,采用的是标准的1602,以4bit的方式传送数据,并以只写的方式,减少主芯片引脚的使用,
这样使得主芯片驱动LCD1602只需要6个IO,分别是RW、E、D4、D5、D6、D7。

火锅的LCD,将会在线显示各种状态,包括电池电压,充电电流,充电时间,等等(各种状态可以由上位机设定需要显示的内容)。

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);
};

程序部分太长,就少省略了,大家以后看实际代码吧。