本帖最后由 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资料大本营的飞思卡尔论坛支持小组【经验分享】帖汇总链接进入。
段式液晶有个令人讨厌的地方,ABCDEFGH不是顺序排列的
比如FRDM_KL46的就是DEGF~*CBA,我那次(第一次)搞的液晶是有DEFA~*CGB和AFED~BGC*两种。
连接MCU的时候又是可以随便连MCU的液晶管脚。。。
我觉得这里有个代码复用的问题,如果换了块液晶,或者改了液晶的连线,那怎样减少代码改动量。
我头一次接触段式液晶的时候同事给了个KL36的代码,
里面写的代码都把管脚写死了,还到处switch嵌套,一个显示数字的函数就超超超长。
我搞的时候顺手弄了个3维数组、几个枚举和几个宏,像下面这样的。
貌似FRDM_KL46的例程也专门考虑了代码复用的问题,里面也是有类似处理。不过那时刚搞定这个有忙别的去了,没仔细研究那里面的思想
- /*********************************************************************************************************
- rearrange segment code
- case1 :
- defa,*cgb : for nixie tube 1~4
- case2 :
- bgc*,afed : for nixie tube 5~10
- *********************************************************************************************************/
- #define LCD_DGT_SEG_EQL_CASE1(D) BIN_2_CHAR(CH_D(D), CH_E(D), CH_F(D), CH_A(D))
- #define LCD_DGT_SEG_AND_CASE1(D) BIN_2_CHAR(0, CH_C(D), CH_G(D), CH_B(D))
- #define LCD_DGT_SEG_EQL_CASE2(D) BIN_2_CHAR(CH_A(D), CH_F(D), CH_E(D), CH_D(D))
- #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 上传
一周热门 更多>