LCD'de D0-D3'ün anlamı nedir?


10

Arduino LiquidCrystal kütüphanesi farklı argümanlarla 4 oluşturucusu yok:

LiquidCrystal(rs, enable, d4, d5, d6, d7) 
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7) 
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7) 
LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)

Yapıcı argümanları için aşağıdaki yorumlar belirtilir:

[...] d0, d1, d2 ve d3 isteğe bağlıdır; atlanırsa, LCD yalnızca dört veri hattı (d4, d5, d6, d7) kullanılarak kontrol edilir.

d0-d3İhtiyaç duyulmaması halinde ne anlamı var ? Tepki süresini kısaltacaklar mı?

Yanıtlar:


12

Bu LCD türünün iki ana çalışma modu vardır: 4 veri iğnesi (d4-d7) kullanan 4 bit modu ve 8 veri piminin (d0-d7) tamamını kullanan 8 bit modu.

4 bit modu, Arduino'nuzda daha az çıkış pini gerektirme avantajına sahiptir. Bununla birlikte, çiziminizin her komutu / karakteri iki ayrı 4 bitlik grup halinde (birbiri ardına) göndermesi gerektiği anlamına gelir. Bu, LiquidCrystal kütüphanesi tarafından sizin için otomatik olarak ele alındığından, kodunuzda fazladan karmaşıklığa ihtiyacınız yoktur. Bununla birlikte, taslağınızın LCD'ye bir şey göndermek için işlemci döngüsünün sayısını yaklaşık iki katına çıkarması gerektiği anlamına gelir.

Buna karşılık, 8 bit modu her komutu / karakteri 8 bitlik tek bir toplu iş olarak gönderir. Bu, teknik olarak biraz daha hızlı çalıştığı anlamına gelir.

Bununla birlikte, ekrana bakan bir kişi muhtemelen hala çok hızlı gittiğinden, önemli bir hız farkı görmez. Ana etki mikrodenetleyici üzerinde olacaktır (bu durumda Arduino). Daha hızlı 8 bit modunu kullanabiliyorsa, diğer şeylere biraz daha fazla işlem süresi ayırabilir. Bu, zamanlama açısından kritik uygulamalar için özellikle yararlı olabilir.


With that said, a person looking at the display probably won't see a significant speed difference most of the time, as it still goes very quickly.Çoğu modülün (özellikle eBay'deki olanlar gibi ucuz Çinliler) düşük yenileme hızlarına sahip olma eğiliminde olduğu için genellikle sorun olmaz, bu yüzden onları bulanık, okunamayan bir karmaşaya dönüşmeden çok hızlı güncelleyemezsiniz.
Synetech

3

Cevap, bahsettiğiniz alıntı ile aynı sayfada (Önemli ifadeyi vurguladım):

Değişken tipte bir LiquidCrystal oluşturur. Ekran 4 veya 8 veri hattı kullanılarak kontrol edilebilir . Eğer öncekiyse, d0 ila d3 için pin numaralarını atlayın ve bu hatları bağlı bırakın. RW pimi, Arduino'daki bir pime bağlanmak yerine toprağa bağlanabilir; öyleyse, bu işlevin parametrelerinden atlayın.

Hitachi HD44780 LCD ekranın 4 bit veya 8 bit modlarında çalışabileceği ortaya çıkıyor.


1
Evet, hem 4 hem de 8 veri hattı kullanılarak kontrol edilebileceğini söylüyor. Ama sadece 4'e ihtiyacınız varsa 8'i kullanmanın anlamı nedir? Yani, 8 üzerinden 4 kullanmanın bir avantajı yok mu? Eğer işe yaramazsa neden 4 veri hattını israf edersiniz?
Kim

1
8 bit modunu kullanmak Arduino tarafında biraz daha hızlı ve daha basittir (daha az kod). Ancak genel olarak, 4 çıkış pimini ayırmaya kıyasla gerçekten buna değmez.
jfpoilpret

eğer It yetmeyecek bunu @jfpoilpret sahip dört ekstra çıkış işaretçilerine ...
Anonim Penguen

@annon, 8 pin modunu NASIL kullanmaya değer olduğu konusunda daha somut olabilir misiniz? Somut deney değerleri?
jfpoilpret

1
@jfpoilpret Peter'ın cevabında belirtildiği gibi , çipe biraz daha fazla işlem süresi verir. Fazladan dört pim varsa devam edin ve ekleyin. Çok daha büyük / daha pahalı olmasını gerektiriyorsa, buna gerçekten değmez.
Anonim Penguen

1

Bu pimlerin varlığı, HD44780U denetleyici yongası geliştirildiğinde LCD'yi mikroişlemcilerle arabirimlemek için kullanılması gereken tekniğin bir gereksinimidir.

Bildiğimiz gibi tek çipli mikrodenetleyiciler hala gelecekte idi ve LCD, 8-bit olan herhangi bir 8-bit I / O veya bellek cihazı ile aynı teknikleri kullanarak zamanların 8-bit mikroişlemci yongalarıyla arayüzlenmelidir. bit veriyolu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.