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

📄 lcdinit.txt

📁 点阵LCD320240驱动的驱动程序
💻 TXT
字号:
//===================================
void	lcdinit(void)
{
	//clr_csport
	sysset13700();
	scroll13700();
	csrform13700();
	hdotscr();
	ovlay13700();
	dispon13700();
	
	//powersav13700();
	grayscale();

	//set_csport
}
//===================================


//===================================
void	sysset13700()
{
	send_lcdcommand(0x40);			//sys set command
	send_lcddata(0x34);				//reg[00h]
	send_lcddata(0x87);				//reg[01h]
	send_lcddata(0x07);				//reg[02h]
	send_lcddata(0x27);				//reg[03h]
	send_lcddata(0x3f);				//reg[04h]
	send_lcddata(0xf0);				//reg[05h]
	send_lcddata(0x28);				//reg[06h]
	send_lcddata(0x00);				//reg[07h]
	//send_lcddata(0x00);				//reg[08h]
	//030H,087H,007H,027H,03FH,0F0H,028H,000H
}
//===================================
void	powersav13700()
{
	send_lcdcommand(0x53);			//power save
	//send_lcddata(0xff);				//power dis
	send_lcddata(0x00);				//dummy
	send_lcddata(0x00);				//dummy
}
//===================================
void	dispon13700()
{
	send_lcdcommand(0x59);			//disp on
	send_lcddata(0x55);				//reg[0ah]	no flash
}
//===================================
void	dispoff13700()
{
	send_lcdcommand(0x58);			//disp off
	send_lcddata(0b00);				//reg[09h]	blank
}
//===================================
void	scroll13700()
{
	send_lcdcommand(0x44);			//scroll
	send_lcddata(0x00);				//reg[0bh]	sad1	reg0
	send_lcddata(0x00);				//reg[0ch]		sad1	reg1
	send_lcddata(0xf0);				//reg[0dh]	sl1

	send_lcddata(0x80);				//reg[0eh]	sad2	reg0
	send_lcddata(0x25);				//reg[0fh]		sad2	reg1
	send_lcddata(0xf0);				//reg[10h]	sl2
	
	send_lcddata(0x00);				//reg[11h]	sad3	reg0
	send_lcddata(0x4b);				//reg[12h]	sad3	reg1
	send_lcddata(0x00);				//reg[13h]	sl3
	send_lcddata(0x00);	
	//000H,000H,0F0H,080H,025H,0F0H,000H,000H,000H,000H
}
//===================================
void	csrform13700()
{
	send_lcdcommand(0x5d);			//csrform
	send_lcddata(0x07);				//reg[15h]	cursor width
	send_lcddata(0x07);				//reg[16h]	cursor height
}
//===================================
void	csrdir13700(uchar dir)
{
	switch(dir)
	{
		case	0:
			send_lcdcommand(0x4c);			//reg[17h]	csrform r
			break;
		case	1:
			send_lcdcommand(0x4d);			//reg[17h]	csrform l
			break;
		case	2:
			send_lcdcommand(0x4e);			//reg[17h]	csrform u
			break;
		case	3:
			send_lcdcommand(0x4f);			//reg[17h]	csrform d
			break;
		default:
			break;
	}
}
//===================================
void	ovlay13700()
{
	send_lcdcommand(0x5b);			//ovlay
	send_lcddata(0b00011110);		//reg[18h]
}
//===================================
void	cgramadr(uchar cgramadrl,uchar cgramadrh)
{
	send_lcdcommand(0x5c);	
	send_lcddata(cgramadrl);	
	send_lcddata(cgramadrh);	
}

//===================================
void	hdotscr()
{
	send_lcdcommand(0x5a);			//hdotscr
	send_lcddata(0x00);				//reg[1bh]
}
//===================================
void	csrw(uint xadr,uint yadr)
{

	uchar csrwadrl,csrwadrh;
	uint	tempadr;
	tempadr=xadr+yadr*40;
	csrwadrl=(uchar) (tempadr&0x00ff);
	csrwadrh=(uchar) (tempadr/256);
	send_lcdcommand(0x46);			//csrw
	send_lcddata(csrwadrl);			//reg[1ch]
	send_lcddata(csrwadrh);			//reg[1dh]

	//send_lcddata(xadr);
	//send_lcddata(yadr);
}
//===================================
void	csrr()
{
	send_lcdcommand(0x47);			//csrr
	
}
//===================================
void	grayscale()
{
	send_lcdcommand(0x60);			//grayscale
	send_lcddata(0x00);				//reg[20h]
}
//===================================
uchar	rd_lcddata()
{
	uchar rddata;
	clr_csport
		
	clr_comport		//wr	dat
	set_wrport
	clr_rdport
	
	asm(nop);
	asm(nop);
	rddata=lcddatport;
	set_rdport		//rd	dat
	asm(nop);
	asm(nop);
	set_csport
	return(rddata);	
}

//===================================
void	send_lcdcommand(uchar data)
{
	clr_csport
	set_comport		//wr	com
	set_rdport
	clr_wrport

	asm(nop);
	asm(nop);
	
	lcddatport=data;

	//clr_rdport
	asm(nop);
	asm(nop);
	
	set_wrport		//rd	dat
	asm(nop);
	asm(nop);
	
	set_csport
	//clr_wrport
}
//===================================
void	send_lcddata(uchar data)
{
	clr_csport
		
	clr_comport		//wr	dat
	set_rdport
	clr_wrport

	asm(nop);
	asm(nop);
	
	lcddatport=data;
	asm(nop);
	asm(nop);
	
	set_wrport		//rd	dat
	asm(nop);
	asm(nop);
	set_comport
	set_csport
	//clr_wrport
}
//===================================

⌨️ 快捷键说明

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