2楼大侠:
下面的模块应该没有问题吧
/** 数据写入 **/
void Write_Data(u8 Data)
{
u16 data=0x0;
delay_ms(100);
GPIO_ResetBits(GPIOC,GPIO_RW); // LCD_R/W = 0 写入
GPIO_SetBits(GPIOC,GPIO_RS); // LCD_RS = 1 数据选择
data =data|Data ;
GPIO_Write(GPIOC,data); // 写入数据
delay_ms(5);
GPIO_SetBits(GPIOC,GPIO_EN); // 打开使能
delay_ms(5);
GPIO_ResetBits(GPIOC,GPIO_EN); // 关闭使能
}
/** 指令写入 **/
void Write_Command(u8 Cmd)
{
u16 temp=0x0,Command;
delay_ms(100);
GPIO_ResetBits(GPIOC,GPIO_RW); // LCD_R/W = 0 写入
GPIO_ResetBits(GPIOC,GPIO_RS); // LCD_RS = 0 命令选择
Command = temp | Cmd;
GPIO_Write(GPIOC,Command); // 写入指令
delay_ms(5);
GPIO_SetBits(GPIOC,GPIO_EN); // 打开使能
delay_ms(5);
GPIO_ResetBits(GPIOC,GPIO_EN); // 关闭使能
}
|