你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32驱动LCD5110 V1.2 (2种英文字体+2种中文字体+绘图)

[复制链接]
caizhiwei 发布时间:2015-1-14 22:19
本帖最后由 caizhiwei 于 2015-1-14 22:21 编辑 ! j+ f% j: T+ D- F4 e

9 r0 I4 \3 u1 h5 R这是很久以前写好的,一直没有贴出来,希望朋友们能直接用上,你也可以在这个基础上进一步完善!
5 k& o2 u) E  J1 @5 ]( w1 g以下是部分参数说明:
% q$ m7 D' t0 }2 z●84x48 的点阵LCD,可以显示4行汉字,每行最多7个
4 a0 x1 J0 H" M- C- T- n●PCD8544的通信协议是一种没有MISO只有MOSI的SPI协议,如果单片机有富裕的9 f5 ]0 Z7 W$ _7 ~4 ~
SPI接口,也可以利用硬件SPI,(如AVR单片机的SPI、MCS51 的串口模式0等)7 j) \; G0 r! h# @8 u( R* {
,传输速率高达4Mbps,可全速写入显示数据.. ^8 v$ h& g+ y6 f
●可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模
0 J) R4 P* F" C/ H 块固定到印制板上,因而非常便于安装和更换。3 `* J$ v: {8 I5 H+ {' v6 j
●LCD 控制器/驱动器芯片PCD8544已绑定到LCD 晶片上,模块的体积很小。
1 m  ^% F1 ^* c. }% P' k●采用低电压供电,正常显示时的工作电流在200μA 以下,且具有掉电模式。: {% K: C4 q" w
●编程中的数据要+0x30变为ASII码才能正确显示。
; k1 N! \1 p; n5 Y- ]6 z   额定电压:+3.3V        
. D' ?, k7 Y# k! ~% i        display : 全屏6行(6个page),每行14个
; |) Z* U" y# M4 }4 M" K( K" v        Map     :    ______________ X (0~83)1bit/X
/ Q: ]) q) R) V                                 |$ Y: a+ O+ J4 l4 U- e! ^
                                 |
, n2 i2 b" j2 ~4 i# d5 q                                 |4 v1 R( t% Q  J" ~; }
                                 |. x1 X. ]( n, y# ?! s* M7 p
                                 |% E: G' w2 U  J/ C& H4 s0 V
                                 | Y(0~5)8bit/Y
# F; _8 y: W) a; I
% {- G$ m8 d4 L; F! s

4 L1 t+ F# a# `4 V" m, g0 v/ ~  V1.0     完成6X8字符显示. `3 |$ S! v' |( J3 f7 C
  V1.1     新增汉字12X12,16X16显示功能
5 a# [5 K' B) I6 z" {+ j, T, w5 R1 N5 y) o- V$ H0 k7 f
  V1.2     新增8X16字符显示功能+ L8 R9 V  V1 f, k! M* f
///////////////////////////////////////////////////////8 K" d5 T6 s* H- e  G
//------------------------------------/                                 //6 @% l! u2 u( w* w; {
// SCE    ------------PA5  //片选                                         //
! }" `2 j+ T5 @9 I// RST    ------------PA4  //位选                                         //
- @1 q" z. j' U//  D/C    ------------PA3  // 1写数据,0写指令                 //# \9 l% _2 Q; q/ |: }; c- k0 z
// SD     ------------PA2           //数据                                 //4 v+ n  L, L8 g) u. V" U
// SCLK   ------------PA1           //时钟                                 //) U; k+ c1 X2 t1 @6 \& [
// LCD    ------------PA0      //背光1 l" X0 h6 b" J' Y6 x* h. f
                                         //4 s7 K1 h$ Q" Q) P: V$ \. ?
///////////////////////////////////////////////////////
4 {' x9 [5 l; a" I& P0 `& U* _6 A' ]5 r
QQ截图20150114221510.jpg ( x- w# H. b" T

4 I0 m/ \( i- S& f #define sce0   GPIO_ResetBits(GPIOB, GPIO_Pin_6)  //片选
6 `; n$ O: |, }' s6 J #define res0   GPIO_ResetBits(GPIOB, GPIO_Pin_7)  //复位,0复位  N7 I, T8 s4 ?8 S) z2 h
#define dc0    GPIO_ResetBits(GPIOB, GPIO_Pin_8)   //1写数据,0写指令
6 S5 Y( o+ o" M1 @: N #define sdin0  GPIO_ResetBits(GPIOB, GPIO_Pin_9)   //数据( z" `/ t, V! P( L6 I& ]* |, b
#define sclk0  GPIO_ResetBits(GPIOB, GPIO_Pin_10)   //时钟
( J* C% H( d+ B! `! ?% a8 @/ C4 x/ b. V

& M9 D: u! u9 \# I #define sce1   GPIO_SetBits(GPIOB, GPIO_Pin_6)  //片选: L  W! m  c' }, b1 o
#define res1   GPIO_SetBits(GPIOB, GPIO_Pin_7)  //复位,0复位" v6 H- q3 x- d. ^0 {
#define dc1    GPIO_SetBits(GPIOB, GPIO_Pin_8)   //1写数据,0写指令
( D0 U" b' Q! ^. } #define sdin1  GPIO_SetBits(GPIOB, GPIO_Pin_9)   //数据' y( _. k- e' s( X: H; I; I
#define sclk1  GPIO_SetBits(GPIOB, GPIO_Pin_10)   //时钟4 v( ^0 n9 C8 A" e1 K  B9 f

" `$ B4 j3 C1 d1 [; V0 r
" b6 v& K$ W6 _
// const unsigned char Font6x8[][6];        //用于main.c中调用
% J; _$ P/ R: o; |( r/ p// extern const unsigned char Font12x12[];% I% d1 E1 B' a: `9 A4 d
// extern const unsigned char Font16x16[];
6 D6 ~4 X* e  \. U9 ` extern const unsigned char  LogoBmp[];
' m8 j7 R1 U- \& E6 ~$ h0 F            - t' q3 W" _/ g0 v$ a3 `' s% l7 o
void LCD_WriteByte(unsigned char dt, unsigned char command);
! r4 G  u0 }& I% l( a7 i void LCD_Init(void);$ F5 T, F$ v' k1 F6 I1 W  F/ u
void LCD_Set_XY(unsigned char X, unsigned char Y);
; J; j2 J+ ]5 W) @ void LCD_Clear(void);
' i1 u, {- Q% j7 ^) i% T9 B3 V. h, {6 ]+ u

. j1 ~/ z% i! r. t/ Y void LCD_WriteChar_6X8(unsigned char X,unsigned char Y,unsigned char c,unsigned char reverse);
/ p0 V/ P! e! ]9 p1 l/ Y! ] void LCD_WriteStr_6X8(unsigned char X,unsigned char Y,unsigned char *s,unsigned char reverse);# a2 p3 u) @* b- L9 f1 x
void LCD_WriteChar_8x16(u8 x, u8 y, u8 c_dat,u8 reverse);
( D; e  F& e+ F  E( ~ void LCD_WriteStr_8x16(u8 x, u8 y, u8 *s_dat,u8 reverse);6 E# j# m5 M# v( F9 x. K+ u
void LCD_WriteNumber(unsigned char x,unsigned char y, unsigned long number);
& h6 }/ I- u1 T3 I6 M void LCD_WriteChinese_12x12(unsigned char row, unsigned char page,unsigned char start_with,unsigned char N) ;
3 G" `5 @1 c0 q+ A$ Z) l void LCD_WriteChinese_16x16(unsigned char X, unsigned char Y,unsigned char total,\
6 ^1 }8 m* X, {/ c; Z4 \: v                                                unsigned char start_with,unsigned char reverse);% |" t  \9 K8 k+ }0 z% N
void LCD_DrawBmp(unsigned char X,unsigned char Y,const unsigned char *map,\
7 \0 n( t2 k( O' C2 Z( ]* C- ]) f
                                unsigned char bmp_x,unsigned char bmp_y);- s+ `+ v) p0 f9 b
MDK工程源码下载:; B/ X( N0 |- L
LCD5110驱动V1.2.zip (331.88 KB, 下载次数: 43)
收藏 1 评论8 发布时间:2015-1-14 22:19

举报

8个回答
caizhiwei 回答时间:2015-1-14 22:22:39
IMG_20150114_211807.jpg
caizhiwei 回答时间:2015-1-14 22:24:54
再来一张反显:! O+ l" \8 K( ~) G  b% v

: g6 ?) e- ^! o! W 212112g66gch02z6zyhc2n.jpg
fjjjnk1234 回答时间:2015-1-15 10:53:01
感谢分享!顶一个!
moyanming2013 回答时间:2015-1-15 12:10:37
caizhiwei 发表于 2015-1-14 22:24
+ m- l& H3 P, y0 N- t& q  H再来一张反显:

. T1 O. m6 E- T这个有反显吗?直至倒过来拍张照?
党国特派员 回答时间:2015-1-15 12:37:34
3.png
caizhiwei 回答时间:2015-1-15 12:51:16
moyanming2013 发表于 2015-1-15 12:10
& I' S% M# {4 @. o; F这个有反显吗?直至倒过来拍张照?

5 H# Q5 \1 |5 j4 g“Test”字符就是反显的啦,字符和汉字都有反显的
子曰小玖 回答时间:2015-1-15 12:52:40
谢谢分享
caizhiwei 回答时间:2015-1-15 12:52:45
/ o: u/ }+ k' C0 w8 O+ L3 T! }5 z
不客气不客气,以后估计不会搞这个屏了因为停产很多年了,玩玩还是可以滴

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版