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

📄 lcd_19264_driver.c

📁 19264时间控制 画图功能 19264时间控制 画图功能
💻 C
📖 第 1 页 / 共 2 页
字号:
	LCD_JHD19264A_RS=0;
	LCD_JHD19264A_RW=0;				//送指令
	LCD_JHD19264A_E=1;
	P0=LCD_JHD19264A_DISPLAY_ON;	//开显示
	LCD_JHD19264A_E=0;				//指令有效

	LCD_JHD19264A_CSB=0;
	LCD_JHD19264A_CSA=1;			//开片选10
	LCD_JHD19264A_Busy();
	LCD_JHD19264A_RS=0;
	LCD_JHD19264A_RW=0;				//送指令
	LCD_JHD19264A_E=1;
	P0=LCD_JHD19264A_DISPLAY_ON;	//开显示
	LCD_JHD19264A_E=0;				//指令有效
}

//*******************************************
//函数名称:void LCD_JHD19264A_Write(uchar adress,uchar page,uchar count,uchar *pTAB)
//函数功能:在液晶上绘制(宽*高=count*8)图形函数.切记:count代表宽!!!!!
//形式参数:uchar adress,uchar page,uchar count,uchar *pTAB
//行参说明:
//			adress: 列地址(bit0-5:adressY;bit6-7:CS)
//			 page : 行地址,取值范围0~7
//			count : 列的点阵个数
//			*pTAB : 图形点阵表首地址
//返回参数:无
//使用说明:无
//*******************************************
void LCD_JHD19264A_Write(uchar adress,uchar page,uchar count,uchar DATA)
{
	uchar dcode;

	dcode = adress & 0x80;				//根据地址DB7设置片选

	if(dcode)
		LCD_JHD19264A_CSA = 1;
	else
		LCD_JHD19264A_CSA = 0;

	dcode = adress&0x40;

	if(dcode)							//根据地址DB6设置片选
		LCD_JHD19264A_CSB = 1;
	else
		LCD_JHD19264A_CSB = 0;
		
	page |= 0xb8;						//设置页地址
	LCD_JHD19264A_Busy();
	LCD_JHD19264A_RS = 0;
	LCD_JHD19264A_RW = 0;				//送指令
	LCD_JHD19264A_E  = 1;
	P0 = page;
	LCD_JHD19264A_E=0;					//指令有效

	dcode  = adress & 0x3f;				//根据DB5~DB0设置起始Y地址
	dcode |= 0x40;						//设置Y地址指令的标志位
	LCD_JHD19264A_Busy();
	LCD_JHD19264A_RS = 0;
	LCD_JHD19264A_RW = 0;
	LCD_JHD19264A_E  = 1;
	P0 = dcode;
	LCD_JHD19264A_E  = 0;				//指令有效

	for( ; count ; count--)				//发送显示数据
	{
		dcode = ~DATA;
		LCD_JHD19264A_Busy();
		LCD_JHD19264A_RS = 1;
		LCD_JHD19264A_RW = 0;			//写数据		
		LCD_JHD19264A_E  = 1;
		P0 = dcode;
		LCD_JHD19264A_E  = 0;			//数据有效
	}
}

//*******************************************
//函数名称:void LCD_JHD19264A_Clear(void)
//函数功能:清屏
//形式参数:
//行参说明:
//返回参数:无
//使用说明:无
//*******************************************
void LCD_JHD19264A_Clear(void)
{
	uchar i;	
	for(i=0;i<8;i++)
	{
		LCD_JHD19264A_Write(0,i,64,0x00);
	}
	for(i=0;i<8;i++)
	{
		LCD_JHD19264A_Write(0x40,i,64,0x00);
	}
	for(i=0;i<8;i++)
	{
		LCD_JHD19264A_Write(0x80,i,64,0x00);
	}	
}

//*******************************************
//函数名称:void LCD_JHD19264A_Draw_miki(void)
//函数功能:画一幅192*64图,米老鼠
//形式参数:专业取模软件,纵向取模,字节倒序
//行参说明:
//返回参数:无
//使用说明:无
//*******************************************
void LCD_JHD19264A_Draw(uchar *Tab)
{
	uint m=0;
	uchar i,j,k=0;
	
		{
		for(k=0;k<8;)
			{
			i = *Tab;
			LCD_JHD19264A_Write(k,2,1,i);
			k++;
			Tab++;
			}
		for(k=0;k<8;)
			{
			i = *Tab;
			LCD_JHD19264A_Write(k,1,1,i);
			k++;
			Tab++;
			}
		for(k=8;k<16;)
			{
			i = *Tab;
			LCD_JHD19264A_Write(k,2,1,i);
			k++;
			Tab++;
			}
		for(k=8;k<16;)
			{
			i = *Tab;
			LCD_JHD19264A_Write(k,1,1,i);
			k++;
			Tab++;
			}
	Tab=Tab-32;
		}
}


//从flash中读32字节并转换
void getto()
{
uint i = 0;
ulong adre = 0x1dbc0,buff;
while(adre < 0x7ffff)
		{
		buff = adre;
		P3 = buff;
		buff >>= 8;
		P7 = buff;
		buff >>= 5;	
		P2 = buff;
		adre ++;
		
		C29040_OE = 0;
		C29040_OE = 0;
		TAB_274001_1[i] = P6;
		i++;
		if(i==4096)
		adre = 0x7ffff;	
		C29040_OE = 1;

		LCD_JHD19264A_Draw(TAB_274001_1);
		}

}


//以下为测试用例

void main(void)
{
	
	uint i = 16,m,n;
ulong adre = 0x1dbc0,buff;

	Init_Device();
	LCD_JHD19264A_Init();
	LCD_JHD19264A_Clear();
/*	A16 = 0;
	A17 = 0;
	A18 = 0;
	P3 = 0x00;
	P7 = 0x00;
	C29040_CE = 1;
	C29040_OE = 1;
//	getto();
	LCD_JHD19264A_Draw(TAB_01);
	while(1);
*/
	
/*


while(i)
		{
		buff = adre;
		P3 = i;
		buff >>= 8;
		P7 = 0x00;
		buff >>= 5;	
		P2 = buff;
		adre ++;
		
		C29040_OE = 0;
		C29040_OE = 0;
		TAB_274001_1[i] = P6;
		i++;
		if(i==12287)
		i=0;	
		C29040_OE = 1;

		LCD_JHD19264A_Draw(TAB_274001_2);
        if(i==48)
        {i=0;break;
          }
		}
while(1)
{
LCD_JHD19264A_Draw(TAB_274001_2);
}
*/
	while(1)
	{	
	LCD_JHD19264A_Draw(TAB_01);
	for(m=0;m<65535;m++)
	for(n=0;n<25;n++);
	LCD_JHD19264A_Draw(TAB_02);
	for(m=0;m<65535;m++)
	for(n=0;n<30;n++);
	LCD_JHD19264A_Draw(TAB_03);
	for(m=0;m<65535;m++)
	for(n=0;n<30;n++);
	LCD_JHD19264A_Draw(TAB_04);
	for(m=0;m<65535;m++)
	for(n=0;n<30;n++);
	
	}
}



⌨️ 快捷键说明

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