本帖最后由 FSL_TICS_A 于 2014-10-21 15:28 编辑
【经验分享】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字段都不会被点亮。 附件 |