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

📄 lcd12864-c.c

📁 液晶模块芯片的技术手册请大家参考
💻 C
字号:
#include	<stdio.h>
#include	<reg52.h>
#include	<intrins.h>

#include	"un.h"
#include	"delay.h"

sbit	E=P3^4;
sbit	RW=P3^6;
sbit	RS=P3^7;
sbit	CS=P3^3;

void	show();

uchar	code cxkj[8][32]={

/*--  文字:  创  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x40,0x20,0xD0,0x4C,0x43,0x44,0x48,0xD8,0x30,0x10,0x00,0xFC,0x00,0x00,0xFF,0x00,
	0x00,0x00,0x3F,0x40,0x40,0x42,0x44,0x43,0x78,0x00,0x00,0x07,0x20,0x40,0x3F,0x00,

/*--  文字:  新  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x20,0x24,0x2C,0x35,0xE6,0x34,0x2C,0x24,0x00,0xFC,0x24,0x24,0xE2,0x22,0x22,0x00,
	0x21,0x11,0x4D,0x81,0x7F,0x05,0x59,0x21,0x18,0x07,0x00,0x00,0xFF,0x00,0x00,0x00,

/*--  文字:  科  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x10,0x12,0x92,0x72,0xFE,0x51,0x91,0x00,0x22,0xCC,0x00,0x00,0xFF,0x00,0x00,0x00,
	0x04,0x02,0x01,0x00,0xFF,0x00,0x04,0x04,0x04,0x02,0x02,0x02,0xFF,0x01,0x01,0x00,

/*--  文字:  技  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x08,0x08,0x88,0xFF,0x48,0x28,0x00,0xC8,0x48,0x48,0x7F,0x48,0xC8,0x48,0x08,0x00,
	0x01,0x41,0x80,0x7F,0x00,0x40,0x40,0x20,0x13,0x0C,0x0C,0x12,0x21,0x60,0x20,0x00,

/*--  文字:  检  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x08,0x88,0x68,0xFF,0x28,0x48,0x10,0x48,0x44,0x43,0x44,0x48,0x50,0x10,0x10,0x00,
	0x02,0x01,0x00,0x7F,0x00,0x20,0x22,0x2C,0x21,0x2E,0x30,0x28,0x27,0x22,0x20,0x00,

/*--  文字:  测  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x08,0x31,0x86,0x60,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0x00,0xFF,0x00,
	0x04,0xFC,0x03,0x00,0x80,0x47,0x30,0x0F,0x10,0x67,0x00,0x07,0x40,0x80,0x7F,0x00,

/*--  文字:  仪  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x40,0x20,0xF0,0x0C,0x03,0x00,0x38,0xC0,0x01,0x0E,0x04,0xE0,0x1C,0x00,0x00,0x00,
	0x00,0x00,0xFF,0x00,0x40,0x40,0x20,0x10,0x0B,0x04,0x0B,0x10,0x20,0x60,0x20,0x00,

/*--  文字:  器  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
	0x40,0x40,0x4F,0x49,0x49,0xC9,0xCF,0x70,0xC0,0xCF,0x49,0x59,0x69,0x4F,0x00,0x00,
	0x02,0x02,0x7E,0x45,0x45,0x44,0x7C,0x00,0x7C,0x44,0x45,0x45,0x7E,0x06,0x02,0x00,};




void	checkbusy_L(void)
{
	uchar	i;
	CS=1;
	P0=0xff;
	do
	{
		RS=0;
		RW=1;
		E=1;
		i=P1;
		E=0;
	}
	while((i&0x80)==0x80);
}

void	checkbusy_R(void)
{
	uchar	i;
	CS=0;
	P0=0xff;
	do
	{
		RS=0;
		RW=1;
		E=1;
		i=P1;
		E=0;
	}
	while((i&0x80)==0x80);
}


void	writecom_L(uchar com)
{

	checkbusy_L();
	E=0;
	CS=1;
	RS=0;
	RW=0;
	P1=com;
	E=1;
	E=0;
}

void	writecom_R(uchar com)
{

	checkbusy_R();
	E=0;
	CS=0;
	RS=0;
	RW=0;
	P1=com;
	E=1;
	E=0;
}


void	writedat_L(uchar dat)
{

	checkbusy_L();
	E=0;
	CS=1;
	RS=1;
	RW=0;
	P1=dat;
	E=1;
	E=0;
}

void	writedat_R(uchar dat)
{

	checkbusy_R();
	E=0;
	CS=0;
	RS=1;
	RW=0;
	P1=dat;
	E=1;
	E=0;
}





void	main(void)
{

	_nop_();_nop_();_nop_();_nop_();
	P1=0xff;
	P3=0x00;


	writecom_L(0x3f);
	writecom_R(0x3f);

	writecom_L(0xc0);
	writecom_R(0xc0);

	writecom_L(0xb8);
	writecom_R(0xb8);

	writecom_L(0x40);
	writecom_R(0x40);

	show();		


	while(1);	


}


void	show(void)
{
	uchar	idata	i,j;			//二维数组显示	

	for(i=0;i<4;i++)
	{
		for(j=0;j<16;j++)
		{
			writedat_L(*(*(cxkj+i)+j));
		}
	}
	for(i=0;i<4;i++)
	{
		for(j=16;j<32;j++)
		{
			writedat_L(*(*(cxkj+i)+j));
		}
	}

	for(i=4;i<8;i++)
	{
		for(j=0;j<16;j++)
		{
			writedat_R(*(*(cxkj+i)+j));
		}
	}
	for(i=4;i<8;i++)
	{
		for(j=16;j<32;j++)
		{
			writedat_R(*(*(cxkj+i)+j));
		}
	}





}





⌨️ 快捷键说明

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