cc1989summer 发表于 2011-3-27 20:04:11

诺基亚5510LCD汉字四行显示(另一种思路)MSP430

最近在搞MSP430驱动诺基亚5510LCD,但是通用的字模软件只能取12*16的汉字字模,5510LCD是84*48的,也就是说最多只能显示三行汉字,多余的空间浪费了

上网搜了下解决方法,看到了本论坛的原帖,见:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4022179&bbs_page_no=1&search_mode=4&search_text=wnstony&bbs_id=9999


感觉这种方法不够简洁,将简单的问题复杂化了,于是就自己摸索出一种方法,见下图

http://cache.amobbs.com/bbs_upload782111/files_37/ourdev_625936XNLK2R.gif
(原文件名:图示.gif)


简单的解析下:
现在有A B C D四行汉字,本例每行一个字,多个字也一样
通过一定的算法(关键是移位)将A B C D的字模转化成CN0 CN1 CN2 三个字模,这样就去掉了ABCD字模中的空格,节省了空间
再按常规方法显示CN0 CN1 CN2,实际显示就是四行字了,比较简洁吧,转换的过程与具体的显示细节无关,更与硬件平台无关。


核心代码如下:
char chinese[];
char chinese1[];
char chinese2[];


char a[];
char b[];
char c[];
char d[];

   void transform(void)
{
    char i,n;   //n为每行字数
      
      for(n=0;n<7;n++)
   {
for(i=0;i<=23;i++)
    if(i<=11)
       chinese=a;
    else
      chinese=(b<<4)+a;
    }
   
      LCD_write_chinese_string(0,0,12,7,0,0);
   
   
    for(n=0;n<7;n++)
   {
for(i=0;i<=23;i++)
    if(i<=11)
      chinese1=(b>>4)+(b<<4);
    else
      chinese1=c;
   }


      LCD_write_chinese_string1(0,2,12,7,0,0);
   

   
      for(n=0;n<7;n++)
   {
for(i=0;i<=23;i++)
    if(i<=11)
       chinese2=c+(d<<4);
    else
      chinese2=(d>>4)+(d<<4);
   }
   
      LCD_write_chinese_string2(0,4,12,7,0,0);
   
}



代码需要自己画图列下算法,这样更明了

演示效果如下:
http://cache.amobbs.com/bbs_upload782111/files_37/ourdev_625937UPODPY.jpg
(原文件名:图像0066.jpg)

http://cache.amobbs.com/bbs_upload782111/files_37/ourdev_625938TURVFK.jpg
(原文件名:图像0067.jpg)



再附上整个程序的源代码(MCU:MSP430F2274)
点击此处下载 ourdev_625933DKPMH8.rar(文件大小:254K) (原文件名:5110LCD - 2274 - 四行.rar)


第一次发帖,望大家指教

******************************************************************************************************************
附注:本人学化学专业的,找的工作也是化学相关的,但是一直对电子学兴趣浓厚,平时也爱搞个DIY
怎么平衡这两方面?

******************************************************************************************************************

pjdu 发表于 2011-3-27 21:30:37

mark

Rapido 发表于 2011-3-27 21:32:27

5110吧?NOKIA还有分辨率大点的屏,不用这么折腾。

gdrc 发表于 2011-3-27 21:58:31

有12X12的汉字库的。Nokia3210和显示的汉字就是4行

cc1989summer 发表于 2011-3-28 20:51:59

回复【3楼】gdrc古道热肠
-----------------------------------------------------------------------

12X16字库与12X12字库没有本质上的差别,因为下面四行永远是空白

关键是 LCD是以8bit 为一个单位写入数据,单独12位是不实际的

cc1989summer 发表于 2011-3-28 20:52:43

回复【2楼】Rapido
-----------------------------------------------------------------------

有不少东西都是折腾出来的,不是吗?

yuan90826 发表于 2011-4-21 20:15:19

请问楼主是怎么接线的啊?电源是板上的3.3V还是5V

cc1989summer 发表于 2011-4-22 14:59:24

回复【6楼】yuan90826
-----------------------------------------------------------------------

3.3V

21006091 发表于 2011-4-22 15:42:54

很不错,先收藏了!

顶楼主

afei8856 发表于 2011-4-22 15:59:23

其实完全可以去学电吗 如果你喜欢的话 呵呵 支持楼主这种用专业精神对待业余爱好的精神

cc1989summer 发表于 2011-4-24 21:47:18

回复【9楼】afei8856
-----------------------------------------------------------------------
呵呵,没办法,快毕业了,从头来怕是不现实了

多谢

wangshaosh 发表于 2011-4-25 08:29:00

去搞电化学就平衡了<img src=./emotion/em035.gif

wangshaosh 发表于 2011-4-25 08:35:18

你这样的单片机应该学的差不多了
可以多看点模拟电路的东西然后就可以出去找工作了
现在大学出来的电子专业的也没几个懂单片机的了 我们班75个人熟悉单片机的不超过零头

cc1989summer 发表于 2011-4-25 21:15:51

回复【11楼】wangshaosh
-----------------------------------------------------------------------

电化学是我们的一门课,跟电子学不是一个概念

cc1989summer 发表于 2011-4-25 21:16:28

回复【12楼】wangshaosh
-----------------------------------------------------------------------

模拟电路也学过,一般般了

wadezyb 发表于 2011-4-26 00:11:35

最近也在搞,楼主的思路很好啊。

ledatou 发表于 2011-4-26 01:49:12

mark~~~

witnessiz 发表于 2012-2-3 09:16:35

mark

nongxiaoming 发表于 2012-2-4 21:32:04

我就有12*12汉字显示的代码啊,像msp430这样ram大的可以给液晶开一块内存空间啊,这样可以方便显示~

mcu_007 发表于 2012-2-4 23:07:01

make

毕宝弟 发表于 2012-4-9 11:39:29

就是下载有点小问题,费好大劲才下下来压缩包不给力,损坏了!悲催啊!

xunke 发表于 2013-10-2 09:19:14

本帖最后由 xunke 于 2013-10-2 09:21 编辑

5510屏与3310屏有什么区别?
5510屏的资料吗?不要背灯 屏功耗多大?

xunke 发表于 2013-10-2 09:32:44

Rapido 发表于 2011-3-27 21:32 static/image/common/back.gif
5110吧?NOKIA还有分辨率大点的屏,不用这么折腾。

5510 LCD的功耗多大?有资料吗?在那里买的?

cc1989summer 发表于 2013-10-2 22:37:15

xunke 发表于 2013-10-2 09:32 static/image/common/back.gif
5510 LCD的功耗多大?有资料吗?在那里买的?

别告诉我你没听说过淘宝。。。

xunke 发表于 2013-10-3 10:27:33

cc1989summer 发表于 2013-10-2 22:37 static/image/common/back.gif
别告诉我你没听说过淘宝。。。

我要求低功耗的,需先屏的参数,但淘宝的卖家一般只管卖的、不管或不懂技术方面的。

我是谁712 发表于 2013-10-4 11:58:23

yuan90826 发表于 2011-4-21 20:15 static/image/common/back.gif
请问楼主是怎么接线的啊?电源是板上的3.3V还是5V

3V、5V都可以

我是谁712 发表于 2013-10-4 12:00:32

淘宝有没有资料的屏,超便宜,只需自己找到驱动芯片资料就行。而且很大,不用这么纠结
页: [1]
查看完整版本: 诺基亚5510LCD汉字四行显示(另一种思路)MSP430