你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

KS1080驱动:如何把汉字内码作为函数参数传递?

[复制链接]
caizhiwei 发布时间:2015-7-8 20:56
HG1286416
128×64点阵;
模块尺寸: 54.0×50.0mm;
显示尺寸:43.5×29.0mm;
3.3V工作;控制器为SBN0064G 兼容KS0108(不带字库)
http://www.chinalcdmodule.com/3.3v-lcd-module---hg1286416.html
http://www.chinalcdmodule.com/upfiles/HG1286416.pdf
1.12*16字体未开发
2.24*14字体未开发
  1. static u8 *FindGBChar(u8 *str)
  2. {
  3.   u16 i;
  4.   u16 gbcharNum=25;  //动态结构体数组中汉字的个数
  5.   //求结构体数组元素个数的方法:(sizeof(GBCHR_16))/(sizeof(GBCHR)),但编译器报错
  6.   for(i=1; i<gbcharNum; i++)
  7.   {
  8.     if(*str==GBCHR_16[i].chr[0] && *(str+1)==GBCHR_16[i].chr[1])
  9.       return (u8 *)GBCHR_16[i].dataTab;
  10.   }
  11.   return (u8 *)GBCHR_16[0].dataTab; //字库中没有要找的字,则返回第一个字模
  12. }


  13. /*******************************************************************************
  14. * 函数名:LCD_print_1632Num
  15. * 说明:液晶字符输出字符(16*32字体)
  16.       row: 0,1,2,3,4(5 lines cross)
  17.       column: 0~127(列) column=iner_column*16   
  18. * 输入参数:reverse=0:common display reverse=1: reverse disp
  19. * 输出参数:
  20. *******************************************************************************/
  21. void LCD_print_1632Num(unsigned char row, unsigned char column,  u8 num,u8 reverse)
  22. {
  23.     DispScreen(16,32,row,column,digitalTab1_16x32[num], reverse);
  24. }


  25. /*******************************************************************************
  26. * 函数名:LCD_print_1616CNChar
  27. * 说明:液晶字符输出汉字(16*16)
  28.       row: 0,2,4,6(4 lines)  row*2=page(0~7),
  29.       column: 0~127(列) column=iner_column*16 每行最多显示8个1616汉字      
  30. * 输入参数:reverse=0:common display reverse=1: reverse disp
  31. * 输出参数:
  32. *******************************************************************************/
  33. void LCD_print_1616CNChar(unsigned char row, unsigned char column,  u8 *str,u8 reverse)
  34. {
  35.    while(*str!='\0')
  36.   {  
  37.       DispScreen(16,16,row,column,FindGBChar(str), reverse);      
  38.       str+=2;
  39.       column+=16;   
  40.   }
  41.      
  42. }

  43. //结构体数组
  44. //取码规则:PCtoLCD2002,(逆向)低位在前, 列行扫描, 阴码(1-亮, 0-灭)
  45. //LcmZimo.exe:从左到右从上到下,纵向8点下高位
  46. const GBCHR GBCHR_16[] =
  47. {

  48. 0x00,0x00, /*每个汉字内码占用2字节,备用,移植时无需改动*/
  49.       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  50.       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  51.       0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,
  52.       0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   
  53.        
  54. "自", 0x00,0x00,0x00,0xF8,0x48,0x4C,0x4A,0x49,0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00,
  55.       0x00,0x00,0x00,0xFF,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00,0x00,

  56. "手", 0x00,0x04,0x24,0x24,0x24,0x24,0x24,0xFC,0x22,0x22,0x22,0x33,0x22,0x00,0x00,0x00,
  57.       0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x03,0x02,0x00,

  58. "动", 0x20,0x24,0x24,0xE4,0x26,0x34,0x20,0x10,0x10,0xFF,0x10,0x10,0x10,0xF8,0x10,0x00,
  59.       0x08,0x1C,0x0B,0x08,0x08,0x8A,0x4C,0x30,0x0C,0x03,0x40,0x80,0x40,0x3F,0x00,0x00,

  60. "模", 0x10,0x10,0xD0,0xFF,0x94,0x14,0xE4,0xBF,0xA4,0xA4,0xA4,0xBF,0xF4,0x26,0x04,0x00,
  61.       0x04,0x03,0x00,0xFF,0x08,0x89,0x8B,0x4A,0x2A,0x1E,0x2A,0x2A,0x4B,0xC8,0x48,0x00,

  62. "式", 0x10,0x10,0x90,0x90,0x90,0x90,0x90,0x10,0xFF,0x10,0x12,0x14,0x10,0x18,0x10,0x00,
  63.       0x00,0x20,0x60,0x20,0x1F,0x10,0x10,0x08,0x01,0x06,0x18,0x20,0x40,0x80,0x70,0x00,

  64. "开", 0x80,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x83,0xC2,0x80,0x00,
  65.       0x00,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,

  66. "启", 0x00,0x00,0x00,0xFC,0x44,0x44,0x44,0x45,0x46,0x44,0x44,0x44,0x44,0x7E,0x04,0x00,
  67.       0x40,0x20,0x18,0x07,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFF,0x02,0x00,

  68. "关", 0x00,0x10,0x10,0x11,0x12,0x1C,0x10,0xF0,0x10,0x18,0x14,0x13,0x1A,0x90,0x00,0x00,
  69.       0x81,0x81,0x41,0x41,0x21,0x11,0x0D,0x03,0x0D,0x11,0x21,0x21,0x41,0xC1,0x41,0x00,

  70. "闭", 0x00,0xF8,0x01,0x22,0x26,0x20,0x22,0xA2,0xFA,0x22,0x32,0x22,0x02,0xFF,0x02,0x00,
  71.       0x00,0xFF,0x00,0x08,0x04,0x02,0x21,0x40,0x3F,0x00,0x00,0x40,0x80,0x7F,0x00,0x00
  72. //<- end               
  73. };
复制代码

QQ图片20150708204540.jpg QQ图片20150708204547.jpg

收藏 评论10 发布时间:2015-7-8 20:56

举报

10个回答
caizhiwei 回答时间:2015-7-8 21:01:19

bsp_lcd12864.c
bsp_lcd12864.h
font.c
lcd2864_SRC.zip (11.44 KB, 下载次数: 29)
caizhiwei 回答时间:2015-7-8 21:01:47
QQ图片20150708204530.jpg
caizhiwei 回答时间:2015-7-8 21:03:24
以上代码是基于stm32的,其他单片机均可方便移植。
mark0668 回答时间:2015-7-8 22:43:55
谢谢分享.
星辰一方 回答时间:2015-7-9 08:35:52
没接触过这种屏,哪上面用的比较多呀楼主?
JackieLaura 回答时间:2015-7-9 11:14:29
界面做的不错
stary666 回答时间:2015-7-9 11:17:49
看看,,,,,,,,,,
caizhiwei 回答时间:2015-7-9 15:16:11
星辰一方 发表于 2015-7-9 08:35
没接触过这种屏,哪上面用的比较多呀楼主?

LCD12864,工厂里的机器上用的较多~
埃斯提爱慕 回答时间:2015-7-9 23:00:44
提示: 作者被禁止或删除 内容自动屏蔽
112207301219 回答时间:2015-7-10 00:30:32
不错,学习学习。

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版