原创 STM32学习笔记---之EK-STM32F的LCD详解

2008-7-25 14:03 8780 12 19 分类: MCU/ 嵌入式

         STM32学习笔记---之EK-STM32F的LCD详解


 


LCDdemo的实例中有对开发板EK-STM32F的简单介绍和使用方法,刚开始始终弄不明白这个LCD是怎么工作的,今天终于弄清楚了;现在和大家一起分享一下,可能有很多高手早就弄清了,不过我想也许还有一些像我一样的菜鸟要花很久才能弄明白。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


首先看看LCDdemo中的lcd.c的部分注释。此LCD可以说是字符型的吧,它由4个字符组成,每个字符由16部分(认为是16个小液晶段)组成,这16个部分可以看成由一个4*4的矩阵构成。如图1这个矩阵被LCD原厂定义为:


{ X , F , E , L  }


{ I , H , G , M  }


{ A , J , K , N  }


{ DP, B , C , D  }


实际上,每个字符都由这16个液晶段中的部分或全部被点亮而实现的。


下面看看几个字母实例


字母 A


3可以看到字母“A”的符号,当LCD上显示“A”这个符号时,LCDABCEFGK几个液晶段被点亮,被点亮的段就用高电平“”表示,不亮的用“0”表示,那么“A”的矩阵为:


{ 0 , 1 , 1 , 0 }


{ 0 , 0 , 1 , 0 }


{ 1 , 0 , 1 , 0 }


{ 0 , 1 , 1 , 0 }


-------------------


A =  4   <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />9   F   0   hex


4   9   F   0是怎么得到的呢?4=00109=1001F=11110=0000,从而可以看出规律:数字是矩阵由下到上由左道右读出的16进制代码。


参考图3,字符“B”的矩阵为:


{ 0 , 1 , 1 , 0 }


{ 0 , 0 , 1 , 0 }


{ 0 , 0 , 1 , 0 }


{ 0 , 0 , 1 , 1 }


-------------------


B=  0   1   F   8   hex


参考图3,字符“C”的矩阵为:


{ 0 , 1 , 1 , 0 }


{ 0 , 0 , 0 , 0 }


{ 1 , 0 , 0 , 0 }


{ 0 , 0 , 0 , 1 }


-------------------


C=  4   1   1   8   hex


参考图3,字符“0”的矩阵为:


{ 0 , 1 , 1 , 0 }


{ 0 , 0 , 0 , 0 }


{ 1 , 0 , 0 , 0 }


{ 0 , 1 , 1 , 1 }


-------------------


0=  4   9   9   8   hex


 


 


点击开大图 


1


 


 

 

点击开大图


2


 


 


 


a53654c7-469d-4202-8031-f7ec81b7e9ec.jpg


3


 


 


最后,回到EK-STM32F开发板中,根据电路看出STM32103PE0……PE15作为LCD16段码驱动端口,PC8……PC11LCD字符的片选信号,当PC11拉高第一个字符显示……。原理即此。


希望对大家有点帮助!



 


 


 

PARTNER CONTENT

文章评论7条评论)

登录后参与讨论

用户215419 2009-7-6 18:16

专业经销STM32F系列,价格优势,有意者请电:0755-83312947 STM32F101C4T6.STM32F101C6T6.STM32F101C8T6. STM32F101CBT6. STM32F101R4T6. STM32F101R6T6. STM32F101R8T6. STM32F101RBT6. STM32F101RCT6. STM32F101RDT6 STM32F101RET6. STM32F101T4U6. STM32F101T6U6. STM32F101C8T6. STM32F101CBT6 STM32F101V8T6. STM32F101VBT6. STM32F101VCT6.STM32F101VDT6.STM32F101VET6 STM32F101ZCT6. STM32F101ZDT6. STM32F101ZET6. STM32F103C4T6.STM32F103C6T6.STM32F103C8T6. STM32F103CBT6. STM32F103R4T6. STM32F103R6T6. STM32F103R8T6. STM32F103RBT6. STM32F103RCT6. STM32F103RDT6 STM32F103RET6. STM32F103T4U6. STM32F103T6U6. STM32F103C8T6. STM32F103CBT6 STM32F103V8T6. STM32F103VBT6. STM32F103VCT6.STM32F103VDT6.STM32F103VET6 STM32F103ZCT6. STM32F103ZDT6. STM32F103ZET6. 联系人:吴丽群 联系地址:深圳市福田区上梅林105号多丽工业区2607 电话:0755-83312947 移动电话:13480904394 传真:0755-83311568

computer00 2008-8-1 00:31

晕……楼主连这个LCD的怎么去驱动还没搞清楚呢,就说详解了……驱动这个LCD远比楼主所理解的要复杂... 这个板子上的LCD是没有装背光的,因此并没有你所说的使用PWM信号来控制LCD的背光亮度。 STM32所说的意思是,使用PWM信号来控制LCD显示的对比度(即某段显示黑色的深度),而不是亮度。 另外,这个LCD的驱动并不像楼主所理解的那样,将某个COM拉高或者拉低就可以显示的,需要加交流信号才能正常显示,否则,使用直流信号驱动不但没有显示,时间久了还会损坏LCD。又不能直接在COM和SEG之间加交流信号,因为这样会让整个屏都显示,不需要显示的COM需要1/2Vcc电压,才能让它不显示。 它的一个COM也不像数码管那样,一个COM就对这个一个字符,它这里一个COM选中时,是同时选中4个字符中的4个SEG。要一个字符完整显示,必须结合每个COM的4个SEG和全部的4个COM才能够显示。 博主你可以按照你的理解编个程序来测试下,肯定显示不了... 较详细的原理介绍、驱动波形、编程思路以及测试程序还是到我的博客中来看看这个日志吧: http://blog.ednchina.com/computer00/142101/message.aspx

用户1127088 2008-7-29 16:54

请问stm32: LCD是由背光板和LCD面板组成的,PWM信号应该是来控制LCD的背光亮度的吧

用户1127088 2008-7-29 11:04

多谢STM32的帮助,以后还请多多指教!

用户1090342 2008-7-26 22:12

博主还要注意一个关键的问题:LCD是不能长时间接通直流电平,必须使用PWM波的方式才能不损害LCD的寿命,因此在这个LCD例子中有一个关键的定时器控制和中断处理函数实现扫描操作。

用户1127088 2008-7-25 16:48

反正上班没什么事,学点东西和大家一起分享

用户160270 2008-7-25 15:01

很详细,虽然对这个LCD已经有所了解,还是顶一个。LZ辛苦了!

用户1053025 2007-8-9 14:10

哈,您又在关心pcpro啦。
相关推荐阅读
用户1127088 2008-08-07 20:50
如果你的电脑没有串口你将怎么使用EK-STM32F的USART
现在好多笔记本都把一些比较庞大的接口(串口、并口等)都省掉了,那么在没有这些接口时,但是你又想使用怎么办呢。下面介绍一种USB转串口的工具供大家在调试EK-STM32F时用。<?xml:name...
用户1127088 2008-07-24 16:49
STM32学习笔记-------之 ADC应用篇
STM32学习笔记—之 ADC应用篇<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />...
用户1127088 2008-07-22 15:34
STM32学习笔记----之 IAR 结合H-JTAG调试STM32
IAR 结合H-JTAG调试STM32<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />...
用户1127088 2008-07-18 15:04
STM32学习笔记 — 之GPIO端口篇
STM32学习笔记 — 之GPIO端口篇 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&...
用户1127088 2008-07-16 15:39
STM32开发板的Bootloader在哪里?
这几天看了万利开发板自带的源程序,发现STM32和传统的8位机很相似(可能是我刚刚接触没有深入理解),简单易懂。不过就是不知道boottloader在哪里,这与其他的ARM7、9有什么不同。不过ST的...
我要评论
7
12
关闭 站长推荐上一条 /3 下一条