取模结果:
0x00,0x00,0x00,0x10,0x3F,0x90,0x10,0x90,0x10,0xFF,0x10,0x90,0xBF,0x90,0x40,0x10,
0x30,0x00,0x0F,0xFE,0x02,0x22,0x42,0x22,0x82,0x22,0x7F,0xFE,0x00,0x00,0x00,0x00,/*"胡",0*/
-------------------------------------------------------------------------------------------------------------------------
按照上面的取模方式是可以正常显示的:
LCD12864显示如下:
-----------------------------------------------
| 胡 |
| |
| |
|---------------------------------------------|
--------------------------------------------------------------------------------------------------------------------------
我也是瞎试,试出来的,比较奇怪的是,最后要点了一下向右旋转90度,才取出正确显示的模。
LCD12864显示汉字的程序如下:
/***********************************************************************************
显示汉字程序:
指定坐标显示16*16(字符)
x-(汉字列坐标0=< x <= 7),y-(字符行坐标0=< y <=7),
************************************************************************************/
// 列 行 要显示的字符
// | | |
void disp_chn( unsigned char x , unsigned char y , unsigned char chn )
{
unsigned char ii, k;
unsigned int jj ;
if( x < 64 )
{ LCD1 = 1 ; LCD2 = 0 ; } // 左半屏幕
else
{ LCD1 = 0 ; LCD2 = 1 ; x -= 64 ; } // 右半屏幕
for( k=0; k<2; k++)
{
write_com( PAGE_ADD + y +k) ;
write_com( COL_ADD + x ) ;
jj =( chn ) * 32 + 1 -k ; // 取字库
for( ii = 0x00 ; ii < 0x10 ; ii ++ )
{
write_data ( chn16 [ jj ] ) ;
jj += 0x02 ;
}
}
}
我个人感觉,取模的方式应当和显示函数,相匹配。
那我到底该怎么取模呢?
这样试来试去,不太好吧?
谢谢大家
|