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

1602字符显示keil+protues详细讲解及说明

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
1602字符显示keil+protues详细讲解及说明' u9 ]- T8 q) E6 s* b  o7 N
3 B: b, F1 b( S
+ n4 [9 F+ M5 U/ q8 n1 L
1602字符显示keil+protues详细讲解及说明8 s9 _; _6 I. @9 b  C

' V! L( u/ k" x1 }6 v- Z# u源程序:

, ?! D9 u& v1 I8 h# _#include<reg52.h>
+ T; ~/ i% e0 r9 O) Z- Etypedef unsigned int u16;1 ?. p# ?, ^4 ?
typedef unsigned char u8;
! P$ R  p3 j* D6 N
7 U1 ]6 v, e- t) g4 c( Y+ {#define DATA P0                                //宏定义,相当于  define π 3.14,这里没有等号。
$ _2 {6 [, J# o1 D
9 w# Y+ R! c* p2 |sbit rs = P2^1;                                          //rs,sw,en;可以理解成液晶的几个功能开关,无非就只有两种状态$ g8 O4 U/ j/ a2 W) J/ R: f4 ]7 v/ d
sbit rw = P1^5;                                                                         //为0或1,对应的功能详细看使用手册。这里是把液晶的
. N* b/ @& W( L9 msbit en = P1^6;                                                                   //这三个开关与单片机引脚定义为链接状态,以便单片机控制液晶。. `, X' H7 \5 J8 C1 Z# v0 e7 A- l
9 y  c, r1 C) J% K7 _- V6 p4 N2 x1 {
void delay(u16 num)
1 N/ C, h2 \! h- j{
6 E  u  \+ Q) `3 a" I    u16 x,y;
/ c4 J3 }/ E& Q% m( c        for (x=num;x>0;x--)
2 T! k7 S. a1 w  A             for(y=110;y>0;y--);  Z! D1 W9 @' D% r$ L; h4 [
0 W; g% r5 ]' \3 j, w0 q, V# Y
}  {* ?9 Y. ~$ ?4 s* l
void write_cmd(u8 cmd)                   //写指令) T# g$ j" s0 v. o
{! [$ f6 R! \( Y+ J
  rs=0;                                                   //选择指令寄存器
/ F; V  R- P7 G  rw=0;                                                   //进行写操作
# U2 [" w9 b9 F  DATA = cmd;                                   //把指令传给单片机6 A6 z% ]9 |8 X+ h4 s6 r
  delay(5);
9 E+ J* @7 k4 `3 m. E8 \  en=1;. l0 f4 l0 T4 N
  delay(5);# b3 I$ ^) k& u! j! z
  en=0;                                                   //en为使能端,当en由高电平跳到底电平时,液晶模块执行命令。) G& @; Q5 `' c& X* e
}
2 ~5 C# N' r7 O1 |; o; I% Z4 B) jvoid write_data(u8 dat). R/ ]+ `" C% o: G5 {
{1 t0 A1 L% O( m# ?3 y. j/ O( F
  rs=1;                                                        //选择数据寄存器; Z( V( R4 u4 G8 k  h
  rw=0;                                                        //进行写操作
6 S/ k2 D, y# y: J$ P6 O3 ?$ }  DATA = dat;                                        // 把数据传给单片机0 C# \/ X) t. R" |& h
  delay(5);$ N. J  k" ^. ^- J3 M+ q, G
  en=1;
! p" H5 R" Z4 O) z4 f  delay(5);
7 ?4 `9 W1 ^! r  en=0;; D, o) F* D6 N+ u3 l6 h
}" W# I( n; Y: u. o$ s0 H. O. G  T
void lcd_init()                                 //初始化6 S& \+ C+ c6 }7 M( D7 ?
{) s4 `# ~! E3 K6 ^8 S7 ]$ }
   write_cmd(0x02);           //归为
  ?8 R' v0 W  ]. S. y+ |" ?! `   write_cmd(0x06);           //设置输入方式" V+ l6 ~3 R+ z) H3 }( Z
   write_cmd(0x0e);           //控制显示开关3 _9 p$ _$ T( j- r8 t  e# p- ?! Y
   write_cmd(0x38);           //功能设置$ g* J2 \2 z5 }* o+ w2 n
   write_cmd(0x01);    //清屏1 R- e3 |& ^" N6 Z' f! s/ E
}
( q' V4 j' C4 L4 e+ Uvoid main()
3 _. {' Z( _+ [; h) _; T4 H{  \" f5 k9 i  ~- ?( \
  rw=0;
9 R# g0 g0 t! @' m$ C/ ~  rs=0;
; a+ H9 w) k3 ]( |: c: b  en=0;$ Q* D- {/ X* R$ q0 y
  lcd_init();
- L) z& |/ f. M/ t2 b  write_cmd(0x80);             //0x80,(0xc0)为在液晶上显示的地址;80为第一排显示,c0为第二排显示。% Z$ [* Y+ j/ o1 T! u. {4 [
  write_data('x');      //显示的数据
) y# c' A* V. c' f$ O  write_data('i');/ p' Q' ~4 u7 x- f; ]& W1 {6 ^
  write_data('a');
7 {+ ^* ~  j" A% r' F: Q6 B  write_data('o');
2 z  M3 l4 H( t2 [) A  write_data(' ');
2 {, a/ O6 ?- \9 P; K4 }* c: d5 ^  write_data('p');
5 M" b2 I( y* F- U. B  write_data('e');$ N8 C1 y& ]+ @' b2 O# Y
  write_data('n');9 I( Y0 c' J1 D% I: v# {
  write_data('g');) G, z6 u& Y% s  L: I& ?" d! q
  write_data(' ');3 d: f3 P/ ^/ h* u, d
  write_data('y');9 M5 F; }- O# n
  write_data('o');+ J! W. b) x; h; U" X
  write_data('u');
9 w7 P0 ?+ }  n3 t  write_cmd(0xc0);                 //第二排显示% b$ {1 B3 H: p
  write_data('t');                  //显示的数据
; T$ G" U5 v  Awhile(1);' {  J# \' `3 E4 u% G: q3 u& p
}* O; T/ v6 m5 Q7 i5 D

" B8 \1 Y$ L4 t下载:0 r9 r" b4 A$ B5 M( e
游客,如果您要查看本帖隐藏内容请回复

1 K" p5 q8 P) p" c* W

3 X+ M6 F0 G% O1 r% d
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-22 03:15 , Processed in 0.125000 second(s), 27 queries , Gzip On.

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

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

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