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”这个符号时,LCD的A、B、C、E、F、G、K几个液晶段被点亮,被点亮的段就用高电平“”表示,不亮的用“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=0010,9=1001,F=1111,0=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
图3
最后,回到EK-STM32F开发板中,根据电路看出STM32103的PE0……PE15作为LCD的16段码驱动端口,PC8……PC11为LCD字符的片选信号,当PC11拉高第一个字符显示……。原理即此。
希望对大家有点帮助!
用户215419 2009-7-6 18:16
computer00 2008-8-1 00:31
用户1127088 2008-7-29 16:54
用户1127088 2008-7-29 11:04
用户1090342 2008-7-26 22:12
用户1127088 2008-7-25 16:48
用户160270 2008-7-25 15:01
用户1053025 2007-8-9 14:10