LCD12864显示图片继续踩坑

瞎搞一天,上一篇文章的LCD显示汉字没有什么问题,想继续显示图片,但是发现原来的程序理解上不太好理解,所以改成容易理解原理的程序了

可以先跳过程序的阅读,看一下LCD显示的原理:
如下图,LCD是宽128*高64个点组成,LCD分上下的半屏

上半屏是32个行地址(00H-31H)x 8个列地址(00H-07H)
上半屏是32个行地址(00H-31H)x 8个列地址(08H-0FH)

列地址会自加,行地址不会自加

LCD的起始地址是(0x80,0x80)[行,列],每一个行列地址是两个字节的数据0000 0000 0000 0000,所以写数据应该是先写上半屏从左往右,高位在前(左边是高位),结合代码看很清晰了,这个有关取字模的
LCD12864显示图片继续踩坑_第1张图片

/** 
 *  @name	LCD_Display_Picture[显示图片]   
 */
void LCD_Display_Picture(uint8_t *img )
{
	uint16_t line,row;
	Lcd_WriteCmd(0x34);		//切换到扩充指令
	Lcd_WriteCmd(0x34);		//关闭图形显示
	for(line = 0; line < 32; line++)
	{
		Lcd_WriteCmd(0x80+line);
		Lcd_WriteCmd(0x80);
		for (row = 0; row < 16; row++)
		{
			Lcd_WriteData(*img ++);
		}
	}
	
	for(line = 0; line < 32; line++)
	{
		Lcd_WriteCmd(0x80+line);
		Lcd_WriteCmd(0x88);
		for (row = 0; row < 16; row++)
		{
			Lcd_WriteData(*img ++);
		}
	}
	Lcd_WriteCmd(0x36);			//打开图形显示		
	Lcd_WriteCmd(0x30);        	//切换回基本指令
}

接下来要说的是取字模的问题
分三步

第一步

!!!用PS把自己的图片大小调整成像素画布都是128 * 64,一定要是128*64,不要小了就不调整,不然后面取字模会出问题

第二步

下载Image2Lcd软件,把自己的图片转为bmp格式,配置如下
LCD12864显示图片继续踩坑_第2张图片

第三步

下载Pctolcd2002字模软件,配置如下
LCD12864显示图片继续踩坑_第3张图片
阴码是指蓝色被点亮
顺向是指高位在左位1000 0000 如1是高位
逐行式是指往右写,第一字节,第二字节,第三字节—>

你可能感兴趣的:(C语言,IC芯片,Keil)