高级会员
主题
帖子
积分3496
阅读权限30
注册时间2016-12-21
最后登录1970-1-1
在线时间 小时
|
本帖最后由 davg1 于 2017-3-19 15:34 编辑 5 A6 }8 C0 a2 u e
+ ]5 ]& }5 A' y& |非常感谢各位。7 a5 E: m+ z/ m# \* u
问题解决了。换了一片同型号的还有不同型号的都试了一下,都可以,只有那一片不可以,但是那一片烧录个别的测试程序也ok。很奇怪。小概率的事件遇到了。5 |: _4 ~1 r6 q) U( T
正在研究屏幕显示汉字,还在乱码,图片是ok的。搞定了和大家分享。5 g8 V1 y+ ?) W2 R( I
# y2 [, E7 u) v6 S淘宝买的便宜货,在论坛各位大神的帮助下终于点亮了,可是还是有些问题。
! K: C' v5 H9 N/ ]' L+ k; C \刷图的时候其他未刷部分是白色的,而且出现非常明显的从上到下刷屏的样子,,根本看不太清楚,改了单片机的频率也不行,还是出现刷屏,只是整个过程快了很多。& w0 l( g4 P# O# t x
无法达到一直显示的目的。问题找到了,是单片机一直在重启。
& b! o1 R0 K0 F7 _4 M8 ]* _, T可是每次都是写入完图片的数据之后重启。如果只写入初始化不会重启。我在5v电源输入端和单片机输入端(3.3v)并联了100uf的电容,问题依然如故。陷入死结了。! N# U6 d7 n. ^+ `$ Z
我该怎么办呢?4 S D( e& D' d" O6 F# o; D# Y# {/ B
接线图如下。我在1117的输入输出都加了100uf的电容,还是不行。供电是用的5v1A的插头。3 e/ S0 c* \' j
t* N" ^: j3 p( J P9 t" I$ Z
( u% X' [/ C4 j2 L0 b4 c
9 c9 j4 r, ^) c6 N& ]
* Y i/ N4 h3 _; i# m' T如图,( j: ]) e6 J& H8 i8 e0 `5 Q* e
; j$ Q0 U# ?1 n1 h
0 ?/ P( ^% w* l* g- ]$ X+ b
4 n4 y/ U0 I: b% u Q
A7 _8 H W4 }$ Y/ R7 x9 [& L2 o
8 Q% N5 y. Y7 c( u程序用的8 r8 p7 t+ Z0 V$ j' H/ c
https://www.yleee.com.cn/thread-57727-1-1.html
6 H B5 d0 F* r8 d7 ]- T' m) A中wangke2010提供的程序。他的显示就很正常
9 |9 b3 k0 r/ x& ^! z$ {% m3 R% k! d
$ w) \6 ]9 t4 m2 N1 j: `请问该如何救呢?谢谢!!!!2 O3 X/ g2 r, X0 ^* ~
- unsigned char code gImage_bmp2[] =6 M5 F' v$ O# M2 M, _
- {
' d. X; {7 f4 v+ Y, ?- ?) [ - 0xFF,0xFF,0xFE,0x33,0xFF,0x80,0x01,0x80,0x00,0x00,
3 g# D3 g$ B% _. u5 b - 0xFF,0xFF,0xFE,0x33,0xFF,0x80,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x00,
+ ?; @: X" B% T/ a& R$ U9 j: E3 B. g - 0x01,0xC0,0x01,0x80,0x00,0x00,0x00,0x33,0xCD,0xFF,0xFF,0xE0,0x03,0x80,0x00,0x00,
$ x( f! k: z, I - 0x00,0x03,0xCD,0xFF,0xFF,0xF0,0x03,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xF8,% r" q8 H$ k! I7 {
- 0x07,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xFC,0x1F,0x80,0x00,0x00,0x00,0x00,
3 F. t- X" T# V( L# s - 0xCD,0xFF,0xFF,0xFE,0x1D,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xFF,0x81,0x80,
' k& V- C- j+ u3 L4 h+ f: D - 0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xFF,0xC1,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,
0 z7 s8 x! V9 Z6 `; u( F - 0xFF,0xFF,0xC1,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xFF,0x01,0x80,0x00,0x00,
S) M) w: m, W0 ~& u - 0x00,0x00,0xCD,0xFF,0xFF,0xFE,0x01,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xF8,
0 n H6 Y( ~4 B7 Z. o4 J5 c - 0x01,0x80,0x00,0x00,0x00,0x00,0xCD,0xFF,0xFF,0xF0,0x01,0x80,0x00,0x00,0x00,0x00,0 q( b. j' d+ y1 H
- 0xCD,0xFF,0xFF,0xE0,0x11,0x80,0x00,0x00,0x00,0x00,0xCC,0xEF,0xFF,0xE0,0x1F,0xFC,
L9 G* I; i V2 ]9 e5 N - 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,0x0C,. Q1 X- s5 T# H1 J, M. {9 Y) ~
- 0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xDF,0xFF,0xC0,0x00,0x00,0x00,6 ~* V' K' A6 N% O; o5 a* k
- 0x00,0x00,0x00,0x1F,0xDF,0xFF,0xC0,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
/ T+ C8 A8 x: E. S9 Q - 0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,
7 t: w5 c' [, Y - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x0F,0x00,0x33,0x3B,: k% B5 @% z3 S) ]
- 0xFF,0xF8,0x00,0x00,0x00,0x00,0x1F,0xC0,0x73,0x7F,0xFF,0xF8,0x00,0x00,0x00,0x00,
) p! y5 f4 z7 U6 c( f' D# v - 0x1F,0xC0,0x73,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x1F,0xC0,0x73,0x7F,0xFF,0xFE,3 N$ T3 p2 T- U5 H
- 0x00,0x00,0x00,0x00,0x1F,0xC0,0x73,0x7F,0xFF,0xFF,0x80,0x00,0x00,0x00,0x03,0xC0,
$ u8 A( W8 |, }/ ]( w - 0x73,0x7F,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x07,0x80,0x73,0x7F,0xFF,0xFF,0xF8,0x00,
9 e% F' L3 n. A- e" f% u - 0x00,0x00,0x0F,0xE0,0x73,0x7F,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x0F,0xE0,0x73,0x7F,
9 g) P" p! _* j% J - 0xFF,0xFF,0xF0,0x00,0x00,0x00,0x0F,0xE0,0x73,0x7F,0xFF,0xFF,0x80,0x00,0x00,0x00,
% m) ^4 D& l A+ s& u - 0x00,0x00,0x73,0x7F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x7F,0xFF,0xFE,
' _( g4 Z* @) K" O - 0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,: L* i' [3 {" s3 {- w# h$ n3 k
- 0x73,0x7F,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,! v9 ^7 j8 I. t- H; q, ~0 J
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,: a- W& U; V) b6 {% i% t
- 0xF7,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF7,0xFF,0xF8,0x00,0x00,0x00,
+ e9 B% u5 \# ]& r# D- e' S3 j" | - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
4 Z0 |3 p# G+ n - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,5 m5 n# i7 W7 B' `
- 0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,1 |' A0 A+ Z+ C) ~
- 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,1 D* p+ |# f) h- H% }+ c; U
- 0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x00,0x00,0x00,0x00,5 L+ \- y3 q5 ^4 b0 ?0 W0 E+ g
- 0x00,0x00,0x00,0x00,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,
) X0 _# i5 `) b+ Z0 i8 \ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x30,0x00,0x00,0x00,0x00,0x00,0x00,7 Q! Y2 Y% b" n4 q9 i) Y
- 0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,
" i/ X& G3 X9 Y& @+ K% O' m) o6 x - 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0xFF,0x80,0x00,0x00,0x00,0x00,
$ e8 b- n( b, e - 0x01,0xC0,0x00,0x00,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x80," V) \( X6 L* Z3 ]4 t4 N6 W1 x4 x% i
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,
7 V, ^: I5 a5 w! k v - };" D K8 ]8 w2 E! I- ^
- ) r: m* b2 |6 q( S2 @
- ; L5 V* v1 v4 n4 u
- /* GPM1306.c
* a- n' E8 r) ?/ Y- A - * Created on: 2016-10-193 Z7 O0 F! I, \' q
- * ┌─────────────────────────────────────────────┬───────────────┐
/ b$ {0 N% P$ Y* P, R - * PIN_NO : 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 18 K9 T8 _/ I1 R, y) g3 R" y6 j. n
- * NAME : BK-K BK-A NC SCL SDA A0 RST nCS NC VDD C1 VSS VDD C2 C31 C32 C4( A! D' r: |" n% {! `) E: S
- * CONN : GND VCC P1.4 P1.3 P1.2 P1.1 P1.0 VDD │ │VSS │VDD │ │ │ │5 r. ?* F) p j4 H: f
- * │ │ │ │ │ │ │ │
0 @5 f- Q. a+ | - * │ C1-C5=1uF 25V 0805 ─── │ ─── ─── │ │ ───. v7 i V1 h2 `: ^3 y* d9 U, `
- * │ 120x160pix ─── │ ─── ─── └─│ │-┘ ───' u& _. L4 B# I8 j! t
- * │ ┌──────────┐ │C1 │ │C5 │C2 C3 │C47 ]+ `! }% \# o6 u) C7 \
- * └────┤ R1=3R3 ├────────────────────────────────────────┴───┴─────┴──────┴────────────────┘
/ z- q2 D- s" t! }6 u - * └──────────┘
3 F: B0 d( q# A* ~' w" d - *==================================================NOTICE==================================================
: R$ h ?" f* _/ D - *这个程序仅供评估,没有任何技术支持。如有疑问,请仔细阅读压缩包中的PDF文件或者联系芯片/模块厂家。; U$ e; v+ d9 c& @! a
- *这个模块还有很多功能没有在这个程序中体现出来,具体请参阅压缩包中的PDF文件或者联系芯片/模块厂家。: p, u' c! F2 W- P
- *推荐使用TI的LaunchPad验证,如果使用别的板子/芯片,请根据具体情况修改移植源文件。( L) |6 k o! t4 T9 A0 X) F2 e
- **************************************************移植参考**************************************************
# m' U2 H4 R" C3 }" S D - *使用MSP430系列芯片可以直接使用或者修改一下脚位既可以。注意主频要和 #define Fosc 中定义保持一致。
' |4 l1 s7 ~; q/ K! \8 S* F - *移植至别的芯片请注意初始化IO和修改延时参数,修改脚位并注意void LCDInit(void)中有直接控制引脚的指令,需要一并修改。4 f5 S& k: l- i/ T
- *祝大家玩的开心。
' Q U) K; r& g7 x - P1OUT |= BIT1; 是将P1OUT倒数第二位被置1
* z- L1 G% B7 ^4 w' w0 G1 l: B - P1OUT&=~ BIT0 是将P1OUT最低位 清 0
% p3 [3 `6 q+ x8 J% h) a O7 r, ? - */' W# O" w( ?# Z7 I
- #include "config.h"/ s/ L4 P4 P# I( y! L. J/ u& [
- #include "Delay.c" * R9 G' B3 w, x* j# f
- #define GPM1306_nCS_CLR P12=0
2 P, j3 C( S; d( @ - #define GPM1306_nCS_SET P12=17 r- |- s8 Q- n) \
- #define GPM1306_RST_CLR P13=0
7 e: ? a& g3 N3 a - #define GPM1306_RST_SET P13=1
! ?8 X: X, z8 d6 c: d/ A3 X - #define GPM1306_A0_CLR P14=05 S8 E( s# N- l1 S# g, p9 _- H7 C
- #define GPM1306_A0_SET P14=1
+ C: V( L' b1 X2 [! D' E - #define GPM1306_SDA_CLR P15=02 C: V& |- N- p
- #define GPM1306_SDA_SET P15=1
0 P C+ m' A5 d( ~) V7 q - #define GPM1306_SCL_CLR P54=0% O0 F' j2 F& _' m; [
- #define GPM1306_SCL_SET P54=1
$ k" d! U: K \. F' N - " ]8 ~0 @6 x: K. }( C1 z
: Y( Q7 a! C, F8 B8 K& G' B4 G1 m- void LCDWriteCmd(char cmd)+ O% N7 C! A# ]3 `
- {" C- d) P3 {$ t) K
- unsigned char i ;
0 c( Y9 Z$ D( T4 V0 [7 Y - GPM1306_nCS_CLR; //使能芯片
1 B. r0 Q; v$ p0 f- S - GPM1306_A0_CLR;//写命令模式3 o8 a6 ]8 s8 I; @( O* M3 f3 c9 W
- for(i=0;i<8;i++)( S' G6 t' U+ x3 O O N) W
- {
! }. A- c* m8 j" w8 }4 a1 _ - GPM1306_SCL_CLR;
: C" F4 k' y3 v3 o; _3 O - if(cmd&0x80) //先传高位字节,后传低位字节 m! K; r8 r# I0 F0 |
- GPM1306_SDA_SET;+ y3 s4 O$ h3 ? w4 ~
- else
6 k, q+ ? f/ d3 p+ F4 @1 U1 [ - GPM1306_SDA_CLR;
" R& K+ U; \8 i/ M- g - GPM1306_SCL_SET;
' M- [) x Z) n' P - cmd=cmd<<1;+ P& T0 T- r8 Q: Z9 L" s; W& A- ]
- }+ N1 o1 @6 C& h$ l# C0 k1 e
- GPM1306_nCS_SET;
p% ], ?2 l, S V0 A - }
+ l. G: m- F$ z' b - void LCDWriteData(char cmd)2 u4 W9 m$ o" b/ x& R: {
- {
$ T/ C5 I% k8 i- h4 g - unsigned char i ; x- ~, K% `+ b) L0 Y6 L
- GPM1306_nCS_CLR; //使能芯片/ L. l* b' v8 J# C: \4 q
- GPM1306_A0_SET;//写数据模式3 i/ w1 g$ B7 H3 L: x; A8 Q
- for(i=0;i<8;i++)0 ~$ o3 D: s+ | S: K1 S" N
- {
' R; f/ D3 Y* N/ a4 ^3 ? s1 ^ - GPM1306_SCL_CLR;5 r/ u% h0 I$ z. d: Z6 H
- if(cmd&0x80) //先传高位字节,后传低位字节
% a' d: T3 I0 I+ r/ G" c/ U: X- T' H - GPM1306_SDA_SET;
4 i; y) a S/ f" h - else8 U4 e, H) ]. \2 F" u8 D1 c! x6 Y' w
- GPM1306_SDA_CLR;
3 S7 {: e1 i4 {) ]6 v3 a- } - GPM1306_SCL_SET;" ^7 p6 {0 h: Q$ c$ a8 o2 ]5 A( r- C! E
- cmd=cmd<<1;
) f& X( ~) h9 d6 p y4 V5 R9 Q B - }
" s8 J" a4 k: v6 w) u4 p - GPM1306_nCS_SET;+ a2 h! H% m% m! u. ^
- }
1 b' V. l# L* G+ m8 n$ m - //设置起始行列) Z+ j, k+ p9 @7 ~5 F! H8 B
- //ys为起始行,xs为起始列, ye为结束行, xe为结束列/ w `4 m7 H7 }
- //xe与xs的差值即字的宽度, ye与ys的差值即字的高度
# `0 w; Z$ n4 ~/ c - void LCDSetXY(char xs, char ys, char xe, char ye )
2 q# I" K: W( b, h: G - {
, a: V# p! }* s - LCDWriteCmd(0x2A); //设置列地址(横坐标)/ L9 E- c. ~7 _0 d0 V1 n b0 ^
- LCDWriteData(0x00);
2 \3 E; P+ l! S9 v2 v - LCDWriteData(xs);
& ~9 V, _$ ]% ^! { - LCDWriteData(0x00);6 t% s, c' u) o
- LCDWriteData(xe);/ Z3 ]4 G8 J% [# B8 d( t
- LCDWriteCmd(0x2B); //设置行地址(纵坐标)
$ `. u( p8 Q$ [( D: R - LCDWriteData(0x00);
/ ?, Q, s) ?: |, B3 {: O9 x - LCDWriteData(ys);/ W3 p' O u7 Q, l" [/ D
- LCDWriteData(0x00);
/ r' r, G: ]4 n* l h* V - LCDWriteData(ye);3 i! O4 ]2 @) d9 Z. f/ [
- }
) |7 l2 i( ?6 Y! }2 l - //清屏函数
+ E! w) n9 F* o* i3 m; S' f" a( P: k - void LCD_ClrScreen(unsigned char value)
6 H3 I$ i: |( N3 z+ w9 _8 s - {
, W3 T3 y9 d9 b% L% | - unsigned char i,j;
, W3 u) B% c2 k1 F: ^ - const unsigned char tt[]={0x00,0x49,0x92,0xff,};
$ _+ w- n0 F5 M - value=value&0x03;) u2 x6 [0 g* r' Q9 A0 n$ e4 J% g
- value=tt[value];
% L6 q+ L2 O+ f4 ~2 ~& r* w - LCDSetXY(0,0,53,119);
+ A- V% W2 d- U1 h: O2 \; ? - LCDWriteCmd(0x2C); //向DDRAM写入显示数据
' M9 o' a: `% f# p" o/ c3 @, m - for(i=0;i<120;i++)
7 _) U, J/ ] w+ e - for(j=0;j<54;j++)
$ M$ t, v3 S- w" O T3 ?% W - LCDWriteData(value);
; G6 \5 r7 p# t, ^6 L - // P1 ^=BIT6;7 A/ j3 d/ p1 B3 G2 k" |/ W( v
- }
. c1 _9 |& `9 v. v# i - void GPM1306_DISBMP1(const unsigned char *BMP1)
& C! D2 n* L* h* ]; h; K - {
& m+ C2 [8 Y* }) s) R. I8 O6 w+ { - unsigned long MCx8x31;; Y! U8 v. `4 y# R" i( M4 a
- unsigned char LINE_COUNT1,COLUNM_COUNT1,color1,t2;' j# w) x j" J5 u4 z/ K4 U
- signed char vaild_bit1=8;
! d3 q8 _6 C- o& l - ((unsigned char *)&MCx8x31)[2]=*BMP1;
( S+ @4 p( z" L3 i. B. V - BMP1++;
, G" P8 _3 H. V1 Y; l' K6 U) w4 o+ A - LCDSetXY(10,0,36,60);
/ k' V- s' w$ u) t5 G - LCDWriteCmd(0x2C); //向DDRAM写入显示数据! Y7 x J* q' [4 c
- for(LINE_COUNT1=0;LINE_COUNT1<120;LINE_COUNT1++)
- ^. i: j+ E0 L - {% S: S9 t2 Y& [+ [% V! B* H( {# ^& S* A
- for(COLUNM_COUNT1=0;COLUNM_COUNT1<53;COLUNM_COUNT1++)//160/3=53....1: Q0 C4 ^ K/ l" [
- {# \! u6 S8 _* R) S V% p
- if(vaild_bit1<3)
6 _" N- S: i% l0 o( C - {
& f8 N& R% g1 [: f! i: x - MCx8x31=MCx8x31<<vaild_bit1;
9 U' Z! V S2 m - ((unsigned char *)&MCx8x31)[2]=*BMP1;! f$ M2 x( D- h# R2 Z
- BMP1++;
' G, E# \) L6 H1 N0 t/ \7 t - MCx8x31=MCx8x31>>vaild_bit1;
9 P; z/ X: |5 d - vaild_bit1=vaild_bit1+8;
- D0 F+ D4 i. }9 n( l4 O - }
0 `4 u2 U: H: o/ N" @9 t5 N - color1=0;# E1 z, `* _9 ^; _; k& |
- t2=((unsigned char *)&MCx8x31)[2];' b; V2 ]9 |+ i8 T+ A
- if((t2&0x80))* X/ _/ E" T& r8 K
- color1=0x03;
+ K \1 J( [3 M. a - if((t2&0x40))
: k# w; {# A; ~! t - color1=color1+0x1c;
; k4 D( b7 S# N - if((t2&0x20))
9 I- r$ W& `/ N8 c5 Z - color1=color1+0xe0;
2 Z; G" d5 t% g5 D, Y - MCx8x31=MCx8x31<<3;7 ?. C3 G B. |) O4 X
- vaild_bit1=vaild_bit1-3;% ^: [/ X4 r4 }& j6 E
- LCDWriteData(color1);
% u8 ~7 G/ F; ^/ o - }
a3 x- J, |8 E K6 T* T/ t I8 w3 S' n - if(vaild_bit1<3)
+ q) j/ f! b) ^$ B# O! F - {) ?! \* i( W: l. h5 A3 g0 |
- MCx8x31=MCx8x31<<vaild_bit1;& {( j5 i: X* k7 ~
- ((unsigned char *)&MCx8x31)[2]=*BMP1;% T9 W1 M z+ g @$ Z2 W9 w: F0 O
- BMP1++;
" p9 J1 h5 J5 n! \ - MCx8x31=MCx8x31>>vaild_bit1;
/ {) u; j' |# n Y2 F8 D+ }6 f+ p - vaild_bit1=vaild_bit1+8;
}- M/ p$ X$ E; y$ d - }
. B1 O: a/ j1 A - color1=0;3 _" O5 j2 x+ y9 i
- t2=((unsigned char *)&MCx8x31)[2];' t% Y7 _9 ~1 D# z' @+ I0 v
- if((t2&0x80))
- F. M1 A2 |) v( ?* E+ S - color1=0x03;8 h" y* J4 P( R
- MCx8x31=MCx8x31<<1;
' Q( Q6 [3 R5 o - vaild_bit1=vaild_bit1-1;
1 q% j) a: Q' R% I; o - LCDWriteData(color1);
# J' g+ s& x% D/ F* _ - }
% h$ y4 K; j: N) A' X. i. L: w - }
1 r0 V! q2 K6 ?% v - //初始化函数# U/ k% |9 V; W: T2 |
- void LCDInit(void)# W p# K* ? y% s5 U
- {
/ @3 r, j6 i. ? - GPM1306_RST_CLR;
8 a, l# @. G; ^1 T/ q! C( y$ V - delay_us(20);
1 Z1 `. e% Q+ I: z - //__delay_cycles(Fosc*0.2);//Delay_ms(20) //延时20ms
- a9 C a7 d+ Y5 z3 P - GPM1306_RST_SET;
+ F3 y4 z4 P7 R+ K0 z1 [7 B - delay_us(40);+ a* n1 ^" k2 ?. q* z: H6 i& C' `
- //__delay_cycles(Fosc*0.4);//Delay_ms(200); //延时200ms2 |5 p8 [# o7 ]: o+ J8 S8 J g
- LCDWriteCmd(0x01); // soft reset
5 I# T0 X! W3 B - delay_us(40);% j) d- V0 M9 H" p h9 i9 y6 w1 C
- //__delay_cycles(Fosc*0.4);//Delay_ms(200); //延时200ms5 U" o: F W4 p0 `
- LCDWriteCmd(0x11); //Set power save mode:Sleep out mode
; q! k: P. {$ ~' D9 d* H - LCDWriteCmd(0xC0); // Set Vop///# U! L) e' m3 H5 s, i% x! E J5 X
- LCDWriteData(0xf0); // Set Vop Low 8bit 30//全屏太黑或者太白调整这里
/ q) H+ S- P! `+ P - LCDWriteData(0x00); // Set Vop 9th bit(Total 9 bits) 01//全屏太黑或者太白调整这里 B, ^& R/ u* L F- J
- LCDWriteCmd(0xC3); //Set BIAS system
) S) S. n6 @; v. ` - LCDWriteData(0x04); // 03: BIAS = 1/11 0-5
( n& ?/ b: b q. X! Y2 o- `; Z5 q - LCDWriteCmd(0xC4); // Set booster level
2 A/ V7 [- t# I - LCDWriteData(0x07); // 07:x8 Booster2 H, ^, F2 g& [
- LCDWriteCmd(0xD0); // Enable analog circuit; G) z5 C k) z4 Y' X# {
- LCDWriteData(0x1D); // Enable analog circuit
' y+ k" v6 e( n5 D4 O7 ? - LCDWriteCmd(0x38); // Set display mode: M=1: Monochrome mode
& B. \' d7 f) P8 k8 ~. X - LCDWriteCmd(0x3A); //Enable DDRAM interface* }. @" ~. z9 z
- LCDWriteData(0x02); //RIF=0: Monochrome mode & 4-level gray scale mode
8 ^$ d6 u/ Q' h5 e9 ^ - LCDWriteCmd(0x36); // Display Control! c3 n; a8 k, g1 c7 ~
- LCDWriteData(0x40); // MY=0: COM0-COM159/MX[1:0]=(0,0):SEG0<-SEG383; S+ j0 Z' l7 w7 E# [
- LCDWriteCmd(0xB0); // Display Duty& o2 }+ ?$ v) q, _
- LCDWriteData(0x81); //Set display duty DT=0x9Fh(1/160) DT=0x81(1/130)
* Z6 F- c, V( r8 H/ j7 a& d - LCDWriteCmd(0x20); // Inverse Display:INV=0: Normal display! a, _! j% }- c$ p# f( P! `. U
- LCDWriteCmd(0xf1); //Frame Rate(Monochrome Mode)( g# x9 `/ S7 D4 d3 k3 D& q
- LCDWriteData(0x15);//Frame Rate 92.0Hz+ e0 R8 @! a) V2 G- G" S
- LCDWriteData(0x15);
1 y! b7 t0 o( t3 d6 } e - LCDWriteData(0x15);& @/ l) u/ r: D, _8 z3 F3 U6 ~3 h
- LCDWriteData(0x15);
* K2 e a1 W6 p& Z ]+ F - LCDWriteCmd(0xb1); // First Output COM
( }- ]8 U, h1 y w) J# Q5 u - LCDWriteData(0x00); // Set first output COM FC=00h(Start from COM0)' B' l1 n( f3 I I: \& y- X
- LCDWriteCmd(0x29); //Display ON& q5 Q. ~1 ~, q3 p7 W$ P
- }
9 x- j4 u7 N) G' J - . n( X+ V$ G, ?/ h
- void main()' V C* J' o5 y/ g
- {
: W0 u# ]) j' B. `
/ C9 \: k2 w: M8 n9 O2 T8 f& Z- LCDInit(); //初始化液晶
6 I& N2 q" h3 A6 z2 l, z/ |& d! z - LCD_ClrScreen(0);
! _7 k8 {+ K \7 h: l3 a4 h - delay_us(10);0 Z' g# o: b! h% W% i1 F, A3 `
- LCD_ClrScreen(1);
4 L) w# W9 a. A% G4 v - delay_us(10);% [! w5 z1 [: d, a" V
- LCD_ClrScreen(2);% h2 ?, x1 F- y, Y% T- G+ ?
- delay_us(10);
3 {6 }) l5 }: H3 { - LCD_ClrScreen(3);
( l& \9 V$ B5 e - delay_us(10);
3 i; W6 Y% x3 d - : z' h0 M9 c- l
- while(1)
, R" z5 j" ?4 }9 Z - {
. [/ S; @6 l2 i) N - // GPM1306_DISBMP1(gImage_bmp1);
: A: O. n+ K9 x+ j1 V5 t - GPM1306_DISBMP1(gImage_bmp2);9 K% u- c% q" D5 Q) u' _
- 0 z! w0 o* H: u' {- ?4 @/ H% d
- ! g* b+ F8 T- t( E
- }
/ [9 k: e6 Y' h, x* R# ~& R - }
2 \1 L4 M4 o V' Y5 A5 Z - ; h! q; c$ s. M9 v+ l* Q R% ^
复制代码
+ b" w& q# p( W. F) Z* h* d) `; l, a" V; ]/ v' Z6 h
! E4 p" {. g6 F+ R. i# a% `, R' g; Y& }, F. G+ p0 Z
( z7 t4 c% k4 ~/ a0 e. |
|
|