LCD1602和LCD12864的函数库,包括并行与串行
LCD1602基础函数
#ifndef __LCD1602_JCK_C__ #define __LCD1602_JCK_C__
/************************************************ ** **
** 六哥LCD1602基础函数库 ** ** **
**************************************************/
//使用请注意定义引脚
#include\
/***************************************************************** LCD1602判忙函数
******************************************************************/ void LCD1602_PM(void) {
unsigned char temp1;//状态信息(判断是否忙)
LCD1602_SJ=0xFF;//记得在包含该头文件前,定义引脚 LCD1602_RS=0; //记得在包含该头文件前,定义引脚 LCD1602_RW=1; //记得在包含该头文件前,定义引脚 LCD1602_E=1; //记得在包含该头文件前,定义引脚 do
{temp1 = LCD1602_SJ;//记得在包含该头文件前,定义引脚 LCD1602_SJ=0xFF; }
while(temp1&0x80);
LCD1602_E=0;//记得在包含该头文件前,定义引脚 YS_us(1); // }
/*------------------------------------------------ LCD1602写入命令函数 ------------------------------------------------*/ void LCD1602_XZL(unsigned char ml) {
LCD1602_PM(); //忙则等待
LCD1602_RS= 0; //记得在包含该头文件前,定义引脚 LCD1602_RW= 0; //记得在包含该头文件前,定义引脚 LCD1602_E = 1;//记得在包含该头文件前,定义引脚 LCD1602_SJ=ml; //记得在包含该头文件前,定义引脚 YS_us(1);//稍作延时给LCD反应的时间
LCD1602_E = 0;//记得在包含该头文件前,定义引脚
if(ml==0x01|ml==0x02) YS_ms(2);//清屏和地址归位大概需2ms时间处理 YS_us(35);//其他指令大概需35us
}
/*------------------------------------------------ LCD1602写入数据函数 ------------------------------------------------*/ void LCD1602_XSJ(unsigned char sj) {
LCD1602_PM(); //忙则等待
LCD1602_RS=1; //记得在包含该头文件前,定义引脚 LCD1602_RW=0; //记得在包含该头文件前,定义引脚 LCD1602_E= 1;//记得在包含该头文件前,定义引脚 LCD1602_SJ=sj; //记得在包含该头文件前,定义引脚 YS_us(1);//稍作延时给LCD反应的时间
LCD1602_E= 0;//记得在包含该头文件前,定义引脚 }
/*------------------------------------------------ LCD1602初始化函数
------------------------------------------------*/ void LCD1602_CSH(void) {
LCD1602_XZL(0x38); /*显示模式设置*/ LCD1602_XZL(0x08); /*显示光标移动设置*/ LCD1602_XZL(0x01); /*显示开及光标设置*/ LCD1602_XZL(0X06); LCD1602_XZL(0X0c); }
#endif
LCD1602显示函数
#ifndef __LCD1602_XSK_C__ #define __LCD1602_XSK_C__
/************************************************ ******* *********
******* 六哥LCD1602显示函数库 ********* ******* *********
************************************************/
#include\
#include\
//为保证显示数制时的运行效率,制作了0—9,A—F的ascll码表
unsigned char code
ascll1602[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46};
/******************************************************