LCD1602和LCD12864程序-并行与串行 下载本文

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

/******************************************************