打印
[51单片机]

关于1602液晶模块的初始化

[复制链接]
12714|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
samsunghellome|  楼主 | 2013-8-24 15:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一次接触1602,仔细看每一个引脚的作用,被一堆初始化程序搞得一头雾水,高手请指点下,为什么要这样初始化
void LCD_Init(void)
{
   LCD_Write_Com(0x38);    /*显示模式设置*/
   DelayMs(5);
   LCD_Write_Com(0x38);
   DelayMs(5);
   LCD_Write_Com(0x38);
   DelayMs(5);
   LCD_Write_Com(0x38);  
   LCD_Write_Com(0x08);    /*显示关闭*/
   LCD_Write_Com(0x01);    /*显示清屏*/
   LCD_Write_Com(0x06);    /*显示光标移动设置*/
   DelayMs(5);
   LCD_Write_Com(0x0C);    /*显示开及光标设置*/
   }
还有1602的指令表,怎么那么乱呢??搞不清楚哪个位控制哪个功能??

捕获.JPG (115.13 KB )

捕获.JPG

相关帖子

沙发
dirtwillfly| | 2013-8-24 16:52 | 只看该作者
这不是很清楚么?楼主觉得那里乱?
其实看1602的指令,最好看datasheet,这个指令表不容易理解

使用特权

评论回复
板凳
samsunghellome|  楼主 | 2013-8-24 17:08 | 只看该作者
dirtwillfly 发表于 2013-8-24 16:52
这不是很清楚么?楼主觉得那里乱?
其实看1602的指令,最好看datasheet,这个指令表不容易理解 ...

初始化时为什么是3个LCD_Write_Com(0x38); 语句??

使用特权

评论回复
地板
ningling_21| | 2013-8-24 18:41 | 只看该作者
简单一点的初始化;
多写几次更加稳定
void lcd_init()
{
    delayms(15);                //等待电源稳定   
    lcd_wcmd(LCD_MODE);      //设置显示模式
    delayms(5);
    lcd_wcmd(LCD_MODE);         
    delayms(5);
    lcd_wcmd(LCD_MODE);         
    delayms(5);
    lcd_wcmd(0x0c);      //显示开,关光标
    delayms(5);
    lcd_wcmd(0x06);      //移动光标
    delayms(5);
    lcd_wcmd(0x01);      //清除LCD的显示内容
    delayms(5);
}

使用特权

评论回复
5
dirtwillfly| | 2013-8-24 20:32 | 只看该作者
samsunghellome 发表于 2013-8-24 17:08
初始化时为什么是3个LCD_Write_Com(0x38); 语句??

多设置两次,以防执行失败,尤其是在系统刚上电的时候;P

使用特权

评论回复
6
xiaoliping1945| | 2013-8-24 21:43 | 只看该作者
多看几次例程就会了,就那么几条指令,写成模块化后,就只管调用,一般就是,初始化,清屏,写数据,而且一般情况下不需要检测忙信号。

使用特权

评论回复
7
哈利| | 2013-8-24 21:58 | 只看该作者
看一下压缩包里面的cry1602.c ,模块化程序,很强大。
PDF中有液晶的介绍,0X38是设置显示模式,设置16*2显示,8位数据接口,所以是初始化第一步,命令执行3次更可靠。
我最近刚刚弄明白1602,还自己设计了一个字符(里面CGRAM可以设置8个自定义字符),主程序也在附件,希望对你有帮助。有问题找我哈

1602zifu.rar

134.56 KB

自定义字符

1602液晶说明.pdf

255.88 KB

1602.zip

260.58 KB

使用特权

评论回复
8
风中杨柳| | 2013-8-24 22:45 | 只看该作者
哈利 发表于 2013-8-24 21:58
看一下压缩包里面的cry1602.c ,模块化程序,很强大。
PDF中有液晶的介绍,0X38是设置显示模式,设置16*2显 ...

谢谢你的分享!

使用特权

评论回复
9
哈利| | 2013-8-25 12:32 | 只看该作者
风中杨柳 发表于 2013-8-24 22:45
谢谢你的分享!

你是在学习430吗?学习430推荐王力天的视频,他讲F149基本就是用英文版的用户手册和用户指南,还有很多他自己编写的程序,也有很多常用芯片的资料,非常适合430入门

使用特权

评论回复
10
samsunghellome|  楼主 | 2013-8-26 09:39 | 只看该作者
哈利 发表于 2013-8-24 21:58
看一下压缩包里面的cry1602.c ,模块化程序,很强大。
PDF中有液晶的介绍,0X38是设置显示模式,设置16*2显 ...

很详细,谢啦!

使用特权

评论回复
11
samsunghellome|  楼主 | 2013-8-26 09:42 | 只看该作者
xiaoliping1945 发表于 2013-8-24 21:43
多看几次例程就会了,就那么几条指令,写成模块化后,就只管调用,一般就是,初始化,清屏,写数据,而且一 ...

嗯,慢慢就熟悉了

使用特权

评论回复
12
coody| | 2013-8-26 10:15 | 只看该作者
没几个寄存器啊,要是TFT,那才叫多寄存器.1602比黑白的12864都简单,我一般用4线数据访问.

使用特权

评论回复
13
xiaoliping1945| | 2013-8-26 11:23 | 只看该作者
coody 发表于 2013-8-26 10:15
没几个寄存器啊,要是TFT,那才叫多寄存器.1602比黑白的12864都简单,我一般用4线数据访问. ...

改进版,现在已升级为三线驱动1602了,

使用特权

评论回复
14
coody| | 2013-8-26 11:42 | 只看该作者
没用过3线的,那是SPI吧。我用的4条数据线,3个控制信号。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

198

帖子

0

粉丝