一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 15101|回复: 42
收起左侧

完美驱动5元320240液晶!

[复制链接]
发表于 2013-9-20 20:38 | 显示全部楼层 |阅读模式
效果.jpg
1 g1 ^5 O2 j4 Z* J怎么样,还可以吧。6 N# H6 n/ F9 v1 R% ~, M) I; ]
硬件用了PT1305升压+电阻分压+LM324,要注意的是,VEE约为21.7V,此时效果最好,完全没有crosstalk。不知道是不是我方法不对,kenson的12V VEE+4个2.2K分压下来crosstalk非常严重,完全不能使用。根据公式计算得到320240的最佳BIAS应该为1/16.5,目前10K+10K+110K+10K+10K就是1/15,而4个2.2K则应该是1/4,完全不能用啊……
) o8 Z: s' `! F$ a% s 电路.jpg ; l, m: u! z( V' O+ T

% e6 M4 @& C  P# G. n2 e: K% c说说软件,驱动使用了STM32软件模拟时序驱动,原理图中stm32其余部分没有画,只画了液晶有关的,主芯片用的也是STM32F205VCT6(现在2系列已经很便宜了),直接贴代码吧。
+ _/ {3 c! \0 R+ X: i0 u定时器初始化:
  1. void TIM_LCD_Config(void)
    % F# J8 J' h5 R5 e
  2. {- \1 Q+ w. A7 q, ]
  3.   NVIC_InitTypeDef NVIC_InitStructure;
    6 U9 O- k3 ~! r' \
  4.   TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
      ~* Y% C- q: K7 f! }) S+ k7 `6 @
  5.   uint16_t PrescalerValue = 0;
    0 a& e2 U3 ?# |# C" F: e0 @! A' v
  6.   
    5 `: g2 _1 {" \  w; N- r1 F" T
  7.   /* TIM2 clock enable */
    / j( u6 u1 `7 p* l
  8.   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);5 j7 X5 L0 H. P* x* N

  9. $ Y$ |/ `$ B0 G; K
  10.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);( C( T' I! t6 l2 n, `: p1 W
  11.   
    # b4 w" u* n2 o/ n% U
  12.   /* Enable the TIM2 global Interrupt */" t# h% l8 c$ R8 r4 E
  13.   NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;; [6 G  j# ]; Z
  14.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;) Q* ^. {  i5 }; |
  15.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;: ?. k% y6 f# Z- P' _) a- ]
  16.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;6 w% ^5 F8 R. N2 A

  17. 0 y- X& e( A4 X) r& e, {+ V" E
  18.   NVIC_Init(&NVIC_InitStructure);$ u7 S- T" R# `, E
  19.   
    ) Z6 p3 v9 P% q" H4 o9 P. T
  20.   /* Compute the prescaler value */) {! w* M3 Z+ T5 U) n: [
  21.   PrescalerValue = (uint16_t) 0x750;( ]6 ]; D" _7 [  `! J7 C1 R

  22. 9 \3 I; k, ~: q1 c9 M
  23.   /* Time base configuration */
    / ~2 j% K/ o: B, Z
  24.   TIM_TimeBaseStructure.TIM_Period = 0x100;& i* g0 @+ e8 _' n: c
  25.   TIM_TimeBaseStructure.TIM_Prescaler = 0x750;/ |2 P' m4 A! c7 M% _! x
  26.   TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
    + M" j' y9 ?8 W' `2 K) ^
  27.   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;9 i; K% W5 B" R' y; ^3 t( U0 z" j
  28.   TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);7 q& {0 r4 H# P' Z

  29. 8 ?  ?; {- n5 w; S/ u# ?
  30.   TIM_ClearFlag(TIM2, TIM_FLAG_Update);! W$ w9 m2 T1 s' r9 N5 T! G/ a
  31.   : ?  A4 Z  N) x, T8 J6 x  U
  32.   /* TIM IT enable */
    - l) Y1 T6 G1 j$ z
  33.   TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
    0 h4 |* M1 }. U; e- ~; P0 v+ w
  34. 7 C0 @( T# `) m
  35.   /* TIM2 enable counter */
    ( Z/ C7 J6 A1 h' x, Q
  36.   TIM_Cmd(TIM2, ENABLE);
    2 `9 I6 m& O, x( ^( ?
  37.   ( T! i! P- C0 n& v: W- w/ G
  38.   /* Prescaler configuration */1 C  |. y7 a- `) u9 \2 D) Y
  39.   TIM_PrescalerConfig(TIM2, PrescalerValue, TIM_PSCReloadMode_Immediate);- v4 p9 w  ?. i1 p) ]/ ]6 h
  40. }
复制代码
扫描:
  1. void LCD_Refresh(void)
    5 p1 X' ^2 E& K! U
  2. {6 E: A' o% ^) o
  3.   u8 i,j,z,value;2 G2 J9 B5 O$ |

  4. ; L5 K+ W* I" o, t" F& S2 Y# G/ i
  5.   addr=0;$ h5 X2 c( r3 T* x' ?
  6.   LCD_FLM_High();
    ) l5 q+ v( B% L7 J2 Q' H- V6 O6 l! h
  7.   for(i=0;i<244;i++)
    ; v- V6 z$ `* O3 o: J4 p
  8.   {" i2 g9 ~( P! i8 {% B1 _
  9.     for(j=0;j<40;j++)
    + G! B0 m6 c& }: u" }
  10.     {
      _6 ~% c7 `) K. I6 q5 a
  11.       value=image[i*40+j];' Z8 E: v; t) |9 @) A: H* L
  12.       LCD_XCK_High();
    & c8 p3 x5 J$ o( R* f) W
  13.       GPIOC -> ODR = value;/ r4 q1 F5 h/ m  M) |6 b
  14.       LCD_XCK_Low();/ ?* p1 ]3 o5 E6 c4 @
  15.     }, ~4 U/ c4 L3 a) |
  16.     LCD_LP_High();. A9 O' @# B+ b1 r6 p
  17.     LCD_LP_Low();
    9 j. \9 W8 t2 ]* j) r& p
  18.     LCD_FLM_Low();
    1 ?6 E# C8 G1 t) D+ o7 I
  19.   }
    ' V( q2 ^7 {$ F2 t' \: A3 y
  20.   LCD_LP_High();1 |% x7 q- A6 R1 E  |
  21.   LCD_LP_Low();
    + z$ y) e' B! X, l: w1 [+ ]* G- a
  22. }
    & D0 ?$ S6 n9 ^/ H& z
  23. 8 x7 T3 y( M/ M' j" t& c8 U
  24. void LCD_Refresh_M(void)
    & u- M  |0 i$ E: A& P$ T
  25. {6 A+ W' ^7 W7 R0 P  K) X* \: b* }
  26.   LCD_Refresh();2 u1 t8 O* a4 e7 r( X' k
  27.   LCD_M_High();
    ( n& S$ ~' W- Y0 |+ i2 S1 {8 {. r% f9 {
  28.   LCD_Refresh();9 P; ~4 M7 R0 z' J2 h- @! j
  29.   LCD_M_Low();5 E" r& {, K+ [- K2 M# e
  30. }
复制代码
有什么疑问下面提吧,我会尽量回答的。(高中住校生,周末才能上)
. |# H9 Y4 h; Z/ j0 w- D! ?准备下一步调试16级灰度
0 U4 ~# J! M1 l8 P5 V: V

点评

LZ精神可嘉实在难得。给你100以示支持  发表于 2013-9-21 12:51
高中住校生,都能搞STM32了。牛呀!还在玩51内核的惭愧呀!  发表于 2013-9-20 23:01

评分

参与人数 3一乐金币 +130 收起 理由
wanjinjie + 10 效果不错!这屏不带BIAS,做灰度控制确实很.
PCBBOY1991 + 20 我就给20吧,我看过楼主的液晶的那个教程,.
kenson + 100 很给力!

查看全部评分

发表于 2013-9-20 20:47 | 显示全部楼层
PT1305升压+电阻分压+LM324,很牛啊。
发表于 2013-9-20 20:48 | 显示全部楼层
本帖最后由 就是我 于 2013-9-20 20:57 编辑 & n. I' e7 S. D- J
: B/ A% ?& U# }8 X* p  l0 U. z1 ]
下面是从某科学方法弄来的驱动板芯片图
6 @$ T& d! q" J5 O9 S" y 图片.jpg
% j5 [) b0 n0 Z% T' W- a下面是从某科学方法弄来的背光点亮图/ t) B1 q$ o7 V0 m, J
QQ图片826.jpg
( @7 g2 z$ P1 o5 I# ~: c# g, j8 h3 `. S
发表于 2013-9-20 21:04 | 显示全部楼层
小兄弟,高中就开始搞嵌入式的开发,真是牛啊
; E! J# `( t5 p
发表于 2013-9-20 21:05 | 显示全部楼层
LZ高手,LZ牛B~
发表于 2013-9-20 21:12 | 显示全部楼层
炮姐
发表于 2013-9-20 21:14 | 显示全部楼层
LZ,这个屏我在其他论坛也卖了,我可以复制你的驱动方法发给大家吗?
 楼主| 发表于 2013-9-20 21:55 | 显示全部楼层
968201 发表于 2013-9-20 21:140 t' c) E$ j* [0 S* X1 z
LZ,这个屏我在其他论坛也卖了,我可以复制你的驱动方法发给大家吗?
4 s9 D9 Y* B+ \0 |, t# @* Y9 v
可以啊。
, o3 m% U- [7 n- W5 X
发表于 2013-9-20 22:21 | 显示全部楼层
本帖最后由 hysy 于 2013-9-20 22:23 编辑
; ^+ y! N  Y2 m- L0 H5 [# n1 R# Q- n3 `2 ^! S& L" R+ D6 E
啥鸟东东?黑白屏啊!晕倒!以为彩屏呢,320x240彩屏通价也就10元,5元彩屏应该也容易找到
 楼主| 发表于 2013-9-20 22:48 | 显示全部楼层
hysy 发表于 2013-9-20 22:21$ q/ n; N9 w/ m" ]4 a' x$ j
啥鸟东东?黑白屏啊!晕倒!以为彩屏呢,320x240彩屏通价也就10元,5元彩屏应该也容易找到

  U# _! z- o( X" h$ _; X0 r彩屏敢拿来比功耗吗?320x240彩屏1元都能够搞到。玩黑白屏就算要反射式的那种feel
" W# F5 x' j+ ]1 X) [# \% H$ c% X' C

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-4-28 17:50 , Processed in 0.053718 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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