| 测试了字库生成工具, 原来用的是PCtoLCD生成的,使用STC的字库生成工具,没有成功,
 索性把同一个字所有的扫描模式都生成出来
 居然没有一个能显示成功的,下图是两个软件的配置,是哪里不对了?
 
   
 
 
 显示代码:
 
 复制代码unsigned char code hanzi[]=
{
.........
0xFD,0x01,0xFD,0x25,0x25,0xFD,0x25,0x25,0xFD,0x01,0xFD,0x00,0x07,0x04,0x05,0x05,
0x05,0x05,0x05,0x05,0x05,0x04,0x0F,0x00, /*'画',23*/
0x00,0xF0,0x10,0x10,0x10,0x1F,0x12,0x12,0x12,0xF2,0x02,0x00,0x08,0x05,0x01,0x05,
0x09,0x01,0x05,0x09,0x01,0x05,0x08,0x00, /*'点',24*/
0x00,0x0F,0xFF,0x00,0x00,0x00,0x4F,0xE4,0x92,0x49,0x24,0xFE,0x49,0x24,0x92,0x49,
0x24,0xFE,0x40,0x04,0x00,0x7F,0xF0,0x00, /*'画',25*/
0x00,0x0F,0xFF,0x00,0x00,0x00,0x7F,0x24,0x92,0x49,0x27,0xF2,0x49,0x24,0x92,0x49,
0x27,0xF2,0x00,0x20,0x02,0xFF,0xE0,0x00, /*'画',26*/                
0x00,0x07,0xFF,0x40,0x04,0x00,0x4F,0xE4,0x92,0x49,0x24,0x92,0x4F,0xE4,0x92,0x49,
0x24,0xFE,0x00,0x00,0x00,0xFF,0xF0,0x00, /*'画',27*/                
0x00,0x0F,0xFE,0x00,0x20,0x02,0x7F,0x24,0x92,0x49,0x24,0x92,0x7F,0x24,0x92,0x49,
0x27,0xF2,0x00,0x00,0x00,0xFF,0xF0,0x00, /*'画',28*/                  
0x00,0xFF,0x00,0x00,0x4F,0x49,0x49,0x4F,0x49,0x49,0x49,0x4F,0x40,0x40,0x7F,0x00,
0x0F,0x00,0xE2,0x2E,0x22,0x2E,0x00,0xF0, /*'画',29*/                        
0x00,0xFF,0x00,0x00,0x7F,0x49,0x49,0x7F,0x49,0x49,0x49,0x7F,0x00,0x00,0xFF,0x00,
0x0F,0x00,0x22,0x22,0x22,0x22,0x22,0xE0, /*'画',30*/                
0x00,0x7F,0x40,0x40,0x4F,0x49,0x49,0x49,0x4F,0x49,0x49,0x4F,0x00,0x00,0xFF,0x00,
0x0F,0x00,0xE2,0x22,0xE2,0x2E,0x00,0xF0, /*'画',31*/
0x00,0xFF,0x00,0x00,0x7F,0x49,0x49,0x49,0x7F,0x49,0x49,0x7F,0x00,0x00,0xFF,0x00,
0x0E,0x22,0x22,0x22,0x22,0x22,0x00,0xF0, /*'画',32*/                
0x40,0x4F,0x40,0x40,0x4F,0x49,0x49,0x4F,0x49,0x49,0x4F,0x40,0x00,0xFE,0x02,0x02,
0xF2,0x12,0x12,0xF2,0x12,0x12,0xF2,0x02, /*'画',33*/                
0x40,0x4F,0x49,0x49,0x4F,0x49,0x49,0x4F,0x40,0x40,0x4F,0x40,0x02,0xF2,0x12,0x12,
0xF2,0x12,0x12,0xF2,0x02,0x02,0xFE,0x00, /*'画',34*/
0x00,0x7F,0x40,0x40,0x4F,0x48,0x48,0x4F,0x48,0x48,0x4F,0x40,0x02,0xF2,0x02,0x02,
0xF2,0x92,0x92,0xF2,0x92,0x92,0xF2,0x02, /*'画',35*/
0x40,0x4F,0x48,0x48,0x4F,0x48,0x48,0x4F,0x40,0x40,0x7F,0x00,0x02,0xF2,0x92,0x92,
0xF2,0x92,0x92,0xF2,0x02,0x02,0xF2,0x02, /*'画',36*/
0x40,0x00,0x4F,0xFE,0x40,0x02,0x40,0x02,0x4F,0xF2,0x49,0x12,0x49,0x12,0x4F,0xF2,
0x49,0x12,0x49,0x12,0x4F,0xF2,0x40,0x02, /*'画',37*/
0x40,0x02,0x4F,0xF2,0x49,0x12,0x49,0x12,0x4F,0xF2,0x49,0x12,0x49,0x12,0x4F,0xF2,
0x40,0x02,0x40,0x02,0x4F,0xFE,0x40,0x00, /*'画',38*/
0x00,0x02,0x7F,0xF2,0x40,0x02,0x40,0x02,0x4F,0xF2,0x48,0x92,0x48,0x92,0x4F,0xF2,
0x48,0x92,0x48,0x92,0x4F,0xF2,0x40,0x02, /*'画',39*/                
0x40,0x02,0x4F,0xF2,0x48,0x92,0x48,0x92,0x4F,0xF2,0x48,0x92,0x48,0x92,0x4F,0xF2,
0x40,0x02,0x40,0x02,0x7F,0xF2,0x00,0x02, /*'画',40*/                
        
};
//======================================================================== 
// 函数: void LCD_DataWrite(unsigned int Data) 
// 描述: 写一个字节的显示数据至LCD中的显示缓冲RAM当中 
// 参数: Data 写入的数据  
//======================================================================== 
void LCD_DataWrite(unsigned char Dat)//,_Fill_Dot_LCD 
{ 
 unsigned char Num; 
 LCD_CS = 0; 
 LCD_A0 = 1; 
 for(Num=0;Num<8;Num++) 
 { 
  if((Dat&0x80) == 0) 
  LCD_SDI = 0; 
  else LCD_SDI = 1; 
  Dat = Dat << 1; 
  LCD_CLK = 0; 
  LCD_CLK = 1; 
 } 
 LCD_CS = 1; 
 } 
//---------------------------------------------
//LCD_set_XY: 设置LCD坐标函数
//输入参数:X:0-83  Y:0-5
//编写日期:20080918 
//---------------------------------------------
void LCD_setXY(unsigned char X, unsigned char Y)
{
        unsigned char gao,di; 
        LCD_RegWrite(0xB0 | Y); //页
        X = X + 4;                 //液晶是0-131的,我们只用到0-127,所以当倒序的方法时(131-0),实际上是127-0,
        gao = X & 0xf0;
        gao = gao >> 4;
        di = X & 0x0f;
        LCD_RegWrite(0x10 | gao);  //set Column address MSB   
    LCD_RegWrite(0x00 | di);  //set column address LSB
}   
/*---------------------------------------------
LCD_write_hanzi: 显示12(宽)*16(高)点阵列汉字等半角类
输入参数:c:显示的字符;
-----------------------------------------------*/
void LCD_write_hanzi(unsigned char row, unsigned char page,unsigned char c) //row:列 page:页 dd:字符
{
        unsigned char i;          
        
        LCD_setXY(row*6, page);// 列,页 
        for(i=0; i<12;i++) 
        {
                 LCD_DataWrite(hanzi[c*24+i]);
        }
        
    LCD_setXY(row*6, page+1);// 列,页 
        for(i=12; i<24;i++) 
        {
                 LCD_DataWrite(hanzi[c*24+i]);
        }        
}
 
 
 |