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

QQ登錄

只需一步,快速開始

搜索
查看: 3678|回復(fù): 17
收起左側(cè)

單片機(jī)小白求助,三個(gè)74hc595控制三個(gè)lcd1602的設(shè)計(jì)思路

[復(fù)制鏈接]
ID:897033 發(fā)表于 2021-4-19 17:41 | 顯示全部樓層 |閱讀模式
用三個(gè)74hc595控制三個(gè)lcd1602,請(qǐng)問三個(gè)1602端的rs rw en 如何連接呢?每個(gè)屏幕分別控制的話,整體編程的思路是什么樣子呢?三個(gè)lcd的寫入數(shù)據(jù),寫入指令,初始化都用一個(gè)么,還是分別用三個(gè)呢?

小白這兩天這個(gè)東西就是想不明白,求幫助。!謝謝大家!!

回復(fù)

使用道具 舉報(bào)

ID:332444 發(fā)表于 2021-4-20 08:36 | 顯示全部樓層
鎖存器無論是并行的還是串行的都是一樣道理,不過是數(shù)據(jù)傳輸方法不同罷了。1602控制方法也有很多變化,看電路要如何設(shè)計(jì),可并可分主要看IO口是否夠用還是要擴(kuò)展等等,電路確定了才能決定編寫程序。
回復(fù)

使用道具 舉報(bào)

ID:894154 發(fā)表于 2021-4-20 08:50 | 顯示全部樓層
用IIC的1602吧,三個(gè)1602 只要6個(gè)IO就夠用了
回復(fù)

使用道具 舉報(bào)

ID:897033 發(fā)表于 2021-4-20 11:24 | 顯示全部樓層
xianfajushi 發(fā)表于 2021-4-20 08:36
鎖存器無論是并行的還是串行的都是一樣道理,不過是數(shù)據(jù)傳輸方法不同罷了。1602控制方法也有很多變化,看電 ...

C:\Users\向陽星Young\Desktop
回復(fù)

使用道具 舉報(bào)

ID:897033 發(fā)表于 2021-4-20 11:26 | 顯示全部樓層
xianfajushi 發(fā)表于 2021-4-20 08:36
鎖存器無論是并行的還是串行的都是一樣道理,不過是數(shù)據(jù)傳輸方法不同罷了。1602控制方法也有很多變化,看電 ...

你好,我這自己編寫了一個(gè)程序,但是不知道哪里的問題,三個(gè)顯示屏都顯示不出來,您有時(shí)間的話能幫我看下么?謝謝。
回復(fù)

使用道具 舉報(bào)

ID:897033 發(fā)表于 2021-4-20 11:31 | 顯示全部樓層
我的仿真圖是這個(gè)樣子的:

這是仿真圖

這是仿真圖
回復(fù)

使用道具 舉報(bào)

ID:889094 發(fā)表于 2021-4-20 11:59 | 顯示全部樓層
3個(gè)LCD都接同樣的3個(gè)口,有問題沒有?我昨天插著LCD的時(shí)候點(diǎn)亮和它在一起接的LED燈是點(diǎn)不亮的,插掉LCD就可以點(diǎn)亮LED燈,我感覺相互之間可能會(huì)有影響,具體原因我也不清楚
回復(fù)

使用道具 舉報(bào)

ID:383215 發(fā)表于 2021-4-20 12:14 | 顯示全部樓層
實(shí)在搞不清楚為什么要搞三個(gè)1602同時(shí)顯示?不能搞個(gè)大一點(diǎn)的液晶?
   16021.jpg
16022.jpg

我有現(xiàn)成的兩片CD4094擴(kuò)展出來的1602顯示+74HC165+融合的6個(gè)感應(yīng)開關(guān),一共用了7個(gè)I/O口,我做這個(gè)板是為了減少I/O口,方便和我的實(shí)驗(yàn)板連接,由于只需要一片,熱轉(zhuǎn)印做成單面就了事了,不想去打樣。壓根沒有想過要擴(kuò)兩個(gè)以上的1602,那也不難啊,一片1602有11個(gè)I/O口,三個(gè)就是33個(gè),4片4094是32個(gè)O口,只差一個(gè),有點(diǎn)尷尬,那就再借用一個(gè)單片機(jī)的I/O口,也就是是5個(gè)單片機(jī)I/O口+4片4094就可以擴(kuò)展出3個(gè)1602,但是,布線麻煩,建議每?jī)善?094擴(kuò)展一個(gè)1602,做出來的電路板是一模一樣的,三個(gè)電路板串聯(lián)起來就搞定,就是串聯(lián)8個(gè)10個(gè)1602也沒有問題,僅僅只需要4個(gè)I/O口。595沒有用過,看了管腳排列,工作原理和4094差不多,只是布線更容易一些,595的速度更快一些,不管是用4094還是595,和1602的連接沒有必要一一對(duì)應(yīng),數(shù)據(jù)在程序里調(diào)整,在原理圖里調(diào)整出PCB的最佳走線,編程也簡(jiǎn)單,三個(gè)1602端的rs rw en加上8位數(shù)據(jù),一共湊成6個(gè)8位數(shù)據(jù),只管往595里面發(fā)送就是了,發(fā)完以后使能數(shù)據(jù)并行輸出,比如要改變r(jià)s rw en或者8位數(shù)據(jù),每改變一個(gè),就發(fā)送一次,1602的D7不必檢測(cè),和D0-D6一樣用就可以,51單片機(jī)不要用移位的方法編程,盡量用位操作,加快595的移位速度,每個(gè)1602單元的電路板很小,絕對(duì)不超過10×10,可以打來5個(gè)樣串聯(lián)5片1602,只要先編出一片的程序,5片8片10片都沒有問題。IIC也是個(gè)好主意,6個(gè)I/O口顯示三片1602,只是速度可能更慢一些。

回復(fù)

使用道具 舉報(bào)

ID:897033 發(fā)表于 2021-4-20 12:26 | 顯示全部樓層
birdzhyli 發(fā)表于 2021-4-20 11:59
3個(gè)LCD都接同樣的3個(gè)口,有問題沒有?我昨天插著LCD的時(shí)候點(diǎn)亮和它在一起接的LED燈是點(diǎn)不亮的,插掉LCD就可 ...

en口是分別接的,不知道能不能行
回復(fù)

使用道具 舉報(bào)

ID:897033 發(fā)表于 2021-4-20 12:27 | 顯示全部樓層
kmsj 發(fā)表于 2021-4-20 12:14
實(shí)在搞不清楚為什么要搞三個(gè)1602同時(shí)顯示?不能搞個(gè)大一點(diǎn)的液晶?
  

學(xué)校課程設(shè)計(jì)的內(nèi)容
回復(fù)

使用道具 舉報(bào)

ID:332444 發(fā)表于 2021-4-20 13:57 | 顯示全部樓層
我覺得這樣電路不如級(jí)聯(lián)好,級(jí)聯(lián)寫一個(gè)函數(shù)即可,一次連續(xù)發(fā)三個(gè)數(shù)據(jù),數(shù)據(jù)發(fā)完成后同時(shí)控制,也能節(jié)省IO口,程序?qū)懙靡彩∈,分開沒什么優(yōu)勢(shì)同樣也需要發(fā)3次且代碼寫得也相對(duì)復(fù)雜點(diǎn),當(dāng)然這樣電路形式不是不能寫,只是我覺得相對(duì)顯得比較麻煩,IO口也用的較多。
回復(fù)

使用道具 舉報(bào)

ID:332444 發(fā)表于 2021-4-20 13:57 | 顯示全部樓層
回復(fù)

使用道具 舉報(bào)

ID:883031 發(fā)表于 2021-4-20 15:07 | 顯示全部樓層
按道理是可以的。
回復(fù)

使用道具 舉報(bào)

ID:518902 發(fā)表于 2021-4-20 15:21 | 顯示全部樓層
建議級(jí)聯(lián),3個(gè)595 控制線2根 數(shù)據(jù)線一根 然后3個(gè)lcd的三根控制線連在一起 總共也只要6根線
回復(fù)

使用道具 舉報(bào)

ID:897033 發(fā)表于 2021-4-20 15:25 | 顯示全部樓層
laopihappy123 發(fā)表于 2021-4-20 15:21
建議級(jí)聯(lián),3個(gè)595 控制線2根 數(shù)據(jù)線一根 然后3個(gè)lcd的三根控制線連在一起 總共也只要6根線

也就是說lcd1602的rw,rs,en也都連在一起是么?想單獨(dú)控制每個(gè)屏幕顯示的話en要分成三條線么?還是連在一起沒有影響?
回復(fù)

使用道具 舉報(bào)

ID:897033 發(fā)表于 2021-4-20 15:36 | 顯示全部樓層
xianfajushi 發(fā)表于 2021-4-20 13:57
595函數(shù)可參http://www.torrancerestoration.com/bbs/dpj-201714-1.html

http://www.torrancerestoration.com/bbs/dpj-205491-1.html能幫我看看這樣寫可以么?感謝
回復(fù)

使用道具 舉報(bào)

ID:332444 發(fā)表于 2021-4-25 11:21 | 顯示全部樓層
剛好有另外的提問,一并做了個(gè)實(shí)例,一并回復(fù),我給的連接595驅(qū)動(dòng)中的十進(jìn)制轉(zhuǎn)化代碼注釋掉,用十六進(jìn)制的代碼替換即可.
  1.                 ds=sj>>7;//十六進(jìn)制數(shù)據(jù)發(fā)送
  2.                 sj<<=1;
  3. //                ds=sj%2;//十進(jìn)制數(shù)據(jù)發(fā)送
  4. //                sj/=2;
復(fù)制代碼
  1. unsigned char code shuju[]={
  2. 0x00,0x38,0x44,0x54,0x44,0x38,0x00,0x00,0x00,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00,0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00,
  3. 0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,0x82,0x82,0xFE,0x82,0x82,0x00,0x00,0x18,0x24,0x12,0x12,0x12,0x24,0x18,0x00,
  4. 0x00,0x7C,0x02,0x02,0x02,0x7C,0x00,0x00
  5. };//數(shù)據(jù)
  6. unsigned char code sjwei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//位,用移位函數(shù),移位運(yùn)算符,數(shù)字.

  7. 主函數(shù):
  8.         unsigned char b=0, j=0, xd=0, h=0;
  9. QuDong595(shuju[b+j]);
  10. QuDong595(sjwei[b]);
復(fù)制代碼


這是2片級(jí)聯(lián)完成的運(yùn)行
錄像5_轉(zhuǎn).gif
回復(fù)

使用道具 舉報(bào)

ID:332444 發(fā)表于 2021-4-25 15:23 | 顯示全部樓層
如果說修改代碼也不會(huì)或懶得去修改能用我的595驅(qū)動(dòng)函數(shù)?當(dāng)然可以了,那就要多做一步把十六進(jìn)制數(shù)據(jù)轉(zhuǎn)十進(jìn)位制數(shù)即可直接調(diào)用我十進(jìn)位制處理的驅(qū)動(dòng)函數(shù)了,進(jìn)制轉(zhuǎn)換有2種方法,一種慢的,一種快的比使用位移7再位移1的處理方法更快.
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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