您当前的位置:首页 > 科普小常识 > 正文

lcd1602引脚功能图(单片机中 LCD1602不能显示字符)

本文目录

  • 单片机中 LCD1602不能显示字符
  • lcd1602引脚数据D0~D3锁定,D4~D7程序中没有给出,请问这种情况下怎样才能使1602正常使用谢谢!!!

单片机中 LCD1602不能显示字符

#include 《reg52.h》//51单片机相关库typedef unsigned int uint;//数据类型重新定义typedef unsigned char uchar;sbit LCD_RS=P2^0;//数据/命令选择位sbit LCD_RW=P2^1;//读/写选择位sbit LCD_EN=P2^2;//使能信号uchar lcd_tab={“www.mcuc.com.cn“};//第一行显示的字符串uchar lcd_tab1={“I LOVE MCU“};//第二行显示的字符串/********************************************************************** *函数名称:_delay_ms*输 入:uint x*输 出:无 *功 能:延时函数 **********************************************************************/ void _delay_ms(uint x){uchar i;while(x--){for(i=0;i《120;i++);}}/********************************************************************** *函数名称:LCD_Write_Command*输 入:uchar cmd*输 出:无 *功 能:向LCD1602写指令 **********************************************************************/ void LCD_Write_Command(uchar cmd){LCD_RS=0;//根据规定,RS和R/W同时为低电平时,可以写入指令LCD_RW=0;LCD_EN=0;//EN置低电平P0=cmd;//将数据送入P2口,即写入指令或地址LCD_EN=1;//EN置高电平_delay_ms(1);//稍延时,给硬件反应时间LCD_EN=0;//当EN由高电平跳变成低电平时,液晶模块开始执行命令}/********************************************************************** *函数名称:LCD_Write_Data*输 入:uchar dat*输 出:无 *功 能:向LCD1602写数据 **********************************************************************/ void LCD_Write_Data(uchar dat){LCD_RS=1;//RS为高电平,RW为低电平时,可以写入数据LCD_RW=0;LCD_EN=0;//EN置低电平P0=dat;//将数据送入P0口,即将数据写入液晶模块LCD_EN=1;//EN置高电平_delay_ms(1);//稍延时,给硬件反应时间LCD_EN=0;//当EN由高电平跳变成低电平时,液晶模块开始执行命令}/********************************************************************** *函数名称:Init_LCD *输 入:无 *输 出:无 *功 能:初始化LCD1602 **********************************************************************/ void Init_LCD(void){LCD_Write_Command(0x38);//显示模式设置:16×2显示,5×7点阵,8位数据接口_delay_ms(1);LCD_Write_Command(0x06);//显示模式设置:光标右移,字符不移_delay_ms(1);LCD_Write_Command(0x0c);//显示模式设置:显示开,无光标,光标不闪烁_delay_ms(1);LCD_Write_Command(0x01);//清屏幕指令,将以前的显示内容清除_delay_ms(1);}/********************************************************************** *函数名称:LCD_POS*输 入:uchar pos *输 出:无 *功 能:字符显示位置**********************************************************************/ void LCD_POS(uchar pos){LCD_Write_Command(0x80|pos);//显示位置的确定方法规定为“80H+地址码x“}/********************************************************************** *函数名称:Show_String*输 入:uchar *str *输 出:无 *功 能:LCD1602显示字符串处理函数**********************************************************************/ void Show_String(uchar *str){while(*str!=’\0’)//只要没有写到结束标志,就继续写LCD_Write_Data(*str++);//将字符常量写入LCD,并指向下一个字符}/********************************************************************** *函数名称:main*输 入:无 *输 出:无 *功 能:函数主体**********************************************************************/ void main(void){Init_LCD();while(1){LCD_POS(0);//第一行第一列开始显示Show_String(lcd_tab);//将lcd_tab数组字符串写入LCD显示出LCD_POS(0x40);//第二行第一列开始显示Show_String(lcd_tab1);//将lcd_tab1数组字符串写入LCD显示}}/*代码讲解:本程序是以51单片机的LCD1602液晶屏显示字符串,第一行将显示,第二行将显示I LOVE MCU,本程序主要是掌握LCD1602液晶屏的时序操作,*/

lcd1602引脚数据D0~D3锁定,D4~D7程序中没有给出,请问这种情况下怎样才能使1602正常使用谢谢!!!

第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:编号符号引脚说明编号符号引脚说明1 VSS 电源地 9 D2 数据2 VDD 电源正极 10 D3 数据3 VL 液晶显示偏压 11 D4 数据4 RS 数据/命令选择 12 D5 数据5 R/W 读/写选择 13 D6 数据6 E 使能信号 14 D7 数据7 D0 数据 15 BLA 背光源正极8 D1 数据 16 BLK 背光源负极表10-13:引脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: amd7600m显卡驱动(我的超级本笔记本上面的的显卡amd radeon hd 7600m series貌似不好用,也找不到驱动,要怎么解决)

下一篇: 构造柱间距标准(构造柱间距)



推荐阅读