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

📄 c12864.c

📁 很实用的单片机例程
💻 C
📖 第 1 页 / 共 2 页
字号:
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x3F,0x04,0x04,0x3F,0x20,0x40,0xC0,0x00,0x00,0xC0,0x40,

/*--  文字:  I  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x20,0x3F,0x20,0x20,0x00,0x40,0x40,0xC0,0x40,0x40,0x00,

/*--  文字:  J  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x00,0x20,0x20,0x3F,0x20,0x20,0x60,0x20,0x20,0xC0,0x00,0x00,

/*--  文字:  K  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x3F,0x24,0x0B,0x30,0x20,0x40,0xC0,0x40,0x00,0xC0,0x40,

/*--  文字:  L  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x3F,0x20,0x00,0x00,0x00,0x40,0xC0,0x40,0x40,0x40,0xC0,

/*--  文字:  M  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x3F,0x3C,0x03,0x3C,0x3F,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,

/*--  文字:  N  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x3F,0x0C,0x23,0x3F,0x20,0x40,0xC0,0x40,0x00,0xC0,0x00,

/*--  文字:  O  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x1F,0x20,0x20,0x20,0x1F,0x00,0x80,0x40,0x40,0x40,0x80,0x00,

/*--  文字:  P  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x3F,0x24,0x24,0x18,0x00,0x40,0xC0,0x40,0x00,0x00,0x00,

/*--  文字:  Q  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x1F,0x21,0x21,0x20,0x1F,0x00,0x80,0x40,0x40,0xE0,0xA0,0x00,

/*--  文字:  R  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x3F,0x24,0x26,0x19,0x00,0x40,0xC0,0x40,0x00,0xC0,0x40,

/*--  文字:  S  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x18,0x24,0x24,0x22,0x31,0x00,0xC0,0x40,0x40,0x40,0x80,0x00,

/*--  文字:  T  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x30,0x20,0x3F,0x20,0x30,0x00,0x00,0x40,0xC0,0x40,0x00,0x00,

/*--  文字:  U  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x3F,0x00,0x00,0x3F,0x20,0x00,0x80,0x40,0x40,0x80,0x00,

/*--  文字:  V  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x3E,0x01,0x07,0x38,0x20,0x00,0x00,0xC0,0x00,0x00,0x00,

/*--  文字:  W  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x38,0x07,0x3C,0x07,0x38,0x00,0x00,0xC0,0x00,0xC0,0x00,0x00,

/*--  文字:  X  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x39,0x06,0x39,0x20,0x00,0x40,0xC0,0x00,0xC0,0x40,0x00,

/*--  文字:  Y  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x20,0x38,0x07,0x38,0x20,0x00,0x00,0x40,0xC0,0x40,0x00,0x00,

/*--  文字:  Z  --*/
/*--  宋体9;  此字体下对应的点阵为:宽x高=6x12   --*/
/*--  高度不是8的倍数,现调整为:宽度x高度=6x16  --*/
0x30,0x21,0x26,0x38,0x20,0x00,0x40,0xC0,0x40,0x40,0xC0,0x00,

};

//发送命令子函数
//========================================================
void sendcom(unsigned char da)
{
AO=0;
RW=0;
P_Data=da;
EP=1;
EP=0;
}
//========================================================
//写入数据子函数
//========================================================
void senddata(unsigned char da)
{  
AO=1;
RW=0;
P_Data=da;
EP=1;
EP=0;
}

void InitGraphic(void)
{
RST=0;
EP=0;
delay_nms(50);
RST=1;
delay_nms(50);


sendcom(0xaf);	//LCD_ON								  
sendcom(0x2f);	//上电模式
sendcom(0x81);	//电量设置模式(屏幕亮度)
sendcom(0x30);	//指令数据
sendcom(0x27);	//内部电压调节电阻设置
sendcom(0x08);	//偏压设置
sendcom(0xc0);	//Com 扫描方式设置(0xc8反向)
sendcom(0xa0);  //Segment方向选择(0xa1反向)
sendcom(0xa4);  //全屏变亮(0xa5变亮)
sendcom(0xa6);  //正相反相显示控制指令,RAM中数据不变(0xa7)
sendcom(0xac);  //静态指示器控制指令(0xad为on)
sendcom(0x00);  
sendcom(0x40);  //设置显示起始行对应RAM行号




}

//========================================================
//页设置子函数
//========================================================
 void setpage(unsigned char a)
{
a|=0xb0;
sendcom(a);
}
//========================================================
//列设置子函数
//========================================================
void setaddr(unsigned char addr)
{
int b;
b=addr>>4;
b&=0x1f;
b|=0x10;
addr&=0x0f;
sendcom(addr);
sendcom(b);
}
//========================================================
//清屏子函数     fill ROM with 0 or 1
//========================================================
void ClearScreen(unsigned char a)
{
 int z1,z2;

for(z1=0;z1<8;z1++)
{
setpage(z1);
setaddr(0);
    for(z2=0;z2<128;z2++)
    {
	   senddata(a);
    }
}
}

//========================================================
//显示16*16汉字
//========================================================
void showhanzi(char x,char y,char n)   //汉字
{

	char i,*p=hanzi;
	y=6-y;
	p+=32*n;
	setpage(y+1);
	setaddr(x);
	for(i=0;i<16;i++)
	{
		senddata(*p);
		p++;
	}
	setpage(y);
	setaddr(x);
	for(i=0;i<16;i++)
	{
		senddata(*p);
		p++;
	}

}
//========================================================
//显示6*16字符
//========================================================
void showzifu(char x,char y,char *n)  
{
	char i,*p;
	y=6-y;	
	while(*n!=0)
	{ 
	    p=zifu;
		p+=12*(*n-32);
		setpage(y+1);
		setaddr(x);
		for(i=0;i<6;i++)
		{
			senddata(*p);
			p++;
		}
		setpage(y);
		setaddr(x);
		for(i=0;i<6;i++)
		{
			senddata(*p);
			p++;
		}
	
		x+=6;
		n++;
	}
	
}

⌨️ 快捷键说明

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