找回密码
 注册
关于网站域名变更的通知
查看: 385|回复: 1
打印 上一主题 下一主题

51单片机学习,操作1602液晶

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-16 14:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
51单片机学习,操作1602液晶- A- _" W& x  |1 z1 j
TX-1C板
+ q$ c& `& e2 O6 g/ a5 B0 ]
+ ]: j& k+ _. a+ y操作并行模式的1602液晶
8 _0 k( `* V' V8 s- d4 Z6 u8 l  m液晶第1,2脚是gnd和vcc* L9 A& n( P6 Q" ]1 n
第3脚是对比度调节
4 U. X/ _; l3 V. x8 T第4脚是数据/指令选择端RS7 E7 L6 l! [( X7 T% S. I
第5脚是读写选择端R/W,我们这次只写不读,故直接接地
& x' l/ Z# J& Q% T第6脚是读写使能EN/ O! }/ p& S. M
第7到14脚是数据口,我们接STC89C52RC的P0口
/ b/ t; D& K; n! S  `第15,16脚是背光源

  f6 K6 V; J" J/ N: T9 ^% V8 C+ z1 l0 J( _1 Q! g( F- B
最终液晶显示; Y5 i* a6 w3 x- U5 C/ K
Tom is playing  the TNT game!

- |3 d4 r/ g; l3 Y' V5 U6 X% y; m' r" ^4 r$ }8 {; Y5 G
( H" m( ~+ }2 g" b% a
    #include <reg52.h>  
& Q6 }7 W) d) {$ {8 I5 A    #include "MY51.H"  
! o4 {7 J+ h. j/ D4 ^# @% w7 ~% K& W* _
    void write_data(uchar dataValue); //写数据  
) }5 U! \1 T8 ~1 j    void write_cmd(uchar cmdValue);  //写指令  
, |7 h) Q  y; X7 u2 w+ ]$ A& z' ~) d& b  V4 S5 Y4 f1 h: ^
    uchar code tableLCD1[]  ={"Tom is playing"};  : {: c) A& G4 U! i! b7 {) R
    uchar code tableLCD2[]  ={"  the TNT game!"};  
8 ~6 s* y5 `& `# i& C7 c& J  u5 s% d' J& r; h- W. t. K' c+ _
    void lcdInit()      //初始化函数  & f! Y- q* E- z$ j  E
    {  
3 j6 M' o, B( R/ U5 b        dula=0;          //  
1 l/ I  w6 t& Z3 n        wela=0;          //防止数码管误显,浪费电流  $ N+ L& I7 q/ I0 j7 q) ]& d
        lcdEN=low;       //给高脉冲之前的状态  / ~6 ?1 n3 m% U+ e( b
        lcdRS=high;      //初始给高电平,其实上电默认也是高电平  
- \4 N! Y2 S1 A7 X7 i        write_cmd(0x38); //液晶显示模式初始化  
/ Z: [& k! D( e6 V, \6 D+ U        write_cmd(0x0c); //打开液晶,不显示光标,光标不闪烁  
5 N8 U& }: z- i- }4 a, K, V2 X        write_cmd(0x06); //地址指针加加,且光标加加   ' \% F: V: W. k- u9 R
        write_cmd(0x01); //液晶数据指针和显示清零  
" i  B5 M8 E3 S9 P3 y' r! Y    }  $ C8 q2 N2 j) H3 l! d& z7 y4 D

7 N: V5 V9 j1 |" `3 ]    void write_cmd(uchar cmdValue) //写入指令  3 |  c- E7 E2 |% e
    {  
9 s3 S- o' p/ r2 w        lcdRS=low;      //刚上电时是高电平,低电平时是指令模式  ! C8 D2 f) X* I7 \
        P0=cmdValue;  $ L+ y6 O& Y  [( P- Y) t6 q3 a
        delayms(1);  
' C' ?/ L" y: W; G% A        lcdEN=high;    //一个高脉冲把数据读走  
* L/ ^& R4 E3 V/ Q5 Z, t4 O: \2 u9 k3 Y        delayms(1);  % I( {6 c& o5 P' b1 C7 d1 {( u
        lcdEN=low;  
+ X+ Y2 \. L3 l( |( y' K& S    }  ) n& G; g& N, r
) q2 {+ w+ A1 X* h  @/ n8 y' f+ Q& i
    void write_data(uchar dataValue) //写入数据  
. \. R" @: k( g    {  . x  @6 \( O5 U6 S+ [' m
        lcdRS=high;     //高电平是数据模式  
2 h! b: C- E: p+ x% f        P0=dataValue;  6 N; E" x: K+ q2 U' i1 d: m
        delayms(1);  0 K, K' x1 ?* u& j
        lcdEN=high;      //给一个高脉冲  ! A* M) {1 A  l" a4 v. e" ^; w! q
        delayms(1);  & j* E0 ~; X/ P. @: a3 `5 ]" P
        lcdEN=low;  + K8 E# t) ?" r5 j3 G
    }  
5 l9 N& q4 R" j2 [9 F: d/ U- s" m( X; G
    void lcdShow(uchar* pValue) //液晶显示函数  
, L- ?& X" j  C) Y% t    {  " K; t" r3 L/ j& k+ Y4 ^0 a
        while(*pValue!='\0')  
' x' ?6 h' z( C2 }9 ~) E+ _% p        {  
7 d1 g# [$ V7 l7 U! u            write_data(*pValue);  ; _! Z* W0 k7 z' n) a2 N$ @
            pValue++;  
( q) _9 U- m/ R) g5 }- k; C        }  1 m, q, e& F& O/ C9 _
    }  + f6 z% l, `3 ^
# X: \8 h! w" s
    void main()  5 ^" A9 O) K8 p+ `# R. ]9 _
    {  
5 ~" l# }% @& U5 j        lcdInit();               //初始化  
/ a5 o/ g% w, |; |1 B        lcdShow(tableLCD1);  //显示第一行  
8 H, V. o! Y8 ?& |1 e! K/ A. r5 _        write_cmd(0x80+0x40); //重新设置数据显示指针  
& D3 c; L* i; d' @% T        lcdShow(tableLCD2);  //显示第二行    |: v7 ^& F) E) G
        while(1);  ) f: e4 a9 E8 B! A# H9 }
    }  
7 n  {. a# M/ x' O
) H! ~9 _* K* l( }2 {9 ?2 }% x1 P% |2 i8 o7 M& F
9 r( _7 t$ M7 E  P# t8 S8 [
. \& Y5 A# \- l. p! W4 y. p
游客,如果您要查看本帖隐藏内容请回复

1 G" h  t2 _* _
( p  `: ]' M9 Y3 e6 E8 ^

# d) ?4 Y& T! _
* c  f. u7 [- w$ _* m: \% l7 M
- N! O. y  ^) Q) h$ ]7 Z
) t+ s, g! S6 y! y( h
% [  _2 m- M5 O

- }0 q9 y* r2 [( a; V
& T  Q9 j* I! y* U9 ]! F% |
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-28 07:00 , Processed in 0.093750 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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