测试了字库生成工具,
原来用的是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]);
- }
- }
复制代码
|