找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 2287|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)怎么用74HC595驅(qū)動(dòng)LCD1602

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
請(qǐng)問(wèn)下各位大佬怎么用74HC595驅(qū)動(dòng)LCD1602啊?球球啦,能否有完整單片機(jī)代碼看看
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:155507 發(fā)表于 2023-3-15 21:13 | 只看該作者
完全使用3個(gè)IO口驅(qū)動(dòng)LCD1602 8051三線傳送數(shù)據(jù)到74HC595


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

回復(fù)

使用道具 舉報(bào)

板凳
ID:1045456 發(fā)表于 2023-3-15 21:52 | 只看該作者
為了節(jié)省IO口用74HC595驅(qū)動(dòng)LCD1602嗎?74HC595是串行轉(zhuǎn)并行芯片,按LCD1602輸入指令輸出就可以了
回復(fù)

使用道具 舉報(bào)

地板
ID:236035 發(fā)表于 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;       
            }
}
回復(fù)

使用道具 舉報(bào)

5#
ID:1034262 發(fā)表于 2023-3-16 10:02 | 只看該作者
1602可以7線驅(qū)動(dòng),4條數(shù)據(jù)線+3條信號(hào)線。
用595驅(qū)動(dòng),繞彎路,將要控制的數(shù)據(jù)按時(shí)序送給595即可。
回復(fù)

使用道具 舉報(bào)

6#
ID:161164 發(fā)表于 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. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

7#
ID:16255 發(fā)表于 2023-3-21 11:44 | 只看該作者
如果想節(jié)省IO口,用PCF8574不是更好的選擇嗎?8574只用到兩條線,最多可以驅(qū)動(dòng)9個(gè)LCD1602。
回復(fù)

使用道具 舉報(bào)

8#
ID:57657 發(fā)表于 2023-5-10 20:43 | 只看該作者
74HC595的信號(hào)只出不進(jìn),LCD1602無(wú)法向單片機(jī)返回讀忙等指令。
回復(fù)

使用道具 舉報(bào)

9#
ID:161164 發(fā)表于 2023-5-11 10:21 | 只看該作者
npn 發(fā)表于 2023-5-10 20:43
74HC595的信號(hào)只出不進(jìn),LCD1602無(wú)法向單片機(jī)返回讀忙等指令。

不需讀忙
普通命令延時(shí)40us
清屏命令延時(shí)2ms


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表