您的位置 首页 元件

51单片机驱动1602液晶显示器的小比如

首先附上1602的相关资料:引脚功能:1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比…

首要附上1602的相关材料:

引脚功用:

1602选用规范的16脚接口,其间:
第1脚:VSS为电源
第2脚:VCC接5V电源正极
第3脚:V0为液晶显现器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 发生“鬼影”,使用时能够经过一个10K的电位器调整对比度)。
第4脚:RS为寄存器挑选,高电平1时挑选数据寄存器、低电平0时挑选指令寄存器。
第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。
第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时碑文指令。
第7~14脚:D0~D7为8位双向数据端。

第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。

指令表:

指令码
功 能
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
铲除显现
0
0
0
0
0
0
0
0
0
1
将DDRAM填满”20H”,而且设定DDRAM的地址计数器(AC)到”00H”
地址归位
0
0
0
0
0
0
0
0
1
X
设定DDRAM的地址计数器(AC)到”00H”,而且将游标移到最初原点方位;这个指令不改动DDRAM 的内容
显现状况开/关
0
0
0
0
0
0
1
D
C
B
[D=1: 全体显现 ON][C=1: 游标ON]
[B=1:游标方位反白答应]
进入点设定
0
0
0
0
0
0
0
1
I/D
S
指定在数据的读取与写入时,设定游标的移动方向及指定显现的移位
游标或显现移位操控
0
0
0
0
0
1
S/C
R/L
X
X
设定游标的移动与显现的移位操控位;这个指令不改动DDRAM 的内容
功用设定
0
0
0
0
1
DL
X
RE
X
X
[DL=0/1:4/8位数据]
[RE=0/1: 根本指令操作 / 扩大指令操作]
设定CGRAM地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
设定CGRAM 地址
设定DDRAM地址
0
0
1
0
AC5
AC4
AC3
AC2
AC1
AC0
设定DDRAM 地址(显现位址)
[榜首行:80H-A7H]
[第二行:C0H-E7H]
读取忙标志和地址
0
1
BF
AC6
AC5
AC4
AC3
AC2
AC1
AC0
读取忙标志(BF)能够结语内部动作是否完结,一起能够读出地址计数器(AC)的值
写数据到RAM
1
0
数据
将数据D7——D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)
读出RAM的值
1
1
数据
从内部RAM读取数据D7——D0(DDRAM/CGRAM/IRAM/GRAM)

特性:

3.3V或5V作业电压,对比度可调
内含复位电路
供给各种操控指令,如:清屏、字符业绩、光标业绩、显现移位等多种功用
有80字节显现数据存储器DDRAM
内建有192个5X7点阵的字型的字符发生器CGROM
8个可由用户自定义的5X7的字符发生器CGRAM

测验电路原理图:

测验代码:

#include#define uchar unsigned char#define uint unsigned intsbit lcden=P3^2;     //使能端sbit lcdrs=P3^0;	 //数据指令挑选端sbit rw=P3^1;uchar code table[]="xian shi 1";  //输入的字符uchar code table1[]="xian shi 2";  //输入的字符uchar num=0;void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_com(uchar com)//依据写时序图写出指令程序{lcdrs=0;rw=0;P1=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date)//依据写时序图写出数据程序{lcdrs=1;rw=0;P1=date;delay(5);lcden=1;delay(5);lcden=0;}void init(){lcden=0; //使能端为低电平write_com(0x38);/*显现形式设置  00111000  设置16*2显现  5*7点阵  8位数据接口*/write_com(0x0f);/*显现开关及光标设置   00001DCBD=1,开显现     D=0, 关显现C=1,显现光标   C=0,不显现光标B=1,光标业绩   B=0,光标不业绩*/write_com(0x06);//地址指针主动+1且光标+1,写字符屏幕不会移动write_com(0X01);write_com(0X80); }void main(){init();for(num=0;num<10;num++)    //输入的字符数量,修正{write_data(table[num]);delay(50);}write_com(0X80+0x40);for(num=0;num<10;num++)	//输入的字符数量,修正{write_data(table1[num]);delay(50);}while(1);}

测验作用:

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/yuanjian/265045.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部