一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 16883|回复: 42

完美驱动5元320240液晶!

[复制链接]
发表于 2013-9-20 20:38 | 显示全部楼层 |阅读模式
效果.jpg
  U7 D  ~1 p; e2 k1 \6 m" [/ s. e怎么样,还可以吧。5 B* K' `3 S! u' Q* S
硬件用了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,完全不能用啊……% W$ ]4 z- P$ ^# |: E  f
电路.jpg
, t! e- r1 t6 }
% M% |; }" G  W说说软件,驱动使用了STM32软件模拟时序驱动,原理图中stm32其余部分没有画,只画了液晶有关的,主芯片用的也是STM32F205VCT6(现在2系列已经很便宜了),直接贴代码吧。' z" r& W. \- |% C! L
定时器初始化:
  1. void TIM_LCD_Config(void)
    9 y. @' U* S9 G
  2. {
    1 m. E) a% s# S1 J/ r0 ?
  3.   NVIC_InitTypeDef NVIC_InitStructure;
      A, q. ^; ]; p' f" \4 `! W
  4.   TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    % r- I( K' ~' P9 N
  5.   uint16_t PrescalerValue = 0;3 x1 N# w1 t. a. H4 d
  6.   % [! p) N9 ]* {# |6 S4 B
  7.   /* TIM2 clock enable */4 h# D: f2 |# T6 G" ^3 G
  8.   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
      U; Q4 A5 ^; g. D7 }
  9. * ]/ d! F/ _) {% Z0 I; P1 g
  10.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
    ) O7 b- w' K6 m( E4 x; t7 K
  11.   
    , P  s: ]0 A% N6 v( F
  12.   /* Enable the TIM2 global Interrupt */, E2 L2 ?0 v/ e$ {/ G4 E7 ?0 r1 R' F: B
  13.   NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
    ( z7 T4 R. O- ]
  14.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    , z* T/ t1 \' D, f( H/ F. ?
  15.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;% I' T1 I6 V& ?1 }: ~
  16.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;' {* ]" m' l% G2 a$ D5 G
  17. / I% v' }+ S! p2 h! X
  18.   NVIC_Init(&NVIC_InitStructure);/ o  _! i0 J. |& D
  19.   ; A* n9 I' A4 _% z
  20.   /* Compute the prescaler value */8 N* `7 [3 D4 Z3 N! s8 J1 `9 F
  21.   PrescalerValue = (uint16_t) 0x750;
    : _" t# y, B% h
  22. * l  Z% p6 }2 T! k$ P2 b2 L
  23.   /* Time base configuration */
    8 a  u3 Z4 W4 k6 W  c; V; }
  24.   TIM_TimeBaseStructure.TIM_Period = 0x100;
    6 g$ W: k0 V0 E
  25.   TIM_TimeBaseStructure.TIM_Prescaler = 0x750;; p$ w1 m. Y( t) w7 Q
  26.   TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
    " ?5 D8 j* \3 M- A* C: p8 J
  27.   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;" d3 Z( b, Z8 k, t
  28.   TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);/ Q' Z# L( l" w% U

  29. 7 ^# R+ p5 q. N
  30.   TIM_ClearFlag(TIM2, TIM_FLAG_Update);
    0 B0 e+ @  K7 I4 H& F: M% k
  31.   
    ) L+ w. V4 K# o8 ]
  32.   /* TIM IT enable */
    ! d5 p, x1 A" H
  33.   TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
    : O7 J( w  b! F! `. n; ?
  34. ! o- ~6 R4 D; U. v* O, @( X1 e
  35.   /* TIM2 enable counter */
    * O9 V5 F+ |# K* x$ O) _
  36.   TIM_Cmd(TIM2, ENABLE);
    0 ]9 G8 b: _" s' d+ q& A" p- v0 P+ t
  37.   
    3 ^+ O! p( h9 ?1 H/ v
  38.   /* Prescaler configuration */& Z% O* s. Z7 q9 ^. g
  39.   TIM_PrescalerConfig(TIM2, PrescalerValue, TIM_PSCReloadMode_Immediate);
    ' b1 _6 r1 o; k2 q) |
  40. }
复制代码
扫描:
  1. void LCD_Refresh(void)) i7 S2 {( |9 J. ?+ }4 e
  2. {6 ?' C# r* Z9 ~) w1 O
  3.   u8 i,j,z,value;
    " p, `: s8 q- o: z' b. n" @

  4. ( A/ R( h$ ?! D
  5.   addr=0;- n+ m2 @) _$ G, ~3 ^6 p
  6.   LCD_FLM_High();; |( \1 y" G: m1 A0 {8 y
  7.   for(i=0;i<244;i++)
    - p, R3 I# o1 I# Q( W$ a
  8.   {4 M( g1 ]- y( e" U9 K$ N$ j. q
  9.     for(j=0;j<40;j++)+ x6 X0 R/ o1 P# U/ G- d; T
  10.     {
    3 k$ U5 F* X2 `& b  i
  11.       value=image[i*40+j];
    ; Q! _- _5 W) V
  12.       LCD_XCK_High();
    0 S# [/ O: O5 H% {
  13.       GPIOC -> ODR = value;" s/ f5 Z- b0 c' H" P+ P/ E8 I
  14.       LCD_XCK_Low();7 e7 ^- [" A9 {' l( r1 W
  15.     }" O2 Y# V/ f# P# V) p* f9 a
  16.     LCD_LP_High();
    / \" S2 s/ `- J/ h. n% l- ]
  17.     LCD_LP_Low();
    . u+ c3 ]1 E8 o, L. C0 p+ V
  18.     LCD_FLM_Low();
    , v: m  `& O: p  c1 w
  19.   }
    5 R& E9 u+ C- g$ s
  20.   LCD_LP_High();
    # T3 w9 H; o$ B: @
  21.   LCD_LP_Low();7 i: ]# g0 y2 T( ?
  22. }, w% C' ^/ O6 a  q9 g
  23. 5 v& N+ O2 Z  x
  24. void LCD_Refresh_M(void)0 a$ y) d. f  Z, }: Y& X# p
  25. {, K0 {$ L! f1 Y$ X5 ^* b9 @# ^
  26.   LCD_Refresh();; v; z( p1 v2 g) h+ }6 _# C
  27.   LCD_M_High();3 g6 R$ Y2 x. i& ?. B
  28.   LCD_Refresh();
    + a6 m! S( t; D$ Q; A! m5 [
  29.   LCD_M_Low();
    ' h. b% r2 s1 ~( o5 n/ H9 L% t7 c
  30. }
复制代码
有什么疑问下面提吧,我会尽量回答的。(高中住校生,周末才能上)% p4 U: O& R1 H6 _! l% o% M
准备下一步调试16级灰度( D( A& x3 w! E; o

点评

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 编辑   |, L8 y: T9 u
; A$ w2 N0 u6 j/ V
下面是从某科学方法弄来的驱动板芯片图0 Y$ E* J+ ?; @; I
图片.jpg " U0 _3 @+ v1 r( x. o
下面是从某科学方法弄来的背光点亮图
+ a' K2 ?% H5 N# J# U( L QQ图片826.jpg 9 d1 ~# n. d6 `0 Z+ }
回复

使用道具 举报

发表于 2013-9-20 21:04 | 显示全部楼层
小兄弟,高中就开始搞嵌入式的开发,真是牛啊
$ _2 |! \1 ~. C5 @8 M0 Z6 C9 Z
回复

使用道具 举报

发表于 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:14: |  F  T: X# F( y) Q3 G$ W
LZ,这个屏我在其他论坛也卖了,我可以复制你的驱动方法发给大家吗?

8 O) T* o  A# c9 A. Y$ G" a可以啊。* n+ V7 f! Z: o$ T* V
回复

使用道具 举报

发表于 2013-9-20 22:21 | 显示全部楼层
本帖最后由 hysy 于 2013-9-20 22:23 编辑 9 e  f7 F9 |" P) h6 Z3 w, N

; S, t% k# F8 q) i% {啥鸟东东?黑白屏啊!晕倒!以为彩屏呢,320x240彩屏通价也就10元,5元彩屏应该也容易找到
回复

使用道具 举报

 楼主| 发表于 2013-9-20 22:48 | 显示全部楼层
hysy 发表于 2013-9-20 22:21% L8 s3 S  j5 I+ Z& t# l1 h1 h
啥鸟东东?黑白屏啊!晕倒!以为彩屏呢,320x240彩屏通价也就10元,5元彩屏应该也容易找到

5 \$ D0 i, r4 w; E/ M# h彩屏敢拿来比功耗吗?320x240彩屏1元都能够搞到。玩黑白屏就算要反射式的那种feel! G) X8 ]8 [2 S2 `0 p! P: Q! r1 v
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-2-25 16:44 , Processed in 0.042693 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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