搜索
bottom↓
回复: 41

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

[复制链接]

出0入0汤圆

发表于 2014-5-14 15:55:18 | 显示全部楼层 |阅读模式
本帖最后由 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所示。

图1


图2

  
图3
SLCD中段的点亮就通过给COM和相应的引脚之间加上交流电,并且两个引脚之间的电压差达到V3就可以点亮相应的段码。
FRDM_KL46板子上SLCD引脚和KL46的SLCD控制引脚的对应情况如下:
Pin 1 (COM 0) = LCD 40 / PTD0
Pin 2 (COM 1) = LCD 52 / PTE4
Pin 3 (COM 2) = LCD 19 / PTB23
Pin 4 (COM 3) = LCD 18 / PTB22
Pin 5 (1D/1E/1G/1F) = LCD 37 / PTC17
Pin 6 (DP1/1C/1B/1A) = LCD 17 / PTB21
Pin 7 (2D/2E/2G/2F) = LCD 7 / PTB7
Pin 8 (DP2/2C/2B/2A) = LCD 8 / PTB8
Pin 9 (3D/3E/3G/3F) = LCD 53 / PTE5
Pin 10 (DP3/3C/3B/3A) = LCD 38 / PTC18
Pin 11 (4D/4E/4G/4F) = LCD 10 / PTB10
Pin 12 (COL/4C/4B/4A) = LCD 11 / PTB11
各引脚和SLCD中的段码对应情况如下:

图4
大家看图4可能会不是很理解,这里稍作讲解,以1A段为例,该段对应的是COM3和pin6,而pin6对应的是LCD17,如果将com口分配后编号,则COM3对应的是四位中的最高位,则为8,COM2为4,com1为2,com0为1.则A1段就是17_8.依次类推,可以得到其他段的标示。
二,代码功能讲解
为了便于测试与讲解,将KL46的PE代码进行改编,只显示DP1为“1”,其余段码不显示。则需要点亮1B,1C段。即图4中的17_4,17_2两端,需要在COM1,PIN6以及COM2,PIN6之间加载压差为V3的交流电压。当然交流电压是芯片内部驱动给出,实际的控制只需写相关的寄存器控制这几个引脚输出就行。
通过在第一节中的讲解可以知道KL46芯片与SLCD的引脚对应情况,下面就配置COM引脚(blackplane)以及正面段电极引脚(frontplane pin)

图5
不管是backplane引脚还是frontplane引脚都需要首先使能引脚,通过寄存器LCD_PENn实现,而backplane引脚还需要置位对应的寄存器LCD_BPENn。
点亮段的时候,只需要控制相应的LCD_WFyTOx,比如这里显示的是1B,1C,则需要控制对应的LCD17,即LCD_WF19TO16中的WF17为0b00000110=0x06,即pin6对应的COM1,COM2。
其余配置详情请参考附件代码。
三,测试结果   
很简单的在Dig1显示了1,如图6所示。

图6
通过示波器测试显示的波形。
(1)测试点亮字段部分波形
通道1: SLCD pin1,  即(COM0) LCD40
通道2:SLCD pin2,即(COM1 LCD52
通道3:SLCD pin3,即(COM2) LCD19
通道4:SLCD pin6,即(DP1/1C/1B/1A)LCD17


图7
两个框中,pin6和com1以及com2之间的压差都达到了V3等级,所以可以点亮1C,1B。而pin6和com0之间的压差在整个的周期中,都没有达到V3等级,所以DP1不会被点亮。
(2)测试非点亮字段部分波形
通道1: SLCD pin1,  即(COM0) LCD40
通道2:SLCD pin2,即(COM1 LCD52
通道3:SLCD pin3,即(COM2) LCD19
通道4:SLCD pin5,即(1D/1E/1G/1F) LCD37


图8
可以看到pin5的电平始终都没有达到最高,所以它和任何com脚之间的压差都不会达到V3等级,所以1D/1E/1G/1F字段都不会被点亮。
附件
附件给出测试代码以及SLCD的相关手册,希望对大家有所帮助。





PS:本帖可从飞思卡尔版块置顶帖:飞思卡尔Kinetis资料大本营飞思卡尔论坛支持小组【经验分享】帖汇总链接进入。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2014-5-14 15:56:09 | 显示全部楼层
不足之处,欢迎指正,同时也欢迎大家分享自己的经验!

出0入0汤圆

发表于 2014-5-14 16:04:52 | 显示全部楼层
还有板凳座啊,好好学习一下。

出0入0汤圆

发表于 2014-5-14 16:48:07 | 显示全部楼层
有没有k40  lcd的详解文章啊

出0入0汤圆

 楼主| 发表于 2014-5-14 17:10:43 | 显示全部楼层
xlxbangel 发表于 2014-5-14 16:48
有没有k40  lcd的详解文章啊

K40的看K60的啊。
你说的是SLCD吗?
另外FSL_TICS_ZP发过一些相关的文章你可以看看:
代码讲解:
http://www.amobbs.com/thread-5569803-1-1.html

经验分享:
http://www.amobbs.com/thread-5569800-1-1.html

出0入0汤圆

 楼主| 发表于 2014-5-14 17:12:37 | 显示全部楼层
xlxbangel 发表于 2014-5-14 16:48
有没有k40  lcd的详解文章啊

你也可以看看我一楼附件中的uTasker_SLCD.pdf
也有些讲K40 SLCD的。
你先看看上面的文章,如果觉得不够,我可以再发一篇类似KL46的SLCD经验分享,其实都是差不多的。

出0入0汤圆

发表于 2014-5-14 20:02:08 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-5-14 17:12
你也可以看看我一楼附件中的uTasker_SLCD.pdf
也有些讲K40 SLCD的。
你先看看上面的文章,如果觉得不够 ...

好的  先去看看

出0入0汤圆

发表于 2014-5-14 21:37:06 | 显示全部楼层
看看先  谢了                 

出0入0汤圆

发表于 2014-5-14 22:02:51 | 显示全部楼层
早几个月出来的话我就不那么纠结了,还好,我也搞懂了

出0入0汤圆

 楼主| 发表于 2014-5-15 09:10:55 | 显示全部楼层
wangpengcheng 发表于 2014-5-14 22:02
早几个月出来的话我就不那么纠结了,还好,我也搞懂了

呵呵,也就刚看的时候会凌乱点,后面看懂也比较简单了。

出0入0汤圆

发表于 2014-5-15 09:25:58 | 显示全部楼层
顶楼主啦..希望楼主多发精品好帖啦.....

出0入0汤圆

 楼主| 发表于 2014-5-15 09:27:28 | 显示全部楼层
kydl2345 发表于 2014-5-15 09:25
顶楼主啦..希望楼主多发精品好帖啦.....


嗯啊,谢谢支持啊。
我们的经验分享都放在这个总贴里:http://www.amobbs.com/thread-5578500-1-1.html
我们每个星期都会发一些经验贴的。

出0入0汤圆

 楼主| 发表于 2014-5-15 09:28:13 | 显示全部楼层

如果有不懂的地方,可以直接发帖问啊,我会帮你解决的。

出0入0汤圆

发表于 2014-5-15 10:37:06 | 显示全部楼层
这个开发板不错,我想要一个

出0入0汤圆

 楼主| 发表于 2014-5-15 10:42:50 | 显示全部楼层
rootxie 发表于 2014-5-15 10:37
这个开发板不错,我想要一个

FRDM_KL46,可以自己去买哦。
这个板子暂时不送。

出0入0汤圆

发表于 2014-5-15 10:45:54 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-5-15 10:42
FRDM_KL46,可以自己去买哦。
这个板子暂时不送。

呵呵,我的意思是能送我一个最好。
不过,目前来看,对我来说有一个能够使用的库最重要,申请了几片KL26,准备做一个WAV播放器 就卡在这儿了
设置寄存器是一个浪费时间又不长经验的活,工作没办法,闲时还是算了。

出0入0汤圆

 楼主| 发表于 2014-5-15 11:12:59 | 显示全部楼层
rootxie 发表于 2014-5-15 10:45
呵呵,我的意思是能送我一个最好。
不过,目前来看,对我来说有一个能够使用的库最重要,申请了 ...

我们的KDS库,也会陆续推出来的。
目前的出来的KDS库只是支持最新的产品,后面都会补上的。

出0入0汤圆

发表于 2014-5-17 13:29:13 | 显示全部楼层
不错。。。。。。。。

出0入0汤圆

发表于 2014-5-18 07:44:40 来自手机 | 显示全部楼层
slcd,美很,

出0入0汤圆

发表于 2014-5-20 12:46:02 | 显示全部楼层
这个看看还是不错的,手上刚好有这个板子

出0入0汤圆

 楼主| 发表于 2014-5-20 14:10:37 | 显示全部楼层
rqbh121567 发表于 2014-5-20 12:46
这个看看还是不错的,手上刚好有这个板子

那可以玩玩了,如果遇到问题,欢迎发帖提问。

出0入0汤圆

发表于 2014-5-20 15:16:08 | 显示全部楼层
这程序,早两个月出来就好了,不过我也摸索出来了

出0入0汤圆

 楼主| 发表于 2014-5-20 15:36:43 | 显示全部楼层
cmheia 发表于 2014-5-20 15:16
这程序,早两个月出来就好了,不过我也摸索出来了

呵呵,我也需要学习的过程啊。
反正也不难懂,如果有问题,欢迎交流啊!

出0入0汤圆

发表于 2014-5-20 15:58:02 | 显示全部楼层
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      )
复制代码

----------
上图:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-5-20 17:12:43 | 显示全部楼层
cmheia 发表于 2014-5-20 15:58
段式液晶有个令人讨厌的地方,ABCDEFGH不是顺序排列的
比如FRDM_KL46的就是DEGF~*CBA,我那次( ...

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

出0入0汤圆

发表于 2014-5-20 17:29:29 | 显示全部楼层
收藏了,感谢分享!

出0入0汤圆

发表于 2014-5-20 17:35:19 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-5-20 17:12
现在的代码编写的还是挺不错的,
如果硬件没有按照顺序来,可以直接调软件,很方便,你可以看看它的FRDM- ...

对了,上面提到“KDS库只是支持最新的产品”,不知道MKE02_40算不算最新的呢?听说20M的目前不推了

出0入0汤圆

 楼主| 发表于 2014-5-20 17:37:12 | 显示全部楼层
cmheia 发表于 2014-5-20 17:35
对了,上面提到“KDS库只是支持最新的产品”,不知道MKE02_40算不算最新的呢?听说20M的目前不推了 ...

当然支持啊,CW10.6都支持。
是20M基本不推了,因为40M就是在20M基础上扩频的。

出0入0汤圆

发表于 2014-5-20 19:28:30 | 显示全部楼层
谢谢楼主,学习学习!

出0入13汤圆

发表于 2014-5-25 10:37:36 | 显示全部楼层
太好了,最近评估的就是这个板子,不过现在Keil环境下开发更方便点!学习了。。。。谢谢 !

出0入0汤圆

发表于 2014-8-12 14:01:51 | 显示全部楼层

谢谢楼主,学习学习!

出0入0汤圆

发表于 2014-8-12 14:04:47 | 显示全部楼层
本帖最后由 xinyinxing 于 2014-8-12 14:06 编辑
liao-ljj 发表于 2014-5-25 10:37
太好了,最近评估的就是这个板子,不过现在Keil环境下开发更方便点!学习了。。。。谢谢 ! ...


keil也可以开发kinetis的,如果没有例程,你可以使用PE导keil工程。

出0入0汤圆

 楼主| 发表于 2014-8-12 14:17:07 | 显示全部楼层
liao-ljj 发表于 2014-5-25 10:37
太好了,最近评估的就是这个板子,不过现在Keil环境下开发更方便点!学习了。。。。谢谢 ! ...

如果在开发的过程中遇到任务问题,都欢迎发帖交流。

出0入0汤圆

发表于 2014-8-12 23:33:00 | 显示全部楼层
高大上的板子,看看隐藏的内容是什么

出0入0汤圆

发表于 2014-8-24 16:01:28 | 显示全部楼层
很多厂家的片子都支持这种slcd,必带神器啊

出0入0汤圆

发表于 2014-8-24 16:06:39 | 显示全部楼层
mark 一下!!

出0入0汤圆

发表于 2014-8-24 16:07:08 | 显示全部楼层
这块小板子不错哈,那个小屏感觉蛮实用的

出0入4汤圆

发表于 2014-9-27 14:53:22 | 显示全部楼层
学习了,,

出0入0汤圆

发表于 2014-9-28 17:42:14 | 显示全部楼层
收藏。KL46,SLCD

出0入0汤圆

发表于 2014-10-1 10:25:43 | 显示全部楼层
谢谢分享支持一下

出0入0汤圆

发表于 2015-2-8 11:03:05 | 显示全部楼层
学习了,感谢分享,可以在兑换的kl46上试试

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-3-29 16:19

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

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