欢迎来到朵拉利品网
知识中心
资讯
  • 资讯
  • 产品
  • 供应商
您的位置: 朵拉利品网 >  知识中心 > lcd1602简单显示程序 求一个最简单的1602液晶显示程序,,要只显示一个字符的 。。越简...
lcd1602简单显示程序 求一个最简单的1602液晶显示程序,,要只显示一个字符的 。。越简...
2019-07-28 12:23:15 来源:朵拉利品网

1, 求一个最简单的1602液晶显示程序,,要只显示一个字符的 。。越简...



你再找个1602的说明书对着看就明白了
ORG 0000H
RS EQU P3.7
RW EQU P3.6
E EQU P3.5
MOV P1,#01H
ACALL ENABLE
MOV P1,#38H
ACALL ENABLE
MOV P1,#0FH
ACALL ENABLE
MOV P1,#05H
ACALL ENABLE
MOV P1,#0A7H
ACALL ENABLE
MOV P1,#41H
SETB RS
CLR RW
CLR E
ACALL DELAY
MOV P1,#42H
SETB RS
CLR RW
CLR E
ACALL DELAY
MOV P1,#43H
SETB RS
CLR RW
CLR E
ACALL DELAY
MOV P1,#44H
SETB RS
CLR RW
CLR E
ACALL DELAY
MOV P1,#45H
SETB RS
CLR RW
CLR E
ACALL DELAY
AJMP $
ENABLE:
CLR RS
CLR RW
CLR E
ACALL DELAY
RET
DELAY:
MOV P1,#0FFH
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P1.7,DELAY
RET
END

2, 求一个1602液晶显示最简单的汇编程序(在屏上显示一个数字就行了,...



51单片机
DQ BIT P3.4
RS EQU P0.0
RW EQU P0.1
E EQU P0.2
IO_LCD EQU P2
BITCNT DATA 30H
BYTECNT DATA 31H
COMMAND DATA 32H
main:
acall START_LCD ;初始化lcd
MOV COMMAND,#0C1H ;设定地址
ACALL BUSY
ACALL WRITE_LCD_COMMAND
MOV COMMAND,#"0" ;显示字符
ACALL BUSY
ACALL WRITE_LCD_DATA
ajmp $
BUSY:
CLR RS
SETB RW
MOV IO_LCD,#0FFH
CLR E
NOP
NOP
SETB E
NOP
NOP
JB IO_LCD.7,BUSY
CLR E
RET
START_LCD:
ACALL REATY_15MS
MOV COMMAND,#38H
ACALL WRITE_LCD_COMMAND
ACALL REATY_5MS
MOV COMMAND,#38H
ACALL WRITE_LCD_COMMAND
ACALL REATY_5MS
MOV COMMAND,#38H
ACALL WRITE_LCD_COMMAND
MOV COMMAND,#38H
ACALL WRITE_LCD_COMMAND
MOV COMMAND,#00001000B ;显示关闭
ACALL BUSY
ACALL WRITE_LCD_COMMAND
MOV COMMAND,#00000001B ;显示清屏
ACALL BUSY
ACALL WRITE_LCD_COMMAND
MOV COMMAND,#00000100B ;移动光标设置
ACALL BUSY
ACALL WRITE_LCD_COMMAND
MOV COMMAND,#00001100B ;显示开关及光标设置
ACALL BUSY
ACALL WRITE_LCD_COMMAND
RET
WRITE_LCD_COMMAND:
CLR RS
CLR RW
MOV IO_LCD,COMMAND
NOP
NOP
SETB E
NOP
NOP
CLR E
NOP
NOP
RET
WRITE_LCD_DATA:
SETB RS
CLR RW
MOV IO_LCD,COMMAND
NOP
NOP
SETB E
NOP
NOP
CLR E
NOP
NOP
RET
TABE_LCD:
DB "01234"
DB "56789"
这是从我以前写的程序中截下来的,不知道有没有漏掉
我这有c语言的头文件。

3, 这是LCD1602显示程序流程图,请帮我解释说明一下



让LCD1602显示字符前要输入字符所在的地址,这也是每显示一个字符地址要加一的原因,在下面的一段代码里你会明白怎么设置地址,怎么让地址自动加一,怎么清屏,怎么显示字符,希望你能看懂哦
sbit LCD_E=P2^0; //lcd1602控制置位
sbit LCD_RW=P2^1; //lcd1602控制置位
sbit LCD_RS=P2^2; //lcd1602控制置位
void LCD_command(unsigned char com)
{
LCD_E=0;
LCD_RW=0;
LCD_RS=0;
P1=com;
delay_us(100);
LCD_E=1;
delay_us(100);
LCD_E=0;
}
void LCD_date(unsigned char dat)
{
LCD_E=0;
LCD_RW=0;
LCD_RS=1;
P1=dat;
delay_us(100);
LCD_E=1;
delay_us(100);
LCD_E=0;
}
LCD_command(0x38); //设置LCD为16*2显示,5*7点阵,8位数据接口
LCD_command(0x0c); //设置LCD显示开,光标显示关
LCD_command(0x06); //写一个数据后地址加1
LCD_command(0x01); //显示清屏
LCD_command(0x80); //数据指针设置为第一行第一位
LCD_date("pi");
LCD_date("l");
LCD_date("e");
LCD_date("a");
LCD_date("s");
LCD_date("e");
LCD_date(" ");
LCD_date("c");
LCD_date("h");
LCD_date("e");
LCD_date("c");
LCD_date("k");
LCD_date(" ");
LCD_date("t");
LCD_date("h");
LCD_date("e");
LCD_command(0x80+0x40); //LCD地址指针指向第二行第一个位置
LCD_date("c");
LCD_date("o");
LCD_date("n");
LCD_date("n");
LCD_date("e");
LCD_date("c");
LCD_date("t");
LCD_date("i");
LCD_date("o");
LCD_date("n");
LCD_date("!");
LCD_date("!");

4, 这是LCD1602部分显示程序,这部分的程序什么意思啊?



您好,让LCD1602显示字符前要输入字符所在的地址,这也是每显示一个字符地址要加一的原因,在下面的一段代码里你会明白怎么设置地址,怎么让地址自动加一,怎么清屏,怎么显示字符。
sbit LCD_E=P2^0; //lcd1602控制置位
sbit LCD_RW=P2^1; //lcd1602控制置位
sbit LCD_RS=P2^2; //lcd1602控制置位
void LCD_command(unsigned char com)
{
LCD_E=0;
LCD_RW=0;
LCD_RS=0;
P1=com;
delay_us(100);
LCD_E=1;
delay_us(100);
LCD_E=0;
}
void LCD_date(unsigned char dat)
{
LCD_E=0;
LCD_RW=0;
LCD_RS=1;
P1=dat;
delay_us(100);
LCD_E=1;
delay_us(100);
LCD_E=0;
}
LCD_command(0x38); //设置LCD为16*2显示,5*7点阵,8位数据接口
LCD_command(0x0c); //设置LCD显示开,光标显示关
LCD_command(0x06); //写一个数据后地址加1
LCD_command(0x01); //显示清屏
LCD_command(0x80); //数据指针设置为第一行第一位
LCD_date("pi");
LCD_date("l");
LCD_date("e");
LCD_date("a");
LCD_date("s");
LCD_date("e");
LCD_date(" ");
LCD_date("c");
LCD_date("h");
LCD_date("e");
LCD_date("c");
LCD_date("k");
LCD_date(" ");
LCD_date("t");
LCD_date("h");
LCD_date("e");
LCD_command(0x80+0x40); //LCD地址指针指向第二行第一个位置
LCD_date("c");
LCD_date("o");
LCD_date("n");
LCD_date("n");
LCD_date("e");
LCD_date("c");
LCD_date("t");
LCD_date("i");
LCD_date("o");
LCD_date("n");
LCD_date("!");
LCD_date("!");

相关概念


LCD

LCD ( Liquid Crystal Display 的简称)液晶显示器。 LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。 现在LCD已经替代CRT成为主流,价格也已经下降了很多,并已充分普及。

date

1功能:设置或显示系统日期。 2类型:内部命令 3格式:DATE 年/月/日 4使用说明: ⑴省略 年/月/日 显示系统日期并提示输入新的日期,不修改则可直接按回车键,要修改则直接输入新日期。 ⑵当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。

command

COMMAND类似于易驰车载电脑的设计包括显示屏、控制器、功能按钮和电话键区,可操作车内的以下功能:音响功能、导航系统、电话和通讯功能、DVD视频和电视以及各种车辆设置。控制器正前方是四个功能按钮,可以直接控制光盘播放器/收音机、HOME(回家功能)、多方向可调座椅和电话/导航功能。