Điểm của D0-D3 trên LCD là gì?


10

Các thư viện Arduino LiquidCrystal có 4 nhà xây dựng với các đối số khác nhau:

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)

Các ý kiến ​​sau đây được nêu cho các đối số của hàm tạo:

[...] d0, d1, d2 và d3 là tùy chọn; nếu bị bỏ qua, màn hình LCD sẽ được điều khiển chỉ bằng bốn dòng dữ liệu (d4, d5, d6, d7).

Điểm của d0-d3nếu họ không cần thiết là gì? Họ sẽ giảm thời gian phản hồi?

Câu trả lời:


12

Loại LCD đó có hai chế độ hoạt động chính: chế độ 4 bit sử dụng 4 chân dữ liệu (d4-d7) và chế độ 8 bit sử dụng tất cả 8 chân dữ liệu (d0-d7).

Chế độ 4 bit có ưu điểm là yêu cầu ít chân đầu ra hơn trên Arduino của bạn. Tuy nhiên, điều đó có nghĩa là bản phác thảo của bạn cần gửi mỗi lệnh / ký tự thành hai lô 4 bit riêng biệt (lần lượt từng bit). Điều này được thư viện LiquidCrystal xử lý tự động cho bạn, do đó bạn sẽ không cần thêm bất kỳ sự phức tạp nào trong mã của mình. Tuy nhiên, điều đó có nghĩa là bản phác thảo của bạn yêu cầu gấp đôi số chu kỳ bộ xử lý để gửi bất cứ thứ gì lên LCD.

Ngược lại, chế độ 8 bit gửi mỗi lệnh / ký tự dưới dạng một lô 8 bit. Điều đó đơn giản có nghĩa là về mặt kỹ thuật nó chạy nhanh hơn một chút.

Như đã nói, một người nhìn vào màn hình có thể sẽ không thấy sự khác biệt đáng kể về tốc độ trong hầu hết thời gian, vì nó vẫn diễn ra rất nhanh. Tác động chính sẽ là vi điều khiển (Arduino trong trường hợp này). Nếu nó có thể sử dụng chế độ 8 bit nhanh hơn thì nó có thể dành nhiều thời gian xử lý hơn cho những thứ khác. Điều đó có thể đặc biệt hữu ích cho các ứng dụng quan trọng về thời gian.


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.Điều này thường không phải là vấn đề vì nhiều mô-đun (đặc biệt là các mô-đun giá rẻ của Trung Quốc như trên eBay) có xu hướng có tốc độ làm mới thấp, vì vậy dù sao bạn cũng không thể cập nhật chúng quá nhanh mà không biến chúng thành một mớ hỗn độn mờ nhạt.
Synetech

3

Câu trả lời nằm trên cùng trang với trích dẫn bạn đã đề cập (Tôi đã nhấn mạnh tuyên bố quan trọng):

Tạo một biến loại LiquidCstall. Màn hình có thể được điều khiển bằng 4 hoặc 8 dòng dữ liệu . Nếu trước đây, bỏ qua các số pin cho d0 đến d3 và để các dòng đó không được kết nối. Chân RW có thể được buộc xuống đất thay vì kết nối với chân trên Arduino; nếu vậy, bỏ qua nó từ tham số của hàm này.

Hóa ra màn hình LCD của Hitachi HD44780 có thể hoạt động ở chế độ 4 bit hoặc 8 bit.


1
Vâng, nó nói rằng nó có thể được kiểm soát bằng cả hai dòng dữ liệu 4 và 8. Nhưng điểm của việc sử dụng 8 là gì nếu bạn chỉ cần 4? Ý tôi là, không có bất kỳ lợi thế nào của việc sử dụng 8 trên 4? Tại sao lãng phí 4 dòng dữ liệu nếu nó không được sử dụng?
Bạn của Kim

1
Sử dụng chế độ 8 bit nhanh hơn một chút về phía Arduino và đơn giản hơn (ít mã hơn). Nhưng nói chung, nó không thực sự xứng đáng, so với 4 chân đầu ra.
jfpoilpret

@jfpoilpret Thật đáng giá nếu bạn bốn chân đầu ra bổ sung ...
Penguin Penguin

@annon bạn có thể cụ thể hơn về cách sử dụng chế độ 8 chân không? Giá trị thí nghiệm cụ thể?
jfpoilpret

1
@jfpoilpret Như đã nêu trong câu trả lời của Peter , nó mang lại thêm một chút thời gian xử lý cho chip. Nếu bạn có bốn chân phụ, hãy tiếp tục và thêm nó. Nếu nó đòi hỏi nó phải lớn hơn / đắt hơn nhiều, thì nó không thực sự xứng đáng.
Chim cánh cụt vô danh

1

Sự hiện diện của các chân này là một yêu cầu của kỹ thuật phải được sử dụng để giao tiếp LCD với các bộ vi xử lý có sẵn khi chip điều khiển HD44780U được phát triển.

Như chúng ta biết, các bộ vi điều khiển đơn chip mà chúng ta vẫn biết trong tương lai và LCD phải được giao tiếp với các chip vi xử lý 8 bit của thời đại sử dụng các kỹ thuật tương tự như bất kỳ thiết bị I / O 8 bit nào khác là 8- xe buýt bit.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.