//注意lcm与单片机连接方式 必须是lcm作为mcu的一个普通的I/O设备来使用,即lcm使用mcu外扩地址总线 和数据总线来和mcu传递信息
#define LCD_INIT 56 //初始化
#define LCD_CLS 1 //清屏
#define LCD_HOME 2 //光标归位
#define LCD_VISIABLE 12 //显示
#define LCD_INVISIABLE 8 //灭灯
#define LCD_SETDDADDR 128 //显示区域首地址
unsigned char pdata * LCD_CMD_WR = 12; //lcd命令口地址依硬件连接而定
unsigned char pdata * LCD_DATA_WR =13; //lcd写数据口地址依硬件连接而定
unsigned char pdata * LCD_BUSY_RD =14; //lcd读数据口地址依硬件连接而定
void chkbusy(); //等待lcd空闲函数
void wrstr(unsigned char * pt); //向lcd写以0结尾的字符串
void wrcmd(unsigned char c); //向lcd写命令
void chkbusy(){
unsigned char c = 1; //如果读取到lcd状态位为1则再次读取
while(c!=0){c = (* LCD_BUSY_RD) & 0x80;}
}
void wrstr(unsigned char * pt){ //写字符串到lcd
unsigned char i=0;
while(pt[i]!=0){
chkbusy(); //等待lcd
* LCD_DATA_WR = pt[i++]; //写字符到lcd数据口
}
chkbusy(); //等待lcd
wrcmd(LCD_HOME); //lcd光标归位
}
void wrcmd(unsigned char c){ //lcd 写命令
chkbusy(); //等待lcd
*LCD_CMD_WR = c; //写命令到命令口
}
51单片机 的 字符型液晶驱动函数
最新推荐文章于 2021-10-20 23:56:54 发布