找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1561|回复: 8
打印 上一主题 下一主题
收起左侧

单片机怎么用74HC595驱动LCD1602

[复制链接]
跳转到指定楼层
楼主
请问下各位大佬怎么用74HC595驱动LCD1602啊?球球啦,能否有完整单片机代码看看
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:155507 发表于 2023-3-15 21:13 | 只看该作者
完全使用3个IO口驱动LCD1602 8051三线传送数据到74HC595


http://www.51hei.com/bbs/forum.p ... d=205491&pid=978646

回复

使用道具 举报

板凳
ID:1045456 发表于 2023-3-15 21:52 | 只看该作者
为了节省IO口用74HC595驱动LCD1602吗?74HC595是串行转并行芯片,按LCD1602输入指令输出就可以了
回复

使用道具 举报

地板
ID:236035 发表于 2023-3-16 09:05 | 只看该作者

void  hc595_shift_16(uint16 val16)
{
           uint8 i=0;
           uint16 temp16=val16;
          
           for(i=0;i<16;i++)
            {
                    //最高位移出,0b1000,0000,0000,0000    SDO
                    if(temp16 & 0x8000)   gpio_bit_set(GPIOA,GPIO_PIN_11);         
                    else                  gpio_bit_reset(GPIOA,GPIO_PIN_11);   
                    //shift clk active         SCK
                        gpio_bit_reset(GPIOA,GPIO_PIN_8);
                        gpio_bit_set(GPIOA,GPIO_PIN_8);
                    //next       
                    temp16<<=1;       
            }
}
回复

使用道具 举报

5#
ID:1034262 发表于 2023-3-16 10:02 | 只看该作者
1602可以7线驱动,4条数据线+3条信号线。
用595驱动,绕弯路,将要控制的数据按时序送给595即可。
回复

使用道具 举报

6#
ID:161164 发表于 2023-3-17 11:35 | 只看该作者
  1. #define SetRS 0x01
  2. #define RstRS 0x00
  3. #define SetEN 0x04
  4. #define RstEN 0x00
  5. void LCD_WCMD(u8 Cmd)
  6. {
  7.     HC595(RstRS | SetEN | (Cmd & 0xF0));
  8.     HC595(RstRS | RstEN | (Cmd & 0xF0));
  9.     Delay40us();

  10.     HC595(RstRS | SetEN | (Cmd << 4));
  11.     HC595(RstRS | RstEN | (Cmd << 4));
  12.     Delay40us();
  13. }
  14. void LCD_WDAT(u8 Dat)
  15. {
  16.     HC595(SetRS | SetEN | (Dat & 0xF0));
  17.     HC595(SetRS | RstEN | (Dat & 0xF0));
  18.     Delay40us();

  19.     HC595(SetRS | SetEN | (Dat << 4));
  20.     HC595(SetRS | RstEN | (Dat << 4));
  21.     Delay40us();
  22. }
复制代码


回复

使用道具 举报

7#
ID:16255 发表于 2023-3-21 11:44 | 只看该作者
如果想节省IO口,用PCF8574不是更好的选择吗?8574只用到两条线,最多可以驱动9个LCD1602。
回复

使用道具 举报

8#
ID:57657 发表于 2023-5-10 20:43 | 只看该作者
74HC595的信号只出不进,LCD1602无法向单片机返回读忙等指令。
回复

使用道具 举报

9#
ID:161164 发表于 2023-5-11 10:21 | 只看该作者
npn 发表于 2023-5-10 20:43
74HC595的信号只出不进,LCD1602无法向单片机返回读忙等指令。

不需读忙
普通命令延时40us
清屏命令延时2ms


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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