液晶1602实际显示区 LCD1602的显示原理
1, LCD1602的显示原理
LCD1602显示简介
①LCD1602液晶显示原理
LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
②LCD1602液晶显示器的分类
液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。 ③LCD1602液晶显示器各种图形的显示原理:
1.线段的显示
点阵图形式液晶由M*N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16*8=128个点组成,屏上64*16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。
2.字符的显示
用LCD显示一个字符时比较复杂,因为一个字符由6*8或8*8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
3.汉字的显示
汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
2, 1602液晶显示问题
不是这样的。我不知道你的具体电路。但你只要稍作修改我给你的程序即可。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]=”1.256″;//这是你要显示的数据
sbit lcden=P3^4;//这是LCD使能端
sbit lcdrs=P3^5;//这是LCD写控制端
sbit dula=P3^6;//段锁存
sbit wela=P3^7;//位锁存;这两个锁存是我的具体电路,不一定要写
uchar num;
void delay(uchar z)//短延时函数
{
uchar x,y;
for(x=z;x>0;x–)
for(y=110;y>0;y–);
}
void write_cmd(uchar cmd)//LCD写命令函数
{
lcdrs=0;//写指令控制端为低
P0=cmd;
delay(5);
lcden=1;//给个高脉冲结束;因初始化为低
delay(4);
lcden=0;
}
void write_data(uchar date)//写数据函数
{
lcdrs=1;//写数据控制端高电平
P0=date;
delay(5);
lcden=1;//给个高脉冲结束
delay(4);
lcden=0;
}
void init()//初始化函数。
{
dula=0;
wela=0;
lcden=0;
write_cmd(0x38);//这几处是给LCD写命令,具体你可以看1602说明。
write_cmd(0x0c);
write_cmd(0x06);
write_cmd(0x01);
}
void main()
{
init();
write_cmd(0x80);
for(num=0;num<5;num++)//五个字符,即1.256
{
write_data(table[num]);
delay(5);
}
while(1);
}
不明白的话再说吧。
3, 1602液晶显示地址怎样设置
第1脚:VSS为地电源
第2脚:VDD接5V正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15~16脚:空脚
4, 1602液晶怎么样才能显示“℃”这个符号
利用写数据函数,你应该有这个的
void write_data(uchar date)
{
lcdrs=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
你自己应该是温度的最后把,写完前面的显示,把后面的语句写最后就行,但是确保没有超出显示区地址。
write_data(0x43);
延时20ms.
write_data(0xdf);
延时20ms.应该就可以了
相关概念
write
write是一个计算机函数,主要功能为写到一文件中。
cmd
命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。 在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机。总之,它非常有用。打开方法:开始-所有程序-附件 或 开始-寻找-输入:cmd/cmd.exe 回车。它也可以执行BAT文件。