一乐电子

一乐电子百科

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

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

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

完美驱动5元320240液晶!

[复制链接]
发表于 2013-9-20 20:38 | 显示全部楼层 |阅读模式
效果.jpg
1 M1 x$ ?4 b6 q: ]) Y怎么样,还可以吧。8 u7 q& {! a+ K
硬件用了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,完全不能用啊……
8 k) ~/ S: `0 p) }  s 电路.jpg " J, d& d; q5 t" R# ^; S" Q- n

* m  _. S5 N; x7 m说说软件,驱动使用了STM32软件模拟时序驱动,原理图中stm32其余部分没有画,只画了液晶有关的,主芯片用的也是STM32F205VCT6(现在2系列已经很便宜了),直接贴代码吧。
7 t$ t  _9 _% `3 L/ a2 o1 F& L3 C4 _定时器初始化:
  1. void TIM_LCD_Config(void)1 ^( k4 b  s8 z1 U: p
  2. {
    % e3 k/ C% @! Y: w( b; h* t7 d
  3.   NVIC_InitTypeDef NVIC_InitStructure;
    ! c* b( |* _7 }7 ?9 M+ ?
  4.   TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
    ) F" Y  F# p3 s: @) r/ M
  5.   uint16_t PrescalerValue = 0;
    : @! @  Y* e$ K0 k& @
  6.   9 X) e2 A# k( e0 W4 d0 X) a; s
  7.   /* TIM2 clock enable */1 }+ S3 T/ f+ a# d$ L
  8.   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);* k  G0 T  {4 H: z0 i7 w3 b8 F
  9. & H: X4 @  B$ h' N) S( O: }: M2 D
  10.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
    - {; Q6 Y) S; l, V: k. q9 e# N
  11.   
    3 T2 D' M$ `: R8 u  ^* i) `8 w
  12.   /* Enable the TIM2 global Interrupt *// E/ ~! `, b4 T6 H: b
  13.   NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;, t/ y, q" J- ^0 x& Q
  14.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;/ i/ N4 j" G+ ^
  15.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;# u8 N. r& k) h! J* r7 Y
  16.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;$ k; e2 h$ j, R; m" `

  17. # F5 A* b: L0 Z- e3 L) ~
  18.   NVIC_Init(&NVIC_InitStructure);; u& ^8 E# A/ k$ h% y0 I) q
  19.   2 G: x, p. N1 u8 ^, l5 _0 ~; @
  20.   /* Compute the prescaler value */  a% G. ~# B+ t9 ~
  21.   PrescalerValue = (uint16_t) 0x750;
    5 y3 }0 i# W' u
  22. 8 \- C1 l, \8 m9 G; E8 d7 y/ Q) x7 {. h
  23.   /* Time base configuration */
    2 b: ?3 `( a: P
  24.   TIM_TimeBaseStructure.TIM_Period = 0x100;
    / |( G; r& @7 q  g# Z0 t0 c
  25.   TIM_TimeBaseStructure.TIM_Prescaler = 0x750;& d8 ]5 Y0 i; {9 P1 H& M9 V8 d1 @
  26.   TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
    & {3 A3 B9 D& E) B5 E
  27.   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
    & z4 H" w$ [5 ^9 ^
  28.   TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);( G8 |7 u8 ]" ~( z& S
  29. 1 z1 p( ]6 i# K9 L7 t  @' H. g
  30.   TIM_ClearFlag(TIM2, TIM_FLAG_Update);
    ( y, }3 P( @) W6 e( B+ b
  31.   
    5 k, P# v/ N, Z# ^) @
  32.   /* TIM IT enable */
    * z; r  U" O& k! o
  33.   TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
    & i6 I- M5 O3 [" P

  34. , P( G& ~+ h. [, ]) ]5 |
  35.   /* TIM2 enable counter */
    . E; @7 [- d5 H2 i' N. N$ ^
  36.   TIM_Cmd(TIM2, ENABLE);2 X9 G7 ^8 b" t7 m* i
  37.   
    5 P) _; y! W7 @2 S4 s
  38.   /* Prescaler configuration */
    2 Q) R: ~% `9 H+ x! ?
  39.   TIM_PrescalerConfig(TIM2, PrescalerValue, TIM_PSCReloadMode_Immediate);
    , L) R6 r1 F+ \7 c7 x
  40. }
复制代码
扫描:
  1. void LCD_Refresh(void)# w7 ?4 x, ?. L" V; l
  2. {
    % W4 q# g9 s0 I: o! Y0 N
  3.   u8 i,j,z,value;
    5 N9 {& ?' l* c# `5 ?

  4. 6 U' ^  o% K  x4 w
  5.   addr=0;
    2 O+ y+ b1 Z9 x7 b* s% w" d
  6.   LCD_FLM_High();
    1 ~* V3 r8 m3 Y8 v% d
  7.   for(i=0;i<244;i++)% E3 _  F* B4 O: s+ Z
  8.   {4 W8 l* b6 e& M+ y/ I/ \
  9.     for(j=0;j<40;j++)
    / A* }( P. s5 I9 W/ y5 T
  10.     {
    ; `0 z2 o% p& m' I' t2 D$ x
  11.       value=image[i*40+j];
    , \7 b! |$ t/ n" ]
  12.       LCD_XCK_High();
      }' M7 a0 P, Y6 m+ K9 C
  13.       GPIOC -> ODR = value;
    # V4 M( U  D9 A9 B$ v" j/ @- K* T
  14.       LCD_XCK_Low();( F% C! ]5 N' E$ B
  15.     }3 k1 W* d! l, d% P
  16.     LCD_LP_High();9 _1 @- P3 L. d, G
  17.     LCD_LP_Low();4 a. N, q3 J" t; w, b4 C+ [
  18.     LCD_FLM_Low();
    ( f. {& b8 m2 M. O" r# i
  19.   }( a6 M! w; v2 Q3 _7 s* @
  20.   LCD_LP_High();
    5 O& A: n0 v! V/ z" Q6 I, ]
  21.   LCD_LP_Low();* L. k* O; l. n6 C6 }2 N; b
  22. }' _  _& f: l, \" y4 S) _
  23. % E. s* S& p" w8 Y8 d3 `6 F% `
  24. void LCD_Refresh_M(void)2 `" z& W! T/ Y& h
  25. {
    7 M3 c& h$ T( m' w8 c# Z1 r
  26.   LCD_Refresh();
    " l$ N( y2 B+ [7 |: E7 {' }" k  V; m
  27.   LCD_M_High();
    5 `6 o. k; b6 G) \1 n
  28.   LCD_Refresh();
    1 E8 C! w: U- S. _
  29.   LCD_M_Low();3 u% A/ G9 b# u6 W" c
  30. }
复制代码
有什么疑问下面提吧,我会尽量回答的。(高中住校生,周末才能上)6 k1 |, a! ]* f% H: [) u* ?$ b
准备下一步调试16级灰度; h/ N: O. L7 R( p9 T

点评

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 编辑 3 i* B7 s5 Y# _

. m# \/ z1 k8 c( u1 L% @/ x+ ?9 `下面是从某科学方法弄来的驱动板芯片图" O$ g: b+ U+ E4 v$ k; n( S# [: r
图片.jpg $ `% f0 t' \3 s
下面是从某科学方法弄来的背光点亮图
4 ^7 v  }/ P# l! \% G0 _3 Y QQ图片826.jpg 7 ], G$ n: a9 w0 B5 p+ ^/ _
发表于 2013-9-20 21:04 | 显示全部楼层
小兄弟,高中就开始搞嵌入式的开发,真是牛啊
# t& u- e4 b  D6 s
发表于 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
2 R/ [' w5 o5 n) H4 U3 k# {) OLZ,这个屏我在其他论坛也卖了,我可以复制你的驱动方法发给大家吗?
' D' T5 S# s; W2 v
可以啊。: r# y  I" W0 `) t
发表于 2013-9-20 22:21 | 显示全部楼层
本帖最后由 hysy 于 2013-9-20 22:23 编辑 , G/ W; v2 ]7 y: M) b' X
! S( B  B; o4 ?" k3 i) J
啥鸟东东?黑白屏啊!晕倒!以为彩屏呢,320x240彩屏通价也就10元,5元彩屏应该也容易找到
 楼主| 发表于 2013-9-20 22:48 | 显示全部楼层
hysy 发表于 2013-9-20 22:21
- M- _; B0 [+ n0 G+ z1 D: x8 E0 R啥鸟东东?黑白屏啊!晕倒!以为彩屏呢,320x240彩屏通价也就10元,5元彩屏应该也容易找到
8 m$ K  J4 X( o7 l. d4 m; a  j
彩屏敢拿来比功耗吗?320x240彩屏1元都能够搞到。玩黑白屏就算要反射式的那种feel
7 u& R# T$ g/ z' L

本版积分规则

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

GMT+8, 2024-5-19 10:42 , Processed in 0.051830 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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