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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
51单片机学习,操作1602液晶
; D8 n) I  `0 F# u+ gTX-1C板
/ |! E# |! b& A* l! u  F: W3 E& R1 o# e/ a6 O* T
操作并行模式的1602液晶4 A2 t4 @- f: D: `0 u" p
液晶第1,2脚是gnd和vcc5 `: o$ t1 g* E$ D5 Y
第3脚是对比度调节
5 u* r/ ]' s# W% p第4脚是数据/指令选择端RS
# M1 T' a" c  D* C$ l; A第5脚是读写选择端R/W,我们这次只写不读,故直接接地
, ~! Z) \6 L0 q2 a: t5 e+ {第6脚是读写使能EN
7 C* T; e7 a# O% X5 R% q) x第7到14脚是数据口,我们接STC89C52RC的P0口
6 h8 X: |2 L( e* Y$ G第15,16脚是背光源

. H$ [0 O, d6 k! a( Z4 H1 A# H1 S: [; u& z+ w5 v
最终液晶显示
! V2 B$ ~6 ?# d  z: \; v) [  WTom is playing  the TNT game!

9 `) l& z# m6 Z
; P4 g+ B1 U+ p/ }* t

* m2 d6 F' h$ U3 y5 k% q9 n    #include <reg52.h>  1 n( g# x" [1 ]9 g
    #include "MY51.H"  
  [$ o8 R* V# J. ^2 e' f+ p; I9 \- l" U5 J# `9 E6 A% B; ?
    void write_data(uchar dataValue); //写数据  ) ?# H8 m) y" y% Y7 D" L, t
    void write_cmd(uchar cmdValue);  //写指令  " I! O9 S! O' i
3 F8 m( g3 h% X
    uchar code tableLCD1[]  ={"Tom is playing"};  5 A' ~3 h4 X% H# r) s
    uchar code tableLCD2[]  ={"  the TNT game!"};  
# p5 D) ~# j9 ]9 R' v$ A- s& U& H. J* s' g9 I( q7 o. p
    void lcdInit()      //初始化函数  3 X, R- O. R; s( Y
    {  / w# Y. D6 m! F
        dula=0;          //  * C0 W* U7 L3 x3 _3 b% A& M) G1 v
        wela=0;          //防止数码管误显,浪费电流  % H4 N, {" B! V" x4 r1 a
        lcdEN=low;       //给高脉冲之前的状态  ) |! m7 e0 {: J' ^2 _) U+ C
        lcdRS=high;      //初始给高电平,其实上电默认也是高电平  
4 C0 y/ D! h% F        write_cmd(0x38); //液晶显示模式初始化  
5 H5 q0 `3 P+ F# U% i; u& o8 M        write_cmd(0x0c); //打开液晶,不显示光标,光标不闪烁  
& U/ b9 F2 a3 E, ?' H" l0 Q        write_cmd(0x06); //地址指针加加,且光标加加   2 e( c) K7 |% l" b! \( ]; u$ c8 l
        write_cmd(0x01); //液晶数据指针和显示清零  $ U0 P% L6 O- F
    }  3 W; Q' \* Y) d% C5 _5 B" t& @
9 z/ |" K) f9 t, p6 z
    void write_cmd(uchar cmdValue) //写入指令  
& S- V  ?  G. }' g* s: |; G    {  * e; m. N- p% o
        lcdRS=low;      //刚上电时是高电平,低电平时是指令模式  0 l1 z3 Q- @6 T% D6 O! ~
        P0=cmdValue;  
  ^3 M0 D& {/ K2 E+ C% v1 I. N3 o! V        delayms(1);  
- m9 t+ w5 N, X- E) a6 l, g( Q, f        lcdEN=high;    //一个高脉冲把数据读走  : W. \1 ]( _" f% X6 m$ B) n5 E: G( \
        delayms(1);  
% M' Y- \6 n+ Q: e1 T        lcdEN=low;  
  u3 `; U: X: \' _, N    }  
5 F% x# f8 Z9 `& d$ {2 T3 W" l% W! e
9 D, v' y3 L' b( X) b  I$ V+ S    void write_data(uchar dataValue) //写入数据  ) b7 p; z1 d2 h& J5 r  `3 n
    {  
2 S/ p+ q3 e& K6 R/ n0 }! [; k# ^* ?        lcdRS=high;     //高电平是数据模式  
  l6 x. f5 I) p        P0=dataValue;  
  I; g: @7 J& A- H& u        delayms(1);  6 E. r$ _4 k( Y
        lcdEN=high;      //给一个高脉冲  
( I8 M( B% j3 W' ~2 A. L        delayms(1);  3 l1 c3 P  }. W! S* S3 W4 f. K
        lcdEN=low;  - |6 a. R0 u/ s. @" |$ O. y- T
    }  9 B$ H/ {1 w1 v& H  S
7 [+ a( J4 j6 Z! U( P
    void lcdShow(uchar* pValue) //液晶显示函数  ) g$ T4 s5 z* @) f. B, h8 o
    {  3 e' ]" F6 ^8 r- D4 L
        while(*pValue!='\0')  
5 h+ K( ?& w4 U1 Q/ c3 }5 Z        {  8 P( r& h: h1 H4 O, p8 k5 P
            write_data(*pValue);  
1 v  X+ [& [3 E+ H            pValue++;  
2 r& m. M& l6 r5 t5 J* y  d- E        }  
0 E8 B( N" ]  D    }  
; y* R' m" z8 c3 J3 ?
) H6 o2 ~( M& o    void main()  3 Y3 Q# q/ o3 n) S
    {  
, O" b" [1 S3 ~- z" I        lcdInit();               //初始化  
8 ?7 H+ h6 d5 k  p0 s9 N        lcdShow(tableLCD1);  //显示第一行  4 e3 y' g* W7 P0 d3 Z9 j$ d7 C
        write_cmd(0x80+0x40); //重新设置数据显示指针  ) h5 w% N2 Q) i/ ^" w6 A' [; `9 E
        lcdShow(tableLCD2);  //显示第二行  3 G, v$ @: E' U0 O6 T9 x, c* h! S
        while(1);  
0 ~* {1 X8 f9 S4 [" P/ G    }  6 z% z! `+ u# G- b9 @; |
5 @. D9 x( l$ F% P; F

" w" |3 D; k& k) I; u+ s
& o5 ^& B0 j) u& @4 y
) \5 q- j$ I4 ]" _9 R$ \2 T5 B
游客,如果您要查看本帖隐藏内容请回复
' ~  U- [( r5 U8 L& ^, [' ?
- Y. ?; ]! F% N) @( ]; U' i" G* A

5 W. L: ]" m# I$ z4 g7 t  I0 A( I' j) q2 B

" o0 w# u$ t  q

7 w: b7 @! N/ v& {$ n& y* m. ^0 Z& j$ i5 t0 I' u" t
0 C" r" T2 r/ p/ v* j$ T

* z9 g. [9 \4 U4 f
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-9 02:03 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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