【经验分享】FRDM_KL46板上SLCD操作讲解及资料

2020-02-11 08:50发布

本帖最后由 FSL_TICS_Robin 于 2014-7-18 14:19 编辑

【经验分享】FRDM_KL46板上SLCD操作讲解及资料
一SLCD简介
FRDM_KL46开发板上使用的SLCD的型号是Luminex LCD-S401M16KR,该SLCD共具有12个引脚,引脚图如图1所示,其中具有4个共用引脚(com),所以芯片的驱动模式是1/4duty模式,该LCD共有4个七段码.每个com引脚可以控制8个LCD的段,以com0为例,控制的八个段如图2所示,每个引脚控制的段的对应情况可以直接从SLCD的参数表中查看,如图3所示。
8.jpg (64.98 KB, 下载次数: 0) 下载附件 2014-5-14 15:52 上传
图8
可以看到pin5的电平始终都没有达到最高,所以它和任何com脚之间的压差都不会达到V3等级,所以1D/1E/1G/1F字段都不会被点亮。
附件
附件给出测试代码以及SLCD的相关手册,希望对大家有所帮助。
【经验分享】FRDM_KL46板上SLCD操作讲解及资料.pdf (429.86 KB, 下载次数: 19) 2014-6-13 09:20 上传 点击文件名下载附件
FRDM-KL46z-PEx-sLCD.rar (1.01 MB, 下载次数: 22) 2014-5-14 15:54 上传 点击文件名下载附件

LCD-S401M16KR.pdf (53.5 KB, 下载次数: 18) 2014-5-14 15:54 上传 点击文件名下载附件

uTasker_SLCD.pdf (806.31 KB, 下载次数: 17) 2014-5-14 15:54 上传 点击文件名下载附件




PS:本帖可从飞思卡尔版块置顶帖:飞思卡尔Kinetis资料大本营飞思卡尔论坛支持小组【经验分享】帖汇总链接进入。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
41条回答
rqbh121567
1楼-- · 2020-02-13 17:47
这个看看还是不错的,手上刚好有这个板子
FSL_TICS_ZJJ
2楼-- · 2020-02-13 23:25
rqbh121567 发表于 2014-5-20 12:46
这个看看还是不错的,手上刚好有这个板子

那可以玩玩了,如果遇到问题,欢迎发帖提问。
cmheia
3楼-- · 2020-02-14 02:53
这程序,早两个月出来就好了,不过我也摸索出来了
FSL_TICS_ZJJ
4楼-- · 2020-02-14 06:01
 精彩回答 2  元偷偷看……
cmheia
5楼-- · 2020-02-14 10:49
FSL_TICS_ZJJ 发表于 2014-5-20 15:36
呵呵,我也需要学习的过程啊。
反正也不难懂,如果有问题,欢迎交流啊! ...



段式液晶有个令人讨厌的地方,ABCDEFGH不是顺序排列的
比如FRDM_KL46的就是DEGF~*CBA,我那次(第一次)搞的液晶是有DEFA~*CGB和AFED~BGC*两种。
连接MCU的时候又是可以随便连MCU的液晶管脚。。。
我觉得这里有个代码复用的问题,如果换了块液晶,或者改了液晶的连线,那怎样减少代码改动量。
我头一次接触段式液晶的时候同事给了个KL36的代码,
里面写的代码都把管脚写死了,还到处switch嵌套,一个显示数字的函数就超超超长。
我搞的时候顺手弄了个3维数组、几个枚举和几个宏,像下面这样的。
貌似FRDM_KL46的例程也专门考虑了代码复用的问题,里面也是有类似处理。不过那时刚搞定这个有忙别的去了,没仔细研究那里面的思想

  1. /*********************************************************************************************************
  2.   rearrange segment code
  3.     case1 :
  4.       defa,*cgb : for nixie tube 1~4
  5.     case2 :
  6.       bgc*,afed : for nixie tube 5~10
  7. *********************************************************************************************************/
  8. #define LCD_DGT_SEG_EQL_CASE1(D)        BIN_2_CHAR(CH_D(D), CH_E(D), CH_F(D), CH_A(D))
  9. #define LCD_DGT_SEG_AND_CASE1(D)        BIN_2_CHAR(0,       CH_C(D), CH_G(D), CH_B(D))

  10. #define LCD_DGT_SEG_EQL_CASE2(D)        BIN_2_CHAR(CH_A(D), CH_F(D), CH_E(D), CH_D(D))
  11. #define LCD_DGT_SEG_AND_CASE2(D)        BIN_2_CHAR(CH_B(D), CH_G(D), CH_C(D), 0      )
复制代码
----------
上图:

kl36.png (43.77 KB, 下载次数: 0)

下载附件

2014-5-20 15:58 上传


FSL_TICS_ZJJ
6楼-- · 2020-02-14 12:57
cmheia 发表于 2014-5-20 15:58
段式液晶有个令人讨厌的地方,ABCDEFGH不是顺序排列的
比如FRDM_KL46的就是DEGF~*CBA,我那次( ...

现在的代码编写的还是挺不错的,
如果硬件没有按照顺序来,可以直接调软件,很方便,你可以看看它的FRDM-S401,和S401文件。

一周热门 更多>