一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 6781|回复: 6

各位大神求救,液晶屏写入后导致单片机重启,加电容无效。怎么解决呢?

[复制链接]
发表于 2017-3-18 10:37 | 显示全部楼层 |阅读模式
本帖最后由 davg1 于 2017-3-19 15:34 编辑 ! x% h7 _& i; b& i

3 u3 R2 o9 }  Z非常感谢各位。! P. j& J9 ]3 @: v' z
问题解决了。换了一片同型号的还有不同型号的都试了一下,都可以,只有那一片不可以,但是那一片烧录个别的测试程序也ok。很奇怪。小概率的事件遇到了。
' E, ?3 R8 `) V) D3 Z% e, O正在研究屏幕显示汉字,还在乱码,图片是ok的。搞定了和大家分享。+ K) ?% {2 S" F' }3 N
4 s& |% B3 {+ L2 J& R9 g
淘宝买的便宜货,在论坛各位大神的帮助下终于点亮了,可是还是有些问题。
  z, n/ M# n5 {6 z* }刷图的时候其他未刷部分是白色的,而且出现非常明显的从上到下刷屏的样子,,根本看不太清楚,改了单片机的频率也不行,还是出现刷屏,只是整个过程快了很多。
' h2 a3 k9 p+ N% E+ v& w无法达到一直显示的目的。问题找到了,是单片机一直在重启。) s4 h* ^! x% p1 D2 K
可是每次都是写入完图片的数据之后重启。如果只写入初始化不会重启。我在5v电源输入端和单片机输入端(3.3v)并联了100uf的电容,问题依然如故。陷入死结了。9 ^" {3 R& p/ j9 v8 z
我该怎么办呢?

9 z1 s! {- X- t, r8 M接线图如下。我在1117的输入输出都加了100uf的电容,还是不行。供电是用的5v1A的插头。
( z7 t& |- R% ~* U0 q$ z+ N 搜狗截图20170318224029.jpg 0 C/ X7 M) j/ I

+ K  S* y, D0 s9 E" I* n3 H4 O) l# ]3 ]
* u7 A4 R" }8 g! z: q, b0 U
如图,
7 D* ]% y0 {" U- }# o! w0 w0 I IMG_20170318_102649.jpg 8 F/ M( ]5 n6 H2 w: y: p/ t. _
# A/ s8 @7 D0 l; t2 ^
1.jpg 4.jpg
4 j8 d4 f3 _' V- \* \" e! w+ t 3.jpg % |8 \! f* o" C

, `/ d7 [" g: b$ q6 w. H程序用的$ E) h  ~+ F) p4 X* z6 ~
https://www.yleee.com.cn/thread-57727-1-1.html
+ a9 |+ ?% ]- ^% R5 Kwangke2010提供的程序。他的显示就很正常 1.png
0 t) D" a; Z& d5 E5 {

: P. }/ l) B! |4 v" n' I请问该如何救呢?谢谢!!!!- x4 f  I6 ?9 t- I3 i; v$ f6 J
  1. unsigned char code gImage_bmp2[] =
    : Z- R7 O  X7 I& p5 N
  2. { 0 L4 T# V# g: H0 b& y2 _
  3. 0xFF,0xFF,0xFE,0x33,0xFF,0x80,0x01,0x80,0x00,0x00,: @5 \# N+ h: a" q; X5 R9 k
  4. 0xFF,0xFF,0xFE,0x33,0xFF,0x80,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x00,1 z+ ]) h/ b1 c5 x2 a' P8 t
  5. 0x01,0xC0,0x01,0x80,0x00,0x00,0x00,0x33,0xCD,0xFF,0xFF,0xE0,0x03,0x80,0x00,0x00,
    - B5 \3 T) p9 b9 n  Z; c0 W$ I
  6. 0x00,0x03,0xCD,0xFF,0xFF,0xF0,0x03,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xF8,
    ; O8 X3 J7 _3 {
  7. 0x07,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xFC,0x1F,0x80,0x00,0x00,0x00,0x00,
    3 W; s- \  b2 S6 y) x
  8. 0xCD,0xFF,0xFF,0xFE,0x1D,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xFF,0x81,0x80,
    8 g* P! ]) x( R' L0 \) i/ w, {
  9. 0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xFF,0xC1,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,3 {4 n, D" H( Q+ U. O3 ~
  10. 0xFF,0xFF,0xC1,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xFF,0x01,0x80,0x00,0x00,
    7 t* w- E" ?/ t# x% Z9 j
  11. 0x00,0x00,0xCD,0xFF,0xFF,0xFE,0x01,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xF8,/ |4 E2 T5 ?' S* V
  12. 0x01,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xF0,0x01,0x80,0x00,0x00,0x00,0x00,
    4 X$ ^2 ^  ?9 M  v: F
  13. 0xCD,0xFF,0xFF,0xE0,0x11,0x80,0x00,0x00,0x00,0x00,0xCC,0xEF,0xFF,0xE0,0x1F,0xFC,7 p% o$ e$ Y% Q* S% s
  14. 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,0x0C,
    # S( D; {8 C4 J9 y1 X/ J0 `! ~6 z
  15. 0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xDF,0xFF,0xC0,0x00,0x00,0x00,: d. U# k+ }- {9 o4 ~* p
  16. 0x00,0x00,0x00,0x1F,0xDF,0xFF,0xC0,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
    , r/ ~% w/ X& I' E
  17. 0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,5 A1 C5 x2 s* |
  18. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x0F,0x00,0x33,0x3B,
    # N. q( v6 s% @2 z7 e
  19. 0xFF,0xF8,0x00,0x00,0x00,0x00,0x1F,0xC0,0x73,0x7F,0xFF,0xF8,0x00,0x00,0x00,0x00,4 m4 q& `5 h" {+ `( r
  20. 0x1F,0xC0,0x73,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x1F,0xC0,0x73,0x7F,0xFF,0xFE,  b. l" ]; v& ]. I& t
  21. 0x00,0x00,0x00,0x00,0x1F,0xC0,0x73,0x7F,0xFF,0xFF,0x80,0x00,0x00,0x00,0x03,0xC0,
    ( \& D* ^/ {' s0 e: C0 @+ o/ L
  22. 0x73,0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x07,0x80,0x73,0x7F,0xFF,0xFF,0xF8,0x00,
    : ?3 u/ A: v4 r
  23. 0x00,0x00,0x0F,0xE0,0x73,0x7F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x0F,0xE0,0x73,0x7F,
    ) Y4 K8 g+ ?0 F* D' |. Y
  24. 0xFF,0xFF,0xF0,0x00,0x00,0x00,0x0F,0xE0,0x73,0x7F,0xFF,0xFF,0x80,0x00,0x00,0x00,. F% M& s# K4 H. f8 I# K4 Z' ?
  25. 0x00,0x00,0x73,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x7F,0xFF,0xFE,
    + O- @( I! _6 x. P" h  k
  26. 0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,
    / B, p+ \) A$ Z: r" @$ @6 U+ U
  27. 0x73,0x7F,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,. X8 f* Y2 L/ V- p
  28. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
    4 ~, P; `( x2 A- a4 s5 O
  29. 0xF7,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF7,0xFF,0xF8,0x00,0x00,0x00,5 }8 A8 V: ^, A* _  f" Z1 X
  30. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    & W( q) i/ k/ m/ I6 n$ w
  31. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,4 g0 K% W$ s4 F! h* s+ ~7 t
  32. 0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,
    9 K6 g( ~) ~3 l" B1 }4 Y% P: _- P
  33. 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,+ Y- M' O& J% e. @' _
  34. 0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x00,0x00,0x00,0x00,9 z7 o3 S* u( t" I- y
  35. 0x00,0x00,0x00,0x00,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,
      Y8 O% p1 L5 l' M
  36. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
      h& e* z6 s1 S! M
  37. 0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,
    5 R/ d- I/ H/ j% A) N2 d" q2 m( a
  38. 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0xFF,0x80,0x00,0x00,0x00,0x00,) X. `! g$ q3 @; y- B, l( z0 Z
  39. 0x01,0xC0,0x00,0x00,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x80,
    " H  h. |+ W: O5 S
  40. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,( c6 x6 v4 u9 ~
  41. };2 B; [2 y8 w2 G6 ^1 V4 f

  42. " A' Q; |3 m6 Z1 o

  43. ( p' }3 R1 [3 U
  44. /*  GPM1306.c
    7 ^! g9 L0 G& O( O& h2 D- R
  45. *  Created on: 2016-10-19- h8 v) Q" a  q$ g
  46. *                  ┌─────────────────────────────────────────────┬───────────────┐
    ) L4 A1 t- g5 ~. r0 z  _
  47. *  PIN_NO : 17    16     15    14    13    12   11    10    9    8    7    6     5     4    3     2     1  x3 T- A5 a: ~1 b$ Q( d3 l
  48. *  NAME   : BK-K  BK-A   NC    SCL   SDA   A0   RST   nCS   NC   VDD  C1   VSS   VDD   C2   C31   C32   C4
    : _9 {) s3 a% g+ Y: s( ?& `
  49. *  CONN   : GND   VCC          P1.4  P1.3  P1.2 P1.1  P1.0       VDD  │   │VSS  │VDD   │    │     │     │
    " h! ]6 K6 x$ b* y7 m7 F" y) u
  50. *            │                                                        │   │     │      │    │     │     │
    : J& k, B, a6 x  h9 [2 J! I1 D
  51. *            │     C1-C5=1uF 25V 0805                                ───  │    ───    ───   │     │    ───
    . j2 U. I, n& ?. c
  52. *            │     120x160pix                                        ───  │    ───    ───   └─│ │-┘    ───
    2 i2 D, k8 c& ]  }+ `4 E
  53. *            │    ┌──────────┐                                        │C1 │     │C5    │C2       C3     │C4
    5 _! C0 n9 l5 e1 W& K% ?) W
  54. *            └────┤  R1=3R3  ├────────────────────────────────────────┴───┴─────┴──────┴────────────────┘
    2 C0 z5 P8 e# [. V/ L9 v
  55. *                 └──────────┘
    9 S7 {! _* F: T5 C& H. X8 P
  56. *==================================================NOTICE==================================================
    8 y  U4 ?( J$ |' D* l) a# U
  57. *这个程序仅供评估,没有任何技术支持。如有疑问,请仔细阅读压缩包中的PDF文件或者联系芯片/模块厂家。
    , l0 A5 _6 o+ e
  58. *这个模块还有很多功能没有在这个程序中体现出来,具体请参阅压缩包中的PDF文件或者联系芯片/模块厂家。; n' N/ |( N$ v2 @
  59. *推荐使用TI的LaunchPad验证,如果使用别的板子/芯片,请根据具体情况修改移植源文件。
      y* Q- p8 d8 C4 ?3 [
  60. **************************************************移植参考**************************************************
    : _0 _; g. y. B, E
  61. *使用MSP430系列芯片可以直接使用或者修改一下脚位既可以。注意主频要和 #define Fosc 中定义保持一致。
    $ g) Z( d! t# w! t3 y3 g
  62. *移植至别的芯片请注意初始化IO和修改延时参数,修改脚位并注意void LCDInit(void)中有直接控制引脚的指令,需要一并修改。
    1 W) o& {1 y6 v0 j& D, y
  63. *祝大家玩的开心。
    " }' L* X% O, \+ {  g# K: {
  64. P1OUT |= BIT1;  是将P1OUT倒数第二位被置13 j$ g$ k2 y, e6 }
  65. P1OUT&=~ BIT0 是将P1OUT最低位 清 0
    , u; [" g4 L. s+ C* J
  66. */6 c8 K' V. E7 l  O9 G
  67. #include  "config.h"6 T! e# ?& D- p
  68. #include  "Delay.c"  
    , A; o0 Z7 d& q0 V7 B. [
  69. #define   GPM1306_nCS_CLR    P12=0
    # S2 A4 P: a% ^
  70. #define   GPM1306_nCS_SET    P12=1
    1 b2 R6 G# o  N# ?/ j  ^
  71. #define   GPM1306_RST_CLR    P13=0
    . J& o' B( \1 J" P# I/ ~
  72. #define   GPM1306_RST_SET    P13=1
    # r- @5 F  R  H; n+ B' i
  73. #define   GPM1306_A0_CLR     P14=0% x* d' v; I* y+ T6 m3 G
  74. #define   GPM1306_A0_SET     P14=1
    6 i4 h( Z: c6 G4 p( C9 g
  75. #define   GPM1306_SDA_CLR    P15=0
    / W' I: p- i# o
  76. #define   GPM1306_SDA_SET    P15=1& Y0 U# v. P+ I& g% p- J; k9 G
  77. #define   GPM1306_SCL_CLR    P54=0
      Y0 b# m8 E( y% K  }0 ^/ n, ~7 f
  78. #define   GPM1306_SCL_SET    P54=1! S: A; N, [* \1 A$ D! w6 p

  79. $ X' s+ ^  j, W4 P" k! r7 J; S

  80. 2 D4 T) p: q! u1 P6 A
  81. void LCDWriteCmd(char cmd)
    # q$ e; D& \1 W+ \6 h
  82. {
    " [! e1 ^$ f9 I* L8 \* O6 d! L
  83.         unsigned char i ;
    9 G7 `" Z/ P; ^
  84.         GPM1306_nCS_CLR;          //使能芯片8 P0 o' q+ A- p( E; Q
  85.         GPM1306_A0_CLR;//写命令模式* X% j# X5 I& B; f# e% i
  86.         for(i=0;i<8;i++)# R; o7 I1 K* v. l/ r
  87.         {
      Y2 ~% ]( |) F
  88.                 GPM1306_SCL_CLR;
    1 q& r+ |2 _3 q- Q! q7 v4 v5 b3 H
  89.                 if(cmd&0x80)    //先传高位字节,后传低位字节$ j* p' x. ^" b. m
  90.                         GPM1306_SDA_SET;
    # Z7 W  t7 m1 b8 A
  91.                 else
    3 k5 j5 Z% f' Q+ e
  92.                         GPM1306_SDA_CLR;
    2 ^( w" S1 d4 @: f( r( N$ q
  93.                 GPM1306_SCL_SET;; h- O2 p. E3 _1 A
  94.                 cmd=cmd<<1;
    4 G& w( Y3 O2 O8 \) X, K2 m
  95.         }
    0 z4 x0 @( U/ d2 Z5 n$ K
  96.         GPM1306_nCS_SET;; K7 E- e6 N& U' b. k7 n+ T
  97. }
    1 r9 d5 D8 H- b5 Z$ y) o" C  d! e
  98. void LCDWriteData(char cmd)
    + [. P8 ~! `7 a0 r5 b
  99. {4 v, I& m/ `6 c- D4 l$ ?7 k
  100.         unsigned char i ;
    . v( i, f8 J; N6 T
  101.         GPM1306_nCS_CLR;          //使能芯片
    : ?6 V5 ~; I1 k5 x: E' N
  102.         GPM1306_A0_SET;//写数据模式
    5 i- R; l/ r; h* f  \/ V9 ]2 g
  103.         for(i=0;i<8;i++)
    & n, f( p7 L1 z+ d  O
  104.         {
    3 k  b8 f7 R( n% V9 K3 Z7 M
  105.                 GPM1306_SCL_CLR;* G1 |$ {8 r7 P
  106.                 if(cmd&0x80)    //先传高位字节,后传低位字节( I) U8 t2 }' a* f3 T
  107.                         GPM1306_SDA_SET;6 C" D2 B3 ]! {" Q+ I7 l
  108.                 else
    + E" Z' q8 @& p$ K
  109.                         GPM1306_SDA_CLR;" i9 F$ H, s* F# q  v; h. Y! n9 X* O
  110.                 GPM1306_SCL_SET;
    , N! M) i' w5 h  v
  111.                 cmd=cmd<<1;
    + m  }% t7 X% }
  112.         }% O: [/ ~7 R3 Z  i3 o
  113.         GPM1306_nCS_SET;
    & v+ a8 ]' a5 B4 l  W: J5 K
  114. }
    7 S: T+ V9 q) U, ]! b
  115. //设置起始行列. x& d# H0 R8 t8 G' e
  116. //ys为起始行,xs为起始列, ye为结束行, xe为结束列6 ?: d8 @0 {5 v$ g
  117. //xe与xs的差值即字的宽度, ye与ys的差值即字的高度
    " D  Q1 ]/ Y5 k7 c
  118. void LCDSetXY(char xs, char ys, char xe, char ye )
    1 x6 `' H/ T# n& Z
  119. {
    ( T) q* o7 E- Q  h* n; K
  120.         LCDWriteCmd(0x2A); //设置列地址(横坐标)
    ; X* i- u) Z3 i' B( i% {# G' }
  121.         LCDWriteData(0x00);
    8 b% Y9 j3 n0 S& s( _9 [6 [& o
  122.         LCDWriteData(xs);
    . ~# }. P' O- s9 I# D& j9 z
  123.         LCDWriteData(0x00);
    ! {& `( K  j& J. j# H# H. r0 \
  124.         LCDWriteData(xe);
    8 A( p# t. y! J2 l
  125.         LCDWriteCmd(0x2B); //设置行地址(纵坐标)( p1 b% a. I4 X0 `2 U0 z1 \/ E
  126.         LCDWriteData(0x00);
    + O7 R$ r% a* D+ r. i8 D: W
  127.         LCDWriteData(ys);
      p8 N: k: A8 T3 P2 e
  128.         LCDWriteData(0x00);
    * g! U, d  x% t' [) z
  129.         LCDWriteData(ye);
    6 N  w" f/ H( c0 C% N& y' l/ N
  130. }- Y+ R6 F& Q- d5 ]  F9 O
  131. //清屏函数
    * g! i/ F5 A, q/ {
  132. void LCD_ClrScreen(unsigned char value)/ m( d  X7 K3 O2 `: f$ I: x, K& {
  133. {
    % y& b) Y. v' B6 z8 _; _! `
  134.         unsigned char i,j;$ Q: e3 ?. T1 N& J& v
  135.         const unsigned char tt[]={0x00,0x49,0x92,0xff,};
    4 y3 _! d) P- m! r$ J
  136.         value=value&0x03;+ Y6 C3 j& S) Q3 m, J; _3 C
  137.         value=tt[value];2 q4 @2 U, o. q
  138.         LCDSetXY(0,0,53,119);" d/ v2 ]- a, q; v2 L
  139.         LCDWriteCmd(0x2C);  //向DDRAM写入显示数据
    . f2 z1 ~# f9 o" L3 r; k- ~# N
  140.         for(i=0;i<120;i++)
    6 w6 q! h6 d. J# Y; `7 D4 d
  141.                 for(j=0;j<54;j++)
    * g: x( c4 f' L/ Y
  142.                         LCDWriteData(value);
    , U. Y9 r9 a" q7 ^
  143. //        P1 ^=BIT6;
    " z5 X* R8 n* y* c4 X0 j+ {- K
  144. }
    : u- Q3 g2 d# {
  145. void GPM1306_DISBMP1(const unsigned char *BMP1)9 o2 f8 @) Z  ]2 R7 O
  146. {# |' L% n4 ]  O, F
  147.         unsigned long MCx8x31;
    1 X! H$ v2 S& f9 W6 Q
  148.         unsigned char LINE_COUNT1,COLUNM_COUNT1,color1,t2;; I0 E% D; H' @* g& H( D8 U
  149.           signed char vaild_bit1=8;) a7 [% T# }" @3 j+ Y1 W8 C
  150.         ((unsigned char *)&MCx8x31)[2]=*BMP1;$ @+ U/ L6 `  \5 B$ t
  151.         BMP1++;1 |; ~' |4 _" L! K5 e- y1 Y8 m8 J
  152.         LCDSetXY(10,0,36,60);
    ( t8 w5 r$ N! ?2 ^9 g8 ?
  153.         LCDWriteCmd(0x2C);  //向DDRAM写入显示数据
      _/ g2 u5 b, m4 x  E% S
  154.         for(LINE_COUNT1=0;LINE_COUNT1<120;LINE_COUNT1++)
    ) {" v: B- q3 O& J: C
  155.         {7 u, u( P$ H, |& U, C
  156.                 for(COLUNM_COUNT1=0;COLUNM_COUNT1<53;COLUNM_COUNT1++)//160/3=53....1
    % M8 q0 D+ k( _. ?, T- i
  157.                 {, a3 ]+ A3 n4 Q) x+ v
  158.                         if(vaild_bit1<3)- x: O7 U, {( V& G5 |) z
  159.                         {  t. l2 `' b1 l
  160.                                 MCx8x31=MCx8x31<<vaild_bit1;
    ! i) ]$ Z0 z5 W  {* X0 A, O, `5 ?: [
  161.                                 ((unsigned char *)&MCx8x31)[2]=*BMP1;( |2 M6 i- G6 M" w" t
  162.                                 BMP1++;
    7 m& l+ @2 P) F8 |
  163.                                 MCx8x31=MCx8x31>>vaild_bit1;
    # e; S* J8 \, `' S
  164.                                 vaild_bit1=vaild_bit1+8;: z/ @( X+ s4 s
  165.                         }
    0 G3 K% d0 W* ~: ]7 L
  166.                         color1=0;
    6 i5 J3 j- ~3 n( [+ t
  167.                         t2=((unsigned char *)&MCx8x31)[2];  A2 K: V8 w1 V
  168.                         if((t2&0x80))
    ( j. Q5 Z$ w6 ^0 F0 O/ O9 n0 ]
  169.                                 color1=0x03;
    8 e# i7 B/ L% u% F2 C( W$ L) ?2 P
  170.                         if((t2&0x40)): d/ H: O. L( Q, c: l
  171.                                 color1=color1+0x1c;; i/ a4 G7 C" s& g6 Y, m4 V2 B
  172.                         if((t2&0x20))3 u& H7 M$ z0 [( v4 B. c
  173.                                 color1=color1+0xe0;5 F5 t: T7 i, h& b0 j& T# L7 o  k
  174.                         MCx8x31=MCx8x31<<3;# ^) R& ?9 @6 R, [1 X
  175.                         vaild_bit1=vaild_bit1-3;0 w" ^) I# B, L% g/ y! W
  176.                         LCDWriteData(color1);3 P5 n4 ~/ f  w  b  K$ a
  177.                 }" H7 }4 e! {1 m
  178.                 if(vaild_bit1<3)
    6 H3 [- D/ I" O, ^, y4 I' w
  179.                 {/ y2 T% w2 T; X
  180.                         MCx8x31=MCx8x31<<vaild_bit1;
    & n- {' V1 e) N! B4 Y0 ]7 _- S- X
  181.                         ((unsigned char *)&MCx8x31)[2]=*BMP1;% B, [& Q# _' f; m; j& A7 C8 A
  182.                         BMP1++;7 h( A% Z& p. N% W8 d
  183.                         MCx8x31=MCx8x31>>vaild_bit1;9 }+ ~, o& `' Z5 {0 u1 m
  184.                         vaild_bit1=vaild_bit1+8;
    # E: c- x6 v5 f
  185.                 }
    " X' e) y, H# u& b  M* x/ f" a2 v
  186.                 color1=0;' L3 \6 G+ r* m7 Q6 d0 R1 h& Q
  187.                 t2=((unsigned char *)&MCx8x31)[2];- X+ R; i7 ^% u  m/ M# I, g
  188.                 if((t2&0x80))# l8 k% V" ?2 M3 v
  189.                         color1=0x03;+ I+ T2 U; {+ P8 I
  190.                 MCx8x31=MCx8x31<<1;
    , k" }. |' a/ y8 v4 `
  191.                 vaild_bit1=vaild_bit1-1;6 l, r6 O6 L$ Y9 X$ \
  192.                 LCDWriteData(color1);3 Y( w* K/ n$ d$ n$ f' w
  193.         }
    8 K5 E, R( k  u. D7 [) J6 E
  194. }
    7 T( X2 |( u; P7 \
  195. //初始化函数: w* _' s3 h( ^6 c! \+ i; u" I
  196. void LCDInit(void)% g5 S: B3 B: E- f; u
  197. {
    / `' S0 g" n) \) D2 Z
  198.         GPM1306_RST_CLR;+ |9 [/ S& o5 H  W$ N9 ?& G0 M
  199.         delay_us(20);3 J, f* M8 H8 h) n# t0 G. ~
  200.         //__delay_cycles(Fosc*0.2);//Delay_ms(20)   //延时20ms- I. T- I) R; t% S9 Y4 v5 c2 J
  201.         GPM1306_RST_SET;
    $ w( i4 i9 o8 Q8 B0 D
  202.         delay_us(40);  |6 Y5 q* Y: x6 M. y
  203.         //__delay_cycles(Fosc*0.4);//Delay_ms(200); //延时200ms
    4 B. g: M( R( L% _/ E0 a8 B
  204.         LCDWriteCmd(0x01);   // soft reset( Z6 q! B! T9 N5 P7 F9 L$ a( ?  _9 a
  205.         delay_us(40);; M" X6 O, L6 T  }
  206.         //__delay_cycles(Fosc*0.4);//Delay_ms(200); //延时200ms$ t, l. Z& y" r0 i1 B
  207.         LCDWriteCmd(0x11); //Set power save mode:Sleep out mode
    # q' \; j  T+ o* B! I7 f* q
  208.         LCDWriteCmd(0xC0); // Set Vop///
    . U# M( y2 L9 p* Z
  209.         LCDWriteData(0xf0); // Set Vop Low 8bit               30//全屏太黑或者太白调整这里
    / {7 p9 V! M; X# H" ~
  210.         LCDWriteData(0x00); // Set Vop 9th bit(Total 9 bits)  01//全屏太黑或者太白调整这里
    2 [- }0 V, k$ Z) r
  211.         LCDWriteCmd(0xC3); //Set BIAS system: ~4 \2 A7 j, f# G' C9 \
  212.         LCDWriteData(0x04); // 03: BIAS = 1/11  0-5' t* [* ]1 r! M% z& Y) k. p
  213.         LCDWriteCmd(0xC4); // Set booster level  }- D4 U8 b+ S1 T7 l
  214.         LCDWriteData(0x07); // 07:x8 Booster3 ^) Y! o3 ], Y5 T
  215.         LCDWriteCmd(0xD0); // Enable analog circuit" z8 ?- N5 Z, }. C0 r0 p
  216.         LCDWriteData(0x1D); // Enable analog circuit
    ( U+ W: y# ]3 p5 w8 h: r
  217.         LCDWriteCmd(0x38); // Set display mode: M=1: Monochrome mode; ?/ I2 ^% O5 X" F8 x
  218.         LCDWriteCmd(0x3A); //Enable DDRAM interface& f3 e' L! r+ K! |
  219.         LCDWriteData(0x02); //RIF=0: Monochrome mode & 4-level gray scale mode
    6 F( V6 Y  h- C6 r2 @) s/ ^: }
  220.         LCDWriteCmd(0x36); // Display Control
    5 v. }6 ^. v* S7 o& {0 L3 s
  221.         LCDWriteData(0x40); // MY=0: COM0-COM159/MX[1:0]=(0,0):SEG0<-SEG383
    5 a* s3 Q: E" n. H2 X
  222.         LCDWriteCmd(0xB0); // Display Duty8 n2 c) o* s( y2 n; r0 K
  223.         LCDWriteData(0x81); //Set display duty DT=0x9Fh(1/160)  DT=0x81(1/130)
    5 n7 c3 w( B6 t/ C$ V% p9 [
  224.         LCDWriteCmd(0x20); // Inverse Display:INV=0: Normal display, B% Y+ o0 E1 O2 T7 Q
  225.         LCDWriteCmd(0xf1); //Frame Rate(Monochrome Mode)& Y4 h9 _0 O8 G' b
  226.         LCDWriteData(0x15);//Frame Rate 92.0Hz/ Z1 t7 K# |% N$ r: \# P5 v
  227.         LCDWriteData(0x15);. A3 ~) p4 u+ a; H9 \
  228.         LCDWriteData(0x15);! A2 j! T& ^7 H% @
  229.         LCDWriteData(0x15);! [( e9 G: o9 u  B' K
  230.         LCDWriteCmd(0xb1); // First Output COM
    ! I$ z. J  @4 ]
  231.         LCDWriteData(0x00); // Set first output COM           FC=00h(Start from COM0)- _& i/ ^  y) C+ v, ~
  232.         LCDWriteCmd(0x29); //Display ON  f' g  ]: a9 @, a
  233. }% S' E6 W2 ^4 x- \

  234. ' p  }9 C" M' S  z$ o) E" l% e
  235. void main()
    # S) d' p# ]. ^
  236. {' W, u" g0 t4 O7 i

  237. ' U7 b8 ?  J* S* Z
  238.         LCDInit();  //初始化液晶
    4 V+ S$ w& w0 h2 e0 a, c
  239.                 LCD_ClrScreen(0);( d+ B6 C! k  j) E; |% Q
  240.                 delay_us(10);
    7 n3 `$ G0 g( G% ]9 M& ~
  241.                 LCD_ClrScreen(1);1 a) O4 H$ \$ I+ m- q/ S; t
  242.                 delay_us(10);
    : e1 e: Y( p2 M- ?: @% B
  243.                 LCD_ClrScreen(2);% W# b) r! Y* V* ~* d
  244.                 delay_us(10);3 V4 {6 a9 [* _
  245.                 LCD_ClrScreen(3);# `5 a) z, G% L4 p% G  L. u
  246.                 delay_us(10);
    - q7 [% a( X  |* `5 X
  247.                
    ! P8 J+ _" s( @) ?; U" `( Y* Q
  248.         while(1)
    4 D% \$ _5 i' O. w
  249.         {
    : v+ c& F! {3 X4 }
  250.         //        GPM1306_DISBMP1(gImage_bmp1);/ V. b8 s6 ^1 p5 i
  251.          GPM1306_DISBMP1(gImage_bmp2);) f" z8 X  Z0 x/ C0 X
  252. $ h# _/ v: t4 l, |0 ~7 S8 d: |
  253. 2 u. a* p/ z) |8 W& G. ?! Y
  254.         }
    ' ]* O% `! H8 J7 j
  255. }
    . v8 r3 e# M& l; U

  256.   L' _5 o" l$ z
复制代码
# U6 |. Q9 e5 S  Q: _
' U: j" G' B1 B7 n' r  [
5 r% ]5 f) H9 j; ~7 Z5 S& N

1 T4 h: ~5 j; ~1 X! T
/ P3 a  r6 A0 ^/ T7 g% v
发表于 2017-3-18 17:55 | 显示全部楼层
你主程序里不是一直刷屏吗?
回复

使用道具 举报

 楼主| 发表于 2017-3-18 19:45 来自手机 | 显示全部楼层
more 发表于 2017-3-18 17:55+ X8 T  a; G, V: p& W+ B
你主程序里不是一直刷屏吗?

2 u( X( F6 Q9 F6 y( }放在外面也这样的,只刷入一次也这样,不明白为什么呢
回复

使用道具 举报

发表于 2017-3-19 08:57 | 显示全部楼层
如果你不停的刷而且 MCU 速度慢的话是这样的.
% C7 `3 m  {. y3 v% m( e你至少发个程序给大家看看啊.
回复

使用道具 举报

发表于 2017-3-19 12:23 | 显示全部楼层
内存不够?瞎猜的
回复

使用道具 举报

 楼主| 发表于 2017-3-19 15:32 | 显示全部楼层
junyee 发表于 2017-3-19 08:57* b; f  a$ _  c5 V, V/ z3 {* R
如果你不停的刷而且 MCU 速度慢的话是这样的.+ q" _# d' P+ N. m- ]7 n
你至少发个程序给大家看看啊.

* Y' p9 x& \/ R7 B! V4 g, O0 ~& G. u问题解决了。换了一片同型号的还有不同型号的都试了一下,都可以,只有那一片不可以,但是那一片烧录个别的测试程序也ok。很奇怪。小概率的事件遇到了。/ V+ B% W: P$ F. k9 b
回复

使用道具 举报

 楼主| 发表于 2017-3-19 15:33 | 显示全部楼层
mytomatoes 发表于 2017-3-19 12:23
2 L; T7 }8 n+ u/ e/ F内存不够?瞎猜的

# }- N# k" @: ]( A问题解决了。换了一片同型号的还有不同型号的都试了一下,都可以,只有那一片不可以,但是那一片烧录个别的测试程序也ok。很奇怪。小概率的事件遇到了。
# Z( C/ R. G6 U, \& }" ]我用的确实是小内存的。6 y1 w+ M& L  m
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-4-17 16:26 , Processed in 0.044271 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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