单片机应用技术 液晶种类和lcd1602工作原理? 5
2个回答
展开全部
液晶屏可分为字符型和点阵型,还可以分单色和彩色
LCD1602是字符型单色显示器件
LCD1602工作原理不需深究,只要知道它能干什么,怎么用就行.
对使用者而言,要知道三根控制线 片选LCDEN 命令/数据选择RS 读写控制线RW
及8根数据线
初始化之后要显示时,可以先送一个地址(送地址属于命令),然后再送去要显示字符的ASCI码(数据)就行,地址会自动加1,送一次地址可连续送多个数据,
第一行第1列地址是80H
第二行第1列地址是80H+40H
C语言写数据和命令的子程序如下:
void write_com(uchar com)//写命令
{
db=com;//db是数据口
rs=0;
rw = 0;
lcden=0;
Delay1ms(10);
lcden=1;
Delay1ms(10);
lcden=0;
}
void write_date(uchar date)//写数据
{
db=date;
rs=1;
rw = 0;
lcden=0;
Delay1ms(10);
lcden=1;
Delay1ms(10);
lcden=0;
}
void init2()//初始化
{
beiguang=0;
rw=0;
write_com(0x38);
Delay1ms(10);
write_com(0x0f);
Delay1ms(10);
write_com(0x06);
Delay1ms(10);
write_com(0x01);
Delay1ms(10);
}
实际应用例子:A1 A2等是数字,加上0X30即为其ASCI码
void display4(unsigned int temp) //1行多位显示程序
{
init2();
A1=temp/1000%10;//分离个、十、百、千位 如果数比较大,还要分离出万位,因INT型 //变量最大是65535
A2=temp/100%10;
A3=temp/10%10;
A4=temp%10;
write_com(0x80);
Delay1ms(10);
write_date(0x30+A1);
Delay1ms(10);
write_date(0x30+A2);
Delay1ms(10);
write_date(0x30+A3);
Delay1ms(10);
write_date(0x30+A4);
Delay1ms(10);
write_com(0x85);
write_date('m');//显示字符"m"用单引号 即可
Delay1ms(10);
write_date('A');
Delay1ms(10);
}
LCD1602是字符型单色显示器件
LCD1602工作原理不需深究,只要知道它能干什么,怎么用就行.
对使用者而言,要知道三根控制线 片选LCDEN 命令/数据选择RS 读写控制线RW
及8根数据线
初始化之后要显示时,可以先送一个地址(送地址属于命令),然后再送去要显示字符的ASCI码(数据)就行,地址会自动加1,送一次地址可连续送多个数据,
第一行第1列地址是80H
第二行第1列地址是80H+40H
C语言写数据和命令的子程序如下:
void write_com(uchar com)//写命令
{
db=com;//db是数据口
rs=0;
rw = 0;
lcden=0;
Delay1ms(10);
lcden=1;
Delay1ms(10);
lcden=0;
}
void write_date(uchar date)//写数据
{
db=date;
rs=1;
rw = 0;
lcden=0;
Delay1ms(10);
lcden=1;
Delay1ms(10);
lcden=0;
}
void init2()//初始化
{
beiguang=0;
rw=0;
write_com(0x38);
Delay1ms(10);
write_com(0x0f);
Delay1ms(10);
write_com(0x06);
Delay1ms(10);
write_com(0x01);
Delay1ms(10);
}
实际应用例子:A1 A2等是数字,加上0X30即为其ASCI码
void display4(unsigned int temp) //1行多位显示程序
{
init2();
A1=temp/1000%10;//分离个、十、百、千位 如果数比较大,还要分离出万位,因INT型 //变量最大是65535
A2=temp/100%10;
A3=temp/10%10;
A4=temp%10;
write_com(0x80);
Delay1ms(10);
write_date(0x30+A1);
Delay1ms(10);
write_date(0x30+A2);
Delay1ms(10);
write_date(0x30+A3);
Delay1ms(10);
write_date(0x30+A4);
Delay1ms(10);
write_com(0x85);
write_date('m');//显示字符"m"用单引号 即可
Delay1ms(10);
write_date('A');
Delay1ms(10);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询