![]() |
發布時間: 2021-4-19 17:41
正文摘要:用三個74hc595控制三個lcd1602,請問三個1602端的rs rw en 如何連接呢?每個屏幕分別控制的話,整體編程的思路是什么樣子呢?三個lcd的寫入數據,寫入指令,初始化都用一個么,還是分別用三個呢? 小白這兩天這個 ... |
如果說修改代碼也不會或懶得去修改能用我的595驅動函數?當然可以了,那就要多做一步把十六進制數據轉十進位制數即可直接調用我十進位制處理的驅動函數了,進制轉換有2種方法,一種慢的,一種快的比使用位移7再位移1的處理方法更快. |
剛好有另外的提問,一并做了個實例,一并回復,我給的連接595驅動中的十進制轉化代碼注釋掉,用十六進制的代碼替換即可.
這是2片級聯完成的運行 ![]() |
xianfajushi 發表于 2021-4-20 13:57 http://www.zg4o1577.cn/bbs/dpj-205491-1.html能幫我看看這樣寫可以么?感謝 ![]() |
laopihappy123 發表于 2021-4-20 15:21 也就是說lcd1602的rw,rs,en也都連在一起是么?想單獨控制每個屏幕顯示的話en要分成三條線么?還是連在一起沒有影響? ![]() |
建議級聯,3個595 控制線2根 數據線一根 然后3個lcd的三根控制線連在一起 總共也只要6根線 |
按道理是可以的。 |
我覺得這樣電路不如級聯好,級聯寫一個函數即可,一次連續發三個數據,數據發完成后同時控制,也能節省IO口,程序寫得也省事,分開沒什么優勢同樣也需要發3次且代碼寫得也相對復雜點,當然這樣電路形式不是不能寫,只是我覺得相對顯得比較麻煩,IO口也用的較多。 |
kmsj 發表于 2021-4-20 12:14 學校課程設計的內容 ![]() |
birdzhyli 發表于 2021-4-20 11:59 en口是分別接的,不知道能不能行 |
實在搞不清楚為什么要搞三個1602同時顯示?不能搞個大一點的液晶?![]() ![]() 我有現成的兩片CD4094擴展出來的1602顯示+74HC165+融合的6個感應開關,一共用了7個I/O口,我做這個板是為了減少I/O口,方便和我的實驗板連接,由于只需要一片,熱轉印做成單面就了事了,不想去打樣。壓根沒有想過要擴兩個以上的1602,那也不難啊,一片1602有11個I/O口,三個就是33個,4片4094是32個O口,只差一個,有點尷尬,那就再借用一個單片機的I/O口,也就是是5個單片機I/O口+4片4094就可以擴展出3個1602,但是,布線麻煩,建議每兩片4094擴展一個1602,做出來的電路板是一模一樣的,三個電路板串聯起來就搞定,就是串聯8個10個1602也沒有問題,僅僅只需要4個I/O口。595沒有用過,看了管腳排列,工作原理和4094差不多,只是布線更容易一些,595的速度更快一些,不管是用4094還是595,和1602的連接沒有必要一一對應,數據在程序里調整,在原理圖里調整出PCB的最佳走線,編程也簡單,三個1602端的rs rw en加上8位數據,一共湊成6個8位數據,只管往595里面發送就是了,發完以后使能數據并行輸出,比如要改變rs rw en或者8位數據,每改變一個,就發送一次,1602的D7不必檢測,和D0-D6一樣用就可以,51單片機不要用移位的方法編程,盡量用位操作,加快595的移位速度,每個1602單元的電路板很小,絕對不超過10×10,可以打來5個樣串聯5片1602,只要先編出一片的程序,5片8片10片都沒有問題。IIC也是個好主意,6個I/O口顯示三片1602,只是速度可能更慢一些。 |
3個LCD都接同樣的3個口,有問題沒有?我昨天插著LCD的時候點亮和它在一起接的LED燈是點不亮的,插掉LCD就可以點亮LED燈,我感覺相互之間可能會有影響,具體原因我也不清楚 |
xianfajushi 發表于 2021-4-20 08:36 你好,我這自己編寫了一個程序,但是不知道哪里的問題,三個顯示屏都顯示不出來,您有時間的話能幫我看下么? ![]() |
xianfajushi 發表于 2021-4-20 08:36 C:\Users\向陽星Young\Desktop |
用IIC的1602吧,三個1602 只要6個IO就夠用了 |
鎖存器無論是并行的還是串行的都是一樣道理,不過是數據傳輸方法不同罷了。1602控制方法也有很多變化,看電路要如何設計,可并可分主要看IO口是否夠用還是要擴展等等,電路確定了才能決定編寫程序。 |