⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcddrv.c

📁 本代码采用C语言编写
💻 C
📖 第 1 页 / 共 4 页
字号:
0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : l
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:20
------------------------------------------------------------------------------*/
0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : m
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:20
------------------------------------------------------------------------------*/
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : n
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:20
------------------------------------------------------------------------------*/
0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : o
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:20
------------------------------------------------------------------------------*/
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : p
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : q
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : r
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : s
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : t
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : u
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : v
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : w
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : x
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : y
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : z
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : {
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : |
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,
/* AutoAdd on 2007-3-30 20:02:21 by zimo3 */
/*------------------------------------------------------------------------------
;  源文件 / 文字 : }
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,
/*------------------------------------------------------------------------------
;  源文件 / 文字 : ~
;  宽×高(像素): 8×16
;  字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节
;  数据转换日期  : 2007-3-30 20:02:21
------------------------------------------------------------------------------*/
0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

uchar currentlcd=0,currentpage=0,currentbase=0;

#define EN1_H	PORTC |=(0x01<<PC1)
#define EN1_L	PORTC &=~(0x01<<PC1)
#define EN2_H	PORTC |=(0x01<<PC4)
#define EN2_L	PORTC &=~(0x01<<PC4)
#define WR_H	PORTC |=(0x01<<PC5)
#define WR_L	PORTC &=~(0x01<<PC5)
#define A0_H	PORTD |=(0x01<<PD0)
#define A0_L	PORTD &=~(0x01<<PD0)
#define LIGHT_ON        PORTC |=(0x01<<PC3)
#define LIGHT_OFF       PORTC &=~(0x01<<PC3)
#define LCD_DATA_IN_H    PORTD |=(0x01<<PD7)
#define LCD_DATA_IN_L   PORTD &=~(0x01<<PD7)
#define LCD_CP          PORTD |=(0x01<<PD6)
#define LCD_CP_L        PORTD &=~(0x01<<PD6)

//#define output(x)	{IO1PIN&=(~(0xff<<16));IO1PIN|=((x)<<16);}


void output(uchar x)
{	
	uchar i, j;
	for(i=0; i<8; i++)
	{
	    if((x&0x80) == 0x80) // 
		LCD_DATA_IN_H;
		else LCD_DATA_IN_L;
		x = (x<<1);
		LCD_CP;
		LCD_CP_L;
	}
	
}
void LCD_GPIOInit(void)
{	

	DDRD  |= (1<<DDD7);//PD7 as serial output, DATA
	DDRD  |= (1<<DDD0);//PD0 as output, A0
	DDRC  |=  (1<<DDC1);//PC1 as output, EN1
	DDRC  |=  (1<<DDC4);//PD4 as output, EN2
	DDRC  |=   (1<<DDC3) ; //PC3 as output, LCD_LIGHT
	DDRC  |=   (1<<DDC5) ; //PC5 R/W
	DDRD  |=   (1<<DDC6) ; //PC6 CP
	
	LCD_CP_L;
	LCD_DATA_IN_L;
	A0_L;
	EN1_L;
	EN2_L;
	LIGHT_OFF;
	WR_L;
}

/*uchar input(void)
{
	uint data;
	//IO1DIR&=(~(0xff<<16));		//set DATA port as input
	DDRD &= (1<<DDD7);//P1.16-24 as output, DATA
	

	//IO1DIR|=(0xff<<16);			//set DATA port as output
	DDRD |= (1<<DDD7);//P1.16-24 as output, DATA
	return (uchar)(data&0xff);
}
*/
/*
uchar LCD_rbyte(uint part, uint page, uint column)
{
	uchar readByte;
	uint i;
 	A0_H;
	WR_H;
	if(part==PART1)
	{//part1
		//EN1_L;
	//	for(i=0;i<100;i++)
		EN1_H;
		for(i=0;i<100;i++);
		readByte = input();
		EN1_L;
	}
	else if(part==PART2)
	{//part2
        
		EN2_H;
		for(i=0;i<100;i++);
		readByte = input();
		EN2_L;
	}
	return readByte;
}
*/
void LCD_wbyte(uint part, uint isCmd, uchar data)
{
	uint i;
	
	if(isCmd==LCD_CMD)
	{
		A0_L;
	}
	else
	{
		A0_H;
	}
	WR_L;

	if(part==PART1)
	{
		EN1_L;	
		for(i=0;i<5;i++);
		EN1_H;
		output(data);
		for(i=0;i<5;i++);
		EN1_L;
		for(i=0;i<5;i++);
	}
	else if(part==PART2)
	{
		EN2_L;
		for(i=0;i<5;i++);
		EN2_H;
		output(data);
		for(i=0;i<5;i++);
		EN2_L;
		for(i=0;i<5;i++);
	}
}

void  LCD_Initialize(void)
{
	uchar i,j;	
     //delay 1 ms
    for(i=0;i<80;i++);
    for(j=0;j<100;j++);
        
        
        // LCD initial setting

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -