搜索
bottom↓
回复: 26

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

[复制链接]

出0入0汤圆

发表于 2011-3-27 20:04:11 | 显示全部楼层 |阅读模式
最近在搞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


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


(原文件名:图示.gif)


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


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


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

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


        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[n]=c[n][i+12]+(d[n]<<4);
    else
        chinese2[n]=(d[n][i-12]>>4)+(d[n]<<4);
   }
   
      LCD_write_chinese_string2(0,4,12,7,0,0);
   
}



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

演示效果如下:

(原文件名:图像0066.jpg)


(原文件名:图像0067.jpg)



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


第一次发帖,望大家指教

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

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

出0入0汤圆

发表于 2011-3-27 21:30:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-27 21:32:27 | 显示全部楼层
5110吧?NOKIA还有分辨率大点的屏,不用这么折腾。

出0入0汤圆

发表于 2011-3-27 21:58:31 | 显示全部楼层
有12X12的汉字库的。Nokia3210和显示的汉字就是4行

出0入0汤圆

 楼主| 发表于 2011-3-28 20:51:59 | 显示全部楼层
回复【3楼】gdrc  古道热肠
-----------------------------------------------------------------------

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

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

出0入0汤圆

 楼主| 发表于 2011-3-28 20:52:43 | 显示全部楼层
回复【2楼】Rapido  
-----------------------------------------------------------------------

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

出0入0汤圆

发表于 2011-4-21 20:15:19 | 显示全部楼层
请问楼主是怎么接线的啊?电源是板上的3.3V还是5V

出0入0汤圆

 楼主| 发表于 2011-4-22 14:59:24 | 显示全部楼层
回复【6楼】yuan90826  
-----------------------------------------------------------------------

3.3V

出0入0汤圆

发表于 2011-4-22 15:42:54 | 显示全部楼层
很不错,先收藏了!

顶楼主

出0入0汤圆

发表于 2011-4-22 15:59:23 | 显示全部楼层
其实完全可以去学电吗 如果你喜欢的话 呵呵 支持楼主这种用专业精神对待业余爱好的精神

出0入0汤圆

 楼主| 发表于 2011-4-24 21:47:18 | 显示全部楼层
回复【9楼】afei8856  
-----------------------------------------------------------------------
呵呵,没办法,快毕业了,从头来怕是不现实了

多谢

出0入0汤圆

发表于 2011-4-25 08:29:00 | 显示全部楼层
去搞电化学  就平衡了<img src=./emotion/em035.gif

出0入0汤圆

发表于 2011-4-25 08:35:18 | 显示全部楼层
你这样的单片机应该学的差不多了
可以多看点模拟电路的东西  然后就可以出去找工作了
现在大学出来的电子专业的也没几个懂单片机的了 我们班75个人  熟悉单片机的不超过零头

出0入0汤圆

 楼主| 发表于 2011-4-25 21:15:51 | 显示全部楼层
回复【11楼】wangshaosh  
-----------------------------------------------------------------------

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

出0入0汤圆

 楼主| 发表于 2011-4-25 21:16:28 | 显示全部楼层
回复【12楼】wangshaosh  
-----------------------------------------------------------------------

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

出0入0汤圆

发表于 2011-4-26 00:11:35 | 显示全部楼层
最近也在搞,楼主的思路很好啊。

出0入0汤圆

发表于 2011-4-26 01:49:12 | 显示全部楼层
mark~~~

出0入0汤圆

发表于 2012-2-3 09:16:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-4 21:32:04 | 显示全部楼层
我就有12*12汉字显示的代码啊,像msp430这样ram大的可以给液晶开一块内存空间啊,这样可以方便显示~

出0入0汤圆

发表于 2012-2-4 23:07:01 | 显示全部楼层
make

出0入0汤圆

发表于 2012-4-9 11:39:29 | 显示全部楼层
就是下载有点小问题,费好大劲才下下来压缩包不给力,损坏了!悲催啊!

出0入112汤圆

发表于 2013-10-2 09:19:14 | 显示全部楼层
本帖最后由 xunke 于 2013-10-2 09:21 编辑

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

出0入112汤圆

发表于 2013-10-2 09:32:44 | 显示全部楼层
Rapido 发表于 2011-3-27 21:32
5110吧?NOKIA还有分辨率大点的屏,不用这么折腾。

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

出0入0汤圆

 楼主| 发表于 2013-10-2 22:37:15 | 显示全部楼层
xunke 发表于 2013-10-2 09:32
5510 LCD的功耗多大?有资料吗?在那里买的?

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

出0入112汤圆

发表于 2013-10-3 10:27:33 | 显示全部楼层
cc1989summer 发表于 2013-10-2 22:37
别告诉我你没听说过淘宝。。。

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

出0入0汤圆

发表于 2013-10-4 11:58:23 | 显示全部楼层
yuan90826 发表于 2011-4-21 20:15
请问楼主是怎么接线的啊?电源是板上的3.3V还是5V

3V、5V都可以

出0入0汤圆

发表于 2013-10-4 12:00:32 | 显示全部楼层
淘宝有没有资料的屏,超便宜,只需自己找到驱动芯片资料就行。而且很大,不用这么纠结
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-11 01:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表