专注于射频工程师,天线工程师和电子硬件工程师的培养
首页 > 技术文库 > 硬件设计 > 显示技术 > lcd1602的封装_lcd1602的初始化程序

lcd1602的封装_lcd1602的初始化程序

时间:2020-12-14 点击:

lcd1602的封装

lcd1602的封装尺寸(单位mm):

lcd1602的封装

封装一般使用16脚排座,下面还可以布一些矮的元件。另外LCD1602的引脚可以用16个的排针或排座代替。

LCD1602初始化流程图

用户所编的显示程序,开始必须进行初始化,否则模块无法正常显示,下面介绍两种初始化方法:

1. 利用内部复位电路进行初始化

下面指令是在初始化过程中执行的。

清屏(DISPLAY CLEAR);

功能设置(FUNCTION SET);

DL = 1: 8Bit 接口数据;

N = 0: 1行显示;

F = 0:5&TImes;7dot字形;

显示开/关控制(DISPLAY ON/OFF CONTROL)

D = 0: 显示关; C = 0: 光标关; B = 0: 消隐关

输入方式设置(ENTRY MODE SET )

I/D = 1:(增量): S = 0: 无移位:

2. 软件复位

如果电路电源不能满足复位电路的要求的话,那么初始化就要用软件来实现,过程如下:

lcd1602的封装_lcd1602的初始化程序

lcd1602的初始化程序

uchar BusyTest(void) //lcd忙碌状态检测

{

bit result;

RS=0;

RW=1;

E=1;

_nop_();

_nop_();

_nop_();

_nop_(); //空操作四个机器周期,给硬件反应时间

result=BF;

E=0;

return result;

}

void WriteInstrucTIon (uchar dictate) //设置模式或地址

{

while(BusyTest()==1);

RS=0; //根据规定,RS和R/W同时为低电平时,可以写入指令

RW=0;

E=0;

_nop_();

_nop_();

P0=dictate; //将数据送入P0口,即写入指令或地址

_nop_();

_nop_();

_nop_();

_nop_();

E=1; //E置高电平

_nop_();

_nop_();

_nop_();

_nop_();

E=0; //当E由高电平跳变成低电平时,液晶模块开始执行命令

}

void WriteAddress(uchar x) //设置实际显示的地址

{

WriteInstrucTIon(x|0x80);

}

void WriteData(uchar y) //向LCD写数据

{

while(BusyTest()==1);

RS=1;

RW=0;

E=0;

P0=y;

_nop_();

_nop_();

_nop_();

_nop_();

E=1;

_nop_();

_nop_();

_nop_();

_nop_();

E=0;

}

void LcdIniTIate(void) //初始化操作

{

delay(15); //首次写指令时应给LCD一段较长的反应时间

WriteInstruction(0x38); //显示模式设置:16×2显示,5×7点阵,8位数据接口

delay(5);

WriteInstruction(0x38);

delay(5);

WriteInstruction(0x38);

delay(5);

WriteInstruction(0x0f); //显示模式设置:显示开,有光标,光标闪烁

delay(5);

WriteInstruction(0x06); //显示模式设置:光标右移,字符不移

delay(5);

WriteInstruction(0x01); //清屏幕指令,将以前的显示内容清除

delay(5);

}

void display(uchar hang,uchar lie,uchar *p)

{

uchar a;

if(hang == 1)

{

a = 0x80;

}

if(hang == 2)

{

a = 0xc0;

}

a = a + lie - 1;

while(1)

{

BusyTest();

WriteInstruction(a);

BusyTest();

WriteData(*p);

delay(10);

a++;

p++;

if((*p == ‘\0’)||(a==0x90)||(a==0xd0))

{

break;

}

}

}

CopyRight © 2009-2021,易迪拓培训 All Rights Reserved,沪ICP备05048810-2号 版权所有

网站地图

Top