//--------------------------------------------------------<br />// 项目:通用<br />// 模块:LCD1602显示驱动<br />// 说明:<br />// 设计:程序匠人(版权所有,引用者请保留原作者姓名)<br />//--------------------------------------------------------<br />/*<br />版本说明:<br />LCD1602.h 2009-3-9 23:18:18<br /><br /><br />*/<br />//--------------------------------------------------------<br /><br /><br />//--------------------------------------------------------<br />//LCD 端口定义<br />//--------------------------------------------------------<br />//V0为液晶显示器对比度调整端.接正电源时对比度最弱,接地电源时对比度最高.<br />//对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度<br /><br />#define LCD_PORT GPIOB //LCD控制口<br /><br />#define LCD_E GPIO_Pin_5 //使能信号(下降沿有效)<br />#define LCD_RW GPIO_Pin_6 //读写信号(1=读,0=写)<br />#define LCD_RS GPIO_Pin_7 //寄存器选择信号(1=数据寄存器,0=指令寄存器)<br /> //当RS=0,RW=0时,写入指令或者显示地址<br /> //当RS=0,RW=1时,读忙信号<br /> //当RS=1,RW=0时,写入数据<br /><br />#define LCD_DB0 GPIO_Pin_8 //8位双向数据线<br />#define LCD_DB1 GPIO_Pin_9 //8位双向数据线<br />#define LCD_DB2 GPIO_Pin_10 //8位双向数据线<br />#define LCD_DB3 GPIO_Pin_11 //8位双向数据线<br />#define LCD_DB4 GPIO_Pin_12 //8位双向数据线<br />#define LCD_DB5 GPIO_Pin_13 //8位双向数据线<br />#define LCD_DB6 GPIO_Pin_14 //8位双向数据线<br />#define LCD_DB7 GPIO_Pin_15 //8位双向数据线<br /><br />#define LCD_BUSY LCD_DB7 //忙标志位(1=忙,0=不忙)<br /><br />//--------------------------------------------------------<br />//LCD 控制定义<br />//--------------------------------------------------------<br />#define LCD_E_L GPIO_ResetBits(LCD_PORT, LCD_E); //使能信号=0<br />#define LCD_E_H GPIO_SetBits(LCD_PORT, LCD_E); //使能信号=1<br /><br />#define LCD_RW_L GPIO_ResetBits(LCD_PORT, LCD_RW);//读写信号=0<br />#define LCD_RW_H GPIO_SetBits(LCD_PORT, LCD_RW); //读写信号=1<br /><br />#define LCD_RS_L GPIO_ResetBits(LCD_PORT, LCD_RS);//寄存器选择信号=0<br />#define LCD_RS_H GPIO_SetBits(LCD_PORT, LCD_RS); //寄存器选择信号=1<br /><br />//--------------------------------------------------------<br />//函数声明<br />//--------------------------------------------------------<br />//内部函数,不建议外部调用<br />extern void GPIO_Config_LCD_OUT(void) ; //LCD IO口 配置 (控制口=输出,数据口=输出)<br />extern void GPIO_Config_LCD_IN(void) ; //LCD IO口 配置 (控制口=输出,数据口=输入)<br /><br />extern void CheckBusy_LCD(void) ; //检测LCD忙信号函数<br />extern void WriteCommand_LCD(u8 wclcd,u8 busyc) ; //向LCD发送指令函数<br />extern void WriteData_LCD(u8 wdlcd) ; //向LCD发送数据函数<br /><br />//外部函数,允许外部调用<br />extern void Init_LCD(void) ; //LCD初始化函数<br />extern void DisplayOneChar_LCD(u8 x,u8 y,u8 ddata); //显示指定坐标的字符函数(入口:x=字符坐标(0~15),y=行坐标(0~1),ddata=待显示字符)<br />extern void DisplayString_LCD(u8 x,u8 y,u8 *ddata); //显示指定坐标的字符串函数(入口:x=字符坐标(0~15),y=行坐标(0~1),*ddata=待显示字符串的指针)<br /><br />//--------------------------------------------------------<br />//<br />// THE END<br />//<br />// 版权所有:程序匠人(引用者请保留原作者姓名)<br />//<br />//--------------------------------------------------------<br /><br />
|