lcd1602的封装?lcd12864和lcd1602的区别?
lcd1602的封装?
1602尺寸(单位mm): 封装一般使用16脚排座,下面还可以布一些矮的元件
lcd12864和lcd1602的区别?
LCD1602与LCD12864区别:
1、分辨率不同,LCD1602是每字5*8点阵,字符区域16*2个;LCD12864是128*64分辨率的点阵。
2、驱动芯片也不同,因此控制字、时序略有不同。
LCD1602液晶显示优缺点:
优点:
1、是字符型液晶,显示字母和数字比较方便。
2、控制简单。
3、成本较低。
缺点:
1、显示的字体有大小限制。
2、不能显示图形等等。
3、它不能显示曲线。
lcd12864液晶显示优缺点:
优点:
1、功耗低。
2、体积娇小不占面积。
3、重量轻,超薄等。
缺点:
1、LCD12864液晶显示信息量大,相当来说程序和电路都比较复杂。
2、价格较高。
拓展内容:
12864 顾名思义像素是128*64,能显示8*4个汉字,因型号不同,有的带汉字库,有的不带,能显示图像效果,功能比1602强大,1602只能显示字母、数字和符号能显示16*2个字符,但寄存器不止32个,有一些显示效果,如字符一个个显示、字符从左到右或从右到左显示等等,显示效果简单,价格低,大约6块钱,而12864最少40块钱一块,在编程使用方面,两者难度差不多,原理差不多,都是写指令、写地址、写数据等等。
下面分享相关内容的知识扩展:
用lcd1602显示,显示程序没错,接线没错,就是显示不出来,求高人指点原因,369521148,这是我的qq,
1.可能是显示屏已经损坏,建议拿一个确保好的1602进行测试。2.程序可能还存在错误,建议进行单步查找,查看每一步的结果是不是与自己所想一致,这样才能确保程序真的没错。
3.检查接线,用万用表逐一检查导线,查看导线是否导通。接着再细致对照电路图进行接线检查,建议从一个节点出发一个部分一个部分的进行连接(或检查),最后进行整体的检查。
4.检查与1602连接的其他器件是否完好,如和单片机连接,查看单片机是否良好。
5.确保屏是好的前提下,如果全不亮,看一下15 16引脚的解法是否正确,它们主管显示屏的亮度 再看3它管对比度。
lcd1602上下行单独显示没有问题一起显示会多出现一个数字
lcd1602上下行单独显示没有问题一起显示会多出现一个数字你把跟lcd数据连接的一些外设都去掉 程序的话#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//这三个引脚参考资料
*** it LCD1602_EN=P2^7; //1602使能引脚
*** it LCD1602_RW=P2^6; //1602读写引脚
*** it LCD1602_RS=P2^5; //1602数据/命令选择引脚
/********************************************************************
* 名称 : LCD1602_delay()
* 功能 : 延时,延时时间大概为5US。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void LCD1602_delay()
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
void LCD1602_Delay(uint i)
{
uint x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
/********************************************************************
* 名称 : bit Busy(void)
* 功能 : 这个是一个读状态函数,读出函数是否处在忙状态
* 输入 : 输入的命令值
* 输出 : 无
***********************************************************************/
bit Busy(void)
{
bit busy_flag = 0;
LCD1602_RS = 0;
LCD1602_RW = 1;
LCD1602_EN = 1;
LCD1602_delay();
busy_flag = (bit)(P0 & 0x80);
LCD1602_EN = 0;
return busy_flag;
}
/********************************************************************
* 名称 : LCD1602_wcmd(uchar del)
* 功能 : 1602命令函数
* 输入 : 输入的命令值
* 输出 : 无
***********************************************************************/
void LCD1602_wcmd(uchar del)
{
while(Busy());
LCD1602_RS = 0;
LCD1602_RW = 0;
LCD1602_EN = 0;
LCD1602_delay();
P0 = del;
LCD1602_delay();
LCD1602_EN = 1;
LCD1602_delay();
LCD1602_EN = 0;
}
/********************************************************************
我想用51单片机,矩阵键盘,lcd1602写个简易计算器程序
如何把如float 类型的12.5转化成字符串格式以便在1602上显示12.5?求高手告知,更好能具体给个简单的例子。c语言的谢谢
//---------------------------------------------------
void W_LCD_X1_Dat(uint sec)
{
W_LCD_Com(0xc0 + 6);
W_LCD_Dat(0x30 + sec / 10000);
W_LCD_Dat(0x30 + (sec % 10000) / 1000);
W_LCD_Dat(0x30 + (sec % 1000) / 100);
W_LCD_Dat(0x30 + (sec % 100) / 10);
W_LCD_Dat('.');
W_LCD_Dat(0x30 + sec % 10);
}
//---------------------------------------------------
void main()
{
float aaa;
uint bbb;
init();
aaa = 12.5;
bbb = aaa * 10;
W_LCD_X1_Dat(bbb);
while(1);
}
//=========================================
初始化等函数,可见:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/e9a4f10963e835c463d98677.html ;
显示画面如下:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。