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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
51单片机学习,操作1602液晶2 n2 B( d& E1 h
TX-1C板8 Q) t' L9 K+ i( a  W( R% p. N
1 ~" j% V& n' C" n1 L; b" A: b
操作并行模式的1602液晶
6 O# Y$ ]7 T+ Q2 i# ]液晶第1,2脚是gnd和vcc; O% ~% v4 Y& r& p; x2 d
第3脚是对比度调节
) D  S, b) ~' w7 ?0 P第4脚是数据/指令选择端RS
+ o: ~0 s8 N. J0 x第5脚是读写选择端R/W,我们这次只写不读,故直接接地' z& W$ I; Z+ j- u8 @8 f* I
第6脚是读写使能EN, e6 ]0 F" D7 E4 ?7 G
第7到14脚是数据口,我们接STC89C52RC的P0口$ T* a0 x; b0 C
第15,16脚是背光源
8 t- Z! V7 t$ f- X; \1 u; N" t
* G, ~6 F5 x( t( y
最终液晶显示5 C) u6 ~' p6 o6 @2 R- ]4 m
Tom is playing  the TNT game!

9 C# Z- p6 B1 M; z. r5 U4 Q6 T
# ?& U) [! f/ [1 d7 V
! I+ c6 H5 l! u3 l. ?! v; X
    #include <reg52.h>  
- _+ h4 O. I+ h. e3 _9 C5 H; E2 T    #include "MY51.H"  
1 n+ k! v5 J) t* L5 Y$ d& {- `" h, F6 e
    void write_data(uchar dataValue); //写数据  
6 B" d" }" s/ j1 @/ K3 o: T5 w    void write_cmd(uchar cmdValue);  //写指令  
. R1 m" G3 r0 b1 I$ b! R  t  n9 R  t) ^% h5 f
    uchar code tableLCD1[]  ={"Tom is playing"};  " j5 _  _* ]( \
    uchar code tableLCD2[]  ={"  the TNT game!"};  
, N9 L; ~- n! ~5 ^; d# k2 o5 o, r
. f% S4 r% y  p+ x+ I; E+ L. x' K$ ^! U    void lcdInit()      //初始化函数  
* G- ?  J& A8 K3 ^7 l0 t& |    {  ; X+ m+ M. D0 \6 V5 X
        dula=0;          //  ( p$ t, B# U, [  [2 ~4 F. o
        wela=0;          //防止数码管误显,浪费电流  
, x' k  o$ h% G9 C. T        lcdEN=low;       //给高脉冲之前的状态  
; F- i3 n: S8 L        lcdRS=high;      //初始给高电平,其实上电默认也是高电平  7 G7 u5 K* a& F: [. [! {  Q
        write_cmd(0x38); //液晶显示模式初始化  
" h; ?0 _. @8 w        write_cmd(0x0c); //打开液晶,不显示光标,光标不闪烁  % h1 M3 d7 I! x' L$ z8 M  t
        write_cmd(0x06); //地址指针加加,且光标加加   1 d3 Z  z. G7 z( W4 W4 s, ?3 Z2 B
        write_cmd(0x01); //液晶数据指针和显示清零  
1 x* W! |& t9 {4 E% w    }  ' O3 m% u' Z; k- ~# F

2 S( d0 A/ l+ i    void write_cmd(uchar cmdValue) //写入指令  + C1 Z+ {; p# ^; n
    {  # D( ^$ Q  D; ^3 v8 G+ @: s9 R
        lcdRS=low;      //刚上电时是高电平,低电平时是指令模式  ' n2 h/ Z1 `. u3 c  Y/ h
        P0=cmdValue;  - Z6 X( `' y6 m/ U
        delayms(1);  
! i* ~8 l; G# \1 m. c5 L, d# \        lcdEN=high;    //一个高脉冲把数据读走  6 B$ y/ j! |* J- ?' V9 q0 R8 n* t
        delayms(1);  7 d3 z2 \# P% l, [  g
        lcdEN=low;  
" T2 q- e  C& u5 H3 n    }  
  c& p6 i* s! f$ s. Q& a% X% F0 ?. F* w
    void write_data(uchar dataValue) //写入数据  
( ]( L: K/ B' ]6 v    {  ' ?! _: x7 r4 V+ K3 N0 G4 j/ y. H( w) H
        lcdRS=high;     //高电平是数据模式  
$ w1 @4 \' [+ Z$ f0 o        P0=dataValue;  
: e( J- ?( S& a( S        delayms(1);  & ]+ I; ?. |1 V
        lcdEN=high;      //给一个高脉冲  
- d" B4 W5 `3 k" ]5 y        delayms(1);  
: b* L2 ^' A1 d& G        lcdEN=low;  7 d1 f4 E) |9 Y$ N& ^
    }  ) J. o, f6 P' Y
: s* x4 C. Y2 B. H3 T( z! x
    void lcdShow(uchar* pValue) //液晶显示函数  
2 b6 [( M/ a4 V8 ]* V/ |& O/ R    {  1 o5 K' p! W3 n2 R
        while(*pValue!='\0')  
0 N* b6 H, x+ m/ n/ ^0 ^        {  
+ K# H4 o- p6 o$ ]* o9 Y$ g$ \1 V            write_data(*pValue);  & w% F. J" K- C; q. C! Z9 b
            pValue++;  % e( K' Z- x' C: p  [0 P
        }  
2 w$ }( ~4 U3 m' U    }  
8 W" |# N5 p$ s
. ~6 k* ?, V7 d9 `0 r5 h    void main()  $ U# E0 _6 v1 K: [- @9 l
    {  / c  Q9 o7 l8 O& z/ K" {
        lcdInit();               //初始化  
- l1 s) o- U$ L  |        lcdShow(tableLCD1);  //显示第一行  
8 @3 J7 k5 f, V2 ]) _  G+ U        write_cmd(0x80+0x40); //重新设置数据显示指针  9 A9 |6 I, X& M% a+ V$ e
        lcdShow(tableLCD2);  //显示第二行  
% K5 O( N. y7 R, X- E9 k        while(1);  
, p8 U3 j' j1 l/ r; @    }  ; O- ^/ V) ~# m& A/ h0 B/ u
$ B% Y- A% Q' r0 s- [0 O* R* c+ u/ g

0 \5 F! F: }- S- j9 S, c
- M' ^3 r; B4 D& Q3 F; `! u8 K( H  ?4 T/ L" w% A% M3 n! a- k
游客,如果您要查看本帖隐藏内容请回复

3 v) U& k$ K0 W" h) @# {4 b
* X& \7 k9 n! b# ~3 B) ?

! s6 t" }! R3 ^( k3 a
( k) `/ y: F2 V; M# D  t, n
7 S" C/ i2 k0 S3 |% m5 t  ]$ [( w
& H( V3 _/ p$ e- A* F
4 h1 {2 Z# G3 [" O; h
& N+ Y+ H4 b$ y4 F  v! t4 T/ L0 s
% b( J6 l+ s- l) d
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-3 15:16 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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