搜索
bottom↓
回复: 105

最低成本的1602 LCD驱动方式---人肉驱动

[复制链接]

出0入0汤圆

发表于 2010-9-27 00:13:21 | 显示全部楼层 |阅读模式
近来用1602做点东西,采用4根数据线的方式,但网上的文档很少详细说明4线的初始化情况,只提及到连续发3次0x38的指令再送0x28。但LCM只接了高四位,低四位压根没送过去。刚上电时LCM也不能确定将以4位或8位的方式进行接收,究竟LCM是如何区分呢?为了弄清楚这个问题,我做了一个有趣的试验,用最简单的硬件连接成LCM驱动电路,发现LCM只要高四位接收到0x3,随即内部复位,接下来高四位发送2表示4位总线通讯,低四位在未确定通信方式前是忽略了。

这个廉价的驱动方式,可能是前无古者,后无来人了 :)

送上人手输入驱动视频,欢迎拍砖:点击此处下载 ourdev_585836WXLBF2.rar(文件大小:6.00M) (原文件名:00008.wmv.rar)


(原文件名:3.jpg)


(原文件名:1.jpg)


(原文件名:2.JPG)

出0入0汤圆

发表于 2010-9-27 00:21:13 | 显示全部楼层
晕~~没耐心搞这个啊~~

出0入0汤圆

发表于 2010-9-27 00:25:33 | 显示全部楼层
太帅了

出0入0汤圆

发表于 2010-9-27 00:26:44 | 显示全部楼层
cowboy就是强啊.
cowboy请问你有收到那个恒流源的PDF吗?

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3656814&bbs_page_no=1&search_mode=1&search_text=电流源&bbs_id=9999

出0入0汤圆

 楼主| 发表于 2010-9-27 01:02:32 | 显示全部楼层
回复【3楼】fshunj
-----------------------------------------------------------------------

已传至你邮箱

出0入0汤圆

发表于 2010-9-27 02:05:32 | 显示全部楼层
留着学习,谢谢cowboy。


( ⊙o⊙ )哇!看了视频,牛仔爹简直太牛啦!
人肉键盘,输入流畅。这种人肉驱动方式,真是前无古者,后无来人了。
建议置酷,赏给小牛仔一条裤子穿吧,天气转凉了。

出0入0汤圆

发表于 2010-9-27 02:46:34 | 显示全部楼层
"但网上的文档很少详细说明4线的初始化情况"

you should try the datasheet.

but here is my initialization sequence for HD44780-compatible devices.

==========code=============

        //IO_CLR(LCD_CTRL_PORT, LCD_EN);
        delay_ms(15);                        // wait 15mSec after power applied,
        LCD_SET(D4 | D5); LCD_CLR(D6 | D7);
        LCD_STROBE(0);
        delay_ms(5);                        //delay 5ms
       
        LCD_STROBE(0);
        delay_us(200);                        //delay 200us

        LCD_STROBE(0);
        delay_us(200);                        //delay 200us
       
        IO_CLR(LCD_CTRL_PORT, LCD_RS);
#if LCD_8BIT == 0                        //in 4-bit mode
        LCD_SET(D5); LCD_CLR(D4 | D6 | D7);
        LCD_STROBE(0);
        lcd_write(LCD_FOUR_BIT & LCD_LINES_5X7, 0);         // function control, 4bit, 2line, 5x7 dots
#else
//        IO_CLR(LCD_CTRL_PORT, LCD_RS);
        lcd_write(LCD_EIGHT_BIT & LCD_LINES_5X7, 0);         // function control, 8bit, 2line, 5x7 dots
#endif

        lcd_write(LCD_DISPLAY_ON & LCD_CURSOR_OFF & LCD_BLINK_OFF, 0);        //display on, cursor off, blink off
        lcd_clear();        // Clear screen
        lcd_write(LCD_SHIFT_DISPLAY_OFF & LCD_SHIFT_CURSOR_RIGHT, 0); // Set entry Mode, increment, don't shift.
==========end============

so you have to send 0x3X (the lower 4 bits are ignored) 3x at various timing intervals.

then based on which mode you are in, you may have to send 0x2X (X is anything) to enter the four bit mode.

the datasheet has it pretty clearly stated:


点击此处下载 ourdev_585839EI3MS6.pdf(文件大小:322K) (原文件名:HD44780.pdf)

出0入0汤圆

发表于 2010-9-27 02:48:13 | 显示全部楼层
进来膜拜!

出0入42汤圆

发表于 2010-9-27 08:17:47 | 显示全部楼层
强!!!!!!

出0入0汤圆

发表于 2010-9-27 08:35:18 | 显示全部楼层

出0入0汤圆

发表于 2010-9-27 08:59:44 | 显示全部楼层
cowboy每次语出惊人~~

出0入0汤圆

发表于 2010-9-27 09:05:10 | 显示全部楼层
很像在发莫斯电报

出0入0汤圆

发表于 2010-9-27 09:13:59 | 显示全部楼层
有耐心!

出0入0汤圆

发表于 2010-9-27 09:16:45 | 显示全部楼层
肯定是前无古人,后无来者。

佩服的五体投地!

出0入18汤圆

发表于 2010-9-27 09:35:05 | 显示全部楼层
牛X的实验!!!

出0入0汤圆

发表于 2010-9-27 10:12:50 | 显示全部楼层
不同常规,赞!

出0入4汤圆

发表于 2010-9-27 10:37:22 | 显示全部楼层
哈哈,有趣啊!

出0入0汤圆

发表于 2010-9-27 11:04:48 | 显示全部楼层
牛仔真不错。。。

想起俺当初用DIP开关和计数器写EPROM的时候了。。。没这个强啊。。

看来牛仔的记忆力非常非常的好。

出0入0汤圆

发表于 2010-9-27 11:50:36 | 显示全部楼层
哥,你太强大了

出0入0汤圆

发表于 2010-9-27 12:00:15 | 显示全部楼层
人的成本比单片机成本高太多了。

出0入0汤圆

 楼主| 发表于 2010-9-27 12:40:55 | 显示全部楼层
回复【5楼】JQ_Lin
-----------------------------------------------------------------------
视频在压缩时被压缩软件加快了一倍,实际上没那么快。

回复【18楼】huayuliang 花生
-----------------------------------------------------------------------
这个不用记忆力吧,先把ASCII码列出来,对着输入就是了。

出0入0汤圆

 楼主| 发表于 2010-9-27 12:50:48 | 显示全部楼层
做这个试验的目的,除了有趣,还有就是想解决同步问题。
不知各位用1602时有没有考虑到这方面,用四线方式,一个字节需分两次传送。如果E引脚受干扰多了一个脉冲,那么后续的数据或指令将会出现错位,导致功能混乱。1602没有复位引脚,貌似只能断电才能重新同步。不知各位平时是如何避免出现这种情况?

出10入210汤圆

发表于 2010-9-27 13:34:25 | 显示全部楼层
期待楼主的TFTLCD的人肉驱动,赞一个。

出0入0汤圆

发表于 2010-9-27 14:22:49 | 显示全部楼层
嘀嘀 嘀嘀。。。。

想起了《永不消失的电波》里面的发报机声音。。。。

出0入0汤圆

 楼主| 发表于 2010-9-27 20:52:22 | 显示全部楼层
回复【6楼】millwood0
-----------------------------------------------------------------------
你提供的资料很详细,谢谢了。粗略看了一下,还是没找到关于同步失败后,如何重新复位的描述。

出0入0汤圆

发表于 2010-9-27 21:00:28 | 显示全部楼层
相当happy

出0入0汤圆

发表于 2010-9-27 22:20:39 | 显示全部楼层
不得不顶.

出0入0汤圆

发表于 2010-9-29 01:27:59 | 显示全部楼层
相当于用机器码编程的牛人……

出0入0汤圆

发表于 2010-9-29 02:54:21 | 显示全部楼层
"你提供的资料很详细,谢谢了。"

that document really is the bible for anyone wishing to program the lcd.

"粗略看了一下,还是没找到关于同步失败后,如何重新复位的描述。"

here is no reset command or reset pin. the only way to reset the mcu is to restart the initialization sequence.

出0入0汤圆

发表于 2010-9-29 06:24:24 | 显示全部楼层
"相当于用机器码编程的牛人……"

that's equivalent to producing .com executables under dos with a text editor.

a slightly easier approach is to use debug.com to produce .com files.

those good old DOS days, :)

we have come a LONG way since then.

出0入0汤圆

发表于 2010-9-29 08:03:14 | 显示全部楼层
牛人,手指弹琴去也不错

出0入0汤圆

发表于 2010-9-29 09:18:32 | 显示全部楼层
哈哈,我人肉驱动过164,你比我还强.

出0入0汤圆

发表于 2010-9-29 13:25:29 | 显示全部楼层
LZ能发份恒流电路的资料给我吗?
416922195@qq.com   谢谢

出0入0汤圆

发表于 2010-9-29 14:46:27 | 显示全部楼层
cowboy的牛肉驱动!

出0入0汤圆

发表于 2010-9-29 16:22:29 | 显示全部楼层
4位总线方式的时候,发送初始化指令也是把字节数据拆分成高四位和低四位,分别送进去。我在AVR上就这么写的。

出0入0汤圆

发表于 2010-9-29 16:25:04 | 显示全部楼层
人才呀。

出0入0汤圆

发表于 2010-10-20 21:30:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-5 13:08:58 | 显示全部楼层
太强了!没看明白你说的E信号错乱的问题,我做液晶的,好像没遇到过这个问题哦。有机会交流交流看看

出0入0汤圆

发表于 2010-11-5 21:17:31 | 显示全部楼层
真是无敌了!!!请教摄像头是挂在胸前拍的吗?

出610入42汤圆

发表于 2010-11-11 15:43:29 | 显示全部楼层
无语,人肉

出0入0汤圆

发表于 2010-11-11 18:55:02 | 显示全部楼层
强!

出0入0汤圆

发表于 2010-11-11 23:33:22 | 显示全部楼层
哈哈, 牛X啊牛X

出0入0汤圆

发表于 2010-12-31 17:17:39 | 显示全部楼层
。。。。高手修炼到一定程度,真是飞花摘叶都可伤人啊

出0入0汤圆

发表于 2011-1-9 12:17:20 | 显示全部楼层
mk
头像被屏蔽

出0入0汤圆

发表于 2011-1-9 19:47:38 | 显示全部楼层
牛X啊牛X

出0入0汤圆

发表于 2011-2-25 22:52:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-19 16:44:02 | 显示全部楼层
像放牛娃学习了。

出0入0汤圆

发表于 2011-3-21 15:12:41 | 显示全部楼层
创意达人啊

出0入0汤圆

发表于 2011-3-22 23:30:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-30 14:34:06 | 显示全部楼层
COWBOY  你真乃神人!!!

出0入0汤圆

发表于 2011-4-30 20:27:44 | 显示全部楼层
小弟刚刚入门   还没学1602  看了这个东西  今天搞了一下午    看了老大的东西  也想做一个玩玩  不知道那个电容有什么作用?很RZ的问题  大家不要笑话   有谁能解答一下吗?

出0入0汤圆

发表于 2011-6-7 22:07:14 | 显示全部楼层
今天是见到牛人了!楼主可以说下详细录入的时序吗?太羡慕了!膜拜的五体投地!

出0入12汤圆

发表于 2011-6-7 22:18:03 | 显示全部楼层
不错

收下了

出0入0汤圆

发表于 2011-6-30 09:04:59 | 显示全部楼层
看到lz的视频真是震惊!!呵呵

出0入0汤圆

发表于 2011-7-15 01:28:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-15 01:32:35 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-7-15 12:45:46 | 显示全部楼层
mark==

出0入0汤圆

发表于 2011-7-15 20:21:18 | 显示全部楼层
楼主太有闲了,羡慕啊

出0入0汤圆

发表于 2011-7-15 22:13:43 | 显示全部楼层
哈哈!这个我也试过,不过是8线模式的,还焊了按钮上去,三个控制引脚最好加滤波,要不然会误触发的。

出0入0汤圆

发表于 2011-7-15 23:35:27 | 显示全部楼层
牛人,太强了

出0入0汤圆

发表于 2011-7-16 18:55:16 | 显示全部楼层
回复【23楼】rainbow  老陈
-----------------------------------------------------------------------

TFT人肉驱动+1

出0入0汤圆

发表于 2011-7-16 18:59:06 | 显示全部楼层
我看到LZ 我吓哭了。。

出0入0汤圆

发表于 2011-7-26 12:51:51 | 显示全部楼层
这东西好先进!下面有代码了,我也刚把代码写出来了。4线控制的
  百度文库有详细资料

出0入0汤圆

发表于 2011-7-26 14:16:17 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-16 18:00:59 | 显示全部楼层
niu ren

出0入0汤圆

发表于 2011-8-16 18:52:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-18 18:19:32 | 显示全部楼层
这是1602官方驱动初始化楼主可以看一下

// SEE PAGE 45/46 FOR INITIALIZATION SPECIFICATION!
  // according to datasheet, we need at least 40ms after power rises above 2.7V
  // before sending commands. Arduino can turn on way befer 4.5V so we'll wait 50
  delayMicroseconds(50000);
  // Now we pull both RS and R/W low to begin commands
  digitalWrite(_rs_pin, LOW);
  digitalWrite(_enable_pin, LOW);
   digitalWrite(_rw_pin, LOW);
    //put the LCD into 4 bit
    // this is according to the hitachi HD44780 datasheet
    // figure 24, pg 46

    // we start in 8bit mode, try to set 4 bit mode
    write4bits(0x03);
    delayMicroseconds(4500); // wait min 4.1ms

    // second try
    write4bits(0x03);
    delayMicroseconds(4500); // wait min 4.1ms
   
    // third go!
    write4bits(0x03);
    delayMicroseconds(150);

    // finally, set to 8-bit interface
    write4bits(0x02);


/****************************************************************/
void LiquidCrystal::write4bits(uint8_t value) {
  for (int i = 0; i < 4; i++) {
    pinMode(_data_pins, OUTPUT);
    digitalWrite(_data_pins, (value >> i) & 0x01);
  }

  pulseEnable();
}

出0入0汤圆

发表于 2011-8-22 20:54:19 | 显示全部楼层
我不知道大家有没有发现,他的第一只脚没有接东西耶

出0入0汤圆

发表于 2011-8-23 16:05:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-23 17:32:21 | 显示全部楼层
强,不得不顶

出0入0汤圆

发表于 2011-9-15 23:58:45 | 显示全部楼层
强,工作就是要做细!

出0入0汤圆

发表于 2011-9-18 21:21:53 | 显示全部楼层
I服了YOU 。爱你啊。当年战事有你当电报教官中国就能早解放了。

出0入0汤圆

发表于 2011-9-19 21:12:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-20 13:44:58 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-9-28 17:02:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-5 20:55:34 | 显示全部楼层
mark,学习一下

出0入0汤圆

发表于 2011-11-18 20:09:19 | 显示全部楼层
顶一下。

出0入0汤圆

发表于 2011-11-18 20:46:18 | 显示全部楼层
牛X啊!

出0入0汤圆

发表于 2011-11-28 02:47:34 | 显示全部楼层
mark个~

出0入0汤圆

发表于 2011-12-1 15:46:55 | 显示全部楼层
还可以这样玩  酷毕了

出0入0汤圆

发表于 2011-12-1 19:48:46 | 显示全部楼层
好强大

出0入0汤圆

发表于 2011-12-11 14:28:20 | 显示全部楼层
膜拜

出0入0汤圆

发表于 2012-1-9 18:20:55 | 显示全部楼层
顶一个,可以借鉴一下!谢谢楼主分享!

出0入0汤圆

发表于 2012-2-8 12:59:06 | 显示全部楼层
cowboy   创新思维谢谢!!

出0入0汤圆

发表于 2012-2-17 22:29:02 | 显示全部楼层
好吧,这个明显已经可以用来打字了……

出0入0汤圆

发表于 2012-5-14 11:30:35 | 显示全部楼层
呵呵,很具有潜力

出0入0汤圆

发表于 2012-7-1 09:00:58 | 显示全部楼层
OMG,强焊

出0入12汤圆

发表于 2012-8-15 19:37:18 | 显示全部楼层
牛的一笔啊

出0入0汤圆

发表于 2012-12-17 14:10:09 | 显示全部楼层
这个好叼啊,太猛了

出0入0汤圆

发表于 2012-12-20 09:31:41 | 显示全部楼层
蛋疼....

出0入0汤圆

发表于 2012-12-20 18:55:50 | 显示全部楼层
神一样的存在啊

出0入0汤圆

发表于 2012-12-22 15:37:09 | 显示全部楼层
能人啊…………

出0入0汤圆

发表于 2012-12-22 18:29:54 | 显示全部楼层
之前见到有用微动开关来搞得,这个更原始……

出0入0汤圆

发表于 2012-12-24 16:09:01 来自手机 | 显示全部楼层
请问手机上怎么收藏帖子?

出0入0汤圆

发表于 2012-12-25 08:32:19 | 显示全部楼层
人肉键盘

出0入0汤圆

发表于 2013-4-30 23:34:24 | 显示全部楼层
学习了,强人

出0入0汤圆

发表于 2013-5-2 12:36:52 | 显示全部楼层
确实是最低成本,哈哈

出0入0汤圆

发表于 2013-5-6 09:00:31 | 显示全部楼层
想当年,单片机的程序都是靠拨码开关一个字节,一个字节的烧进去的

出0入0汤圆

发表于 2014-12-3 23:50:13 | 显示全部楼层
强大呀,楼主

出0入0汤圆

发表于 2015-8-2 11:26:28 | 显示全部楼层
彻底服了。。。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 07:34

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表