- Vật liệu thiết yếu:
- Giới thiệu ngắn gọn về màn hình LCD ma trận điểm 16 × 2:
- Sơ đồ mạch và kết nối:
- Lập trình MSP430 cho LCD bằng Energia:
- LCD 16x2 với MSP430G2:
Đây là hướng dẫn thứ ba trong chuỗi các hướng dẫn mà chúng ta đang học cách lập trình MSP430G2 LaunchPad bằng Energia IDE. Trong hướng dẫn trước của chúng tôi, chúng tôi đã học cách điều khiển các chân Đầu vào và Đầu ra Kỹ thuật số trên bảng MSP của chúng tôi. Trong hướng dẫn này, chúng ta sẽ học cách giao diện màn hình LCD với bảng để có thể hiển thị thông tin hữu ích.
Màn hình LCD mà chúng tôi đang sử dụng trong dự án này là màn hình LCD ma trận điểm 16 × 2 được sử dụng phổ biến nhất trên Màn hình chữ và số akan. Hầu hết chúng ta đều đã gặp điều này thông qua các PCO công cộng hoặc các dự án điện tử khác. Một màn hình như thế này sẽ rất hữu ích cho các hướng dẫn trong tương lai của chúng tôi để hiển thị dữ liệu và thông tin gỡ lỗi khác. Giao tiếp giữa màn hình LCD này với MSP430 rất dễ dàng, nhờ vào thư viện có sẵn. Vì vậy, chúng ta hãy đi sâu vào !!
Vật liệu thiết yếu:
- MSP430G2 LaunchPad từ Texas Instruments
- Màn hình LCD ma trận điểm 16 × 2
- Kết nối dây
- Energia IDE
Giới thiệu ngắn gọn về màn hình LCD ma trận điểm 16 × 2:
Như đã nói trước đó, Energia IDE cung cấp một thư viện tuyệt đẹp giúp giao diện trở thành một miếng bánh và do đó không bắt buộc phải biết bất kỳ điều gì về mô-đun hiển thị. Nhưng, sẽ không thú vị khi hiển thị những gì chúng tôi đang sử dụng !!
Tên 16 × 2 ngụ ý rằng màn hình có 16 Cột và 2 Hàng, cùng nhau (16 * 2) tạo thành 32 hộp. Một hộp duy nhất sẽ trông giống như thế này trong hình dưới đây
Một hộp đơn có 40 pixel (chấm) với thứ tự ma trận gồm 5 Hàng và 8 cột, 40 pixel này cùng nhau tạo thành một ký tự. Tương tự, 32 ký tự có thể được hiển thị bằng cách sử dụng tất cả các hộp. Bây giờ chúng ta hãy nhìn vào sơ đồ chân.
Màn hình LCD có tổng cộng 16 Chân, như hình trên, chúng có thể được phân loại thành bốn nhóm như sau
Các chân nguồn (1, 2 và 3): Các chân này cấp nguồn và mức độ tương phản cho màn hình
Các chân điều khiển (4, 5 và 6): Các chân này đặt / điều khiển các thanh ghi trong IC giao tiếp LCD (có thể tìm thêm thông tin này trong liên kết bên dưới)
Các chân dữ liệu / lệnh (7 đến 14): Các chân này cung cấp dữ liệu về thông tin nào sẽ được hiển thị trên màn hình LCD.
Chân LED (15 và 16): Các chân này được sử dụng để phát sáng đèn nền của LCD nếu cần (tùy chọn).
Trong số tất cả 16 chân này, chỉ có 10 chân được sử dụng bắt buộc để màn hình LCD hoạt động tốt nếu bạn muốn biết thêm về các màn hình LCD này, hãy xem bài viết về LCD này.
Sơ đồ mạch và kết nối:
Sơ đồ mạch hoàn chỉnh để giao diện màn hình LCD ma trận 16 × 2 với MSP430G2 được hiển thị bên dưới.
Một hạn chế chính trong khi giao tiếp hai loại này là điện áp hoạt động của chúng. Màn hình LCD có điện áp hoạt động là + 5V trong khi MSP chỉ hoạt động với 3,6V. May mắn cho chúng tôi là chân dữ liệu của IC giao diện LCD (HD44780U) có điện áp hoạt động rộng từ 2,7V đến 5,5V. Vì vậy, chúng ta chỉ phải lo lắng về Vdd (chân 2) của màn hình LCD trong khi các chân dữ liệu có thể hoạt động ngay cả với 3.6V.
Bo mạch MSP430G2 theo mặc định không cung cấp cho bạn chân + 5V, nhưng chúng tôi có thể thực hiện một thủ thuật nhỏ để lấy + 5V từ MSP430 bằng cổng USB. Nếu bạn quan sát kỹ gần cổng USB, bạn có thể tìm thấy một thiết bị đầu cuối gọi là TP1, thiết bị đầu cuối này sẽ cung cấp cho chúng ta + 5v. Tất cả những gì chúng ta phải làm là hàn một chân cắm đầu đực nhỏ như hình dưới đây để chúng ta có thể kết nối nó với màn hình LCD.
Lưu ý: Không kết nối các tải có thể tiêu thụ hơn 50mA vào chân 5V này vì nó có thể làm hỏng cổng USB của bạn.
Nếu bạn không quan tâm đến việc hàn, chỉ cần sử dụng bất kỳ nguồn cung cấp được điều chỉnh + 5V nào và cấp nguồn cho màn hình LCD, trong trường hợp đó, hãy đảm bảo bạn kết nối đất của nguồn điện với mặt đất của bảng MSP.
Khi bạn đã hoàn tất với chân + 5V kết nối các chân khác khá đơn giản. Bây giờ phần cứng của chúng ta đã sẵn sàng, hãy chuyển sang phần phần mềm.
Lập trình MSP430 cho LCD bằng Energia:
Các chương trình trọn gói để giao tiếp một MSP430G2553 với màn hình LCD được đưa ra ở cuối trang này. Mã có thể được biên dịch, tải lên và sử dụng như vậy. Trong các đoạn sau, tôi sẽ giải thích cách hoạt động của chương trình.
Trước khi chúng tôi tiến hành giải thích, chúng tôi phải ghi lại các ghim mà chúng tôi đang sử dụng. Nếu bạn xem sơ đồ mạch ở trên và sơ đồ chân ra MSP430 bên dưới
Bạn có thể kết luận rằng chúng tôi đã kết nối màn hình LCD theo bảng sau
Tên pin LCD |
Kết nối với |
Vss |
Đất |
Vdd |
+ Chân USB 5V |
Rs |
Pin 2 của MSP |
R / W |
Đất |
Kích hoạt |
Pin 3 của MSP |
D4 |
Pin 4 của MSP |
D5 |
Pin 5 của MSP |
D6 |
Pin 6 của MSP |
D7 |
Pin 7 của MSP |
Với điều này, chúng ta hãy bắt đầu xác định các chân LCD được sử dụng trong chương trình của chúng ta. Chúng ta sẽ đặt tên cho mỗi chiếc ghim bằng một cái tên ý nghĩa hơn để sau này có thể dễ dàng sử dụng.
#define RS 2 #define EN 3 #define D4 4 #define D5 5 #define D6 6 #define D7 7
Điều này đơn giản có nghĩa là thay vì gọi chân 2, tôi có thể gọi nó là RS sau đây, tương tự cho tất cả 6 chân.
Bước tiếp theo sẽ là bao gồm thư viện LCD. Thư viện này sẽ được cài đặt tự động khi bạn cài đặt IDE Energia. Vì vậy, chỉ cần thêm nó bằng cách sử dụng dòng sau
#include
Bước tiếp theo là đề cập đến các chân mà LCD được kết nối với, vì chúng ta đã đặt tên cho nó bằng cách sử dụng #define, bây giờ chúng ta có thể chỉ cần đề cập đến tên của các chân LCD. Hãy chắc chắn rằng thứ tự được tuân theo.
Màn hình LCD LiquidCrystal (RS, EN, D4, D5, D6, D7);
Bây giờ chúng ta di chuyển vào khoảng trống setup () chức năng. Có rất nhiều loại màn hình LCD khác nhau về kích thước và tính chất, loại mà chúng tôi đang sử dụng là 16 * 2, vì vậy hãy xác định điều đó trong chương trình của chúng tôi
lcd.begin (16, 2);
Để in thứ gì đó trên màn hình LCD, chúng ta phải đề cập đến hai điều trong chương trình. Một là vị trí của văn bản có thể được đề cập bằng cách sử dụng dòng lcd.setCursor () và khác là nội dung cần in có thể được đề cập bởi lcd.print (). Trong dòng này, chúng tôi đang thiết lập con trỏ đến 1 st hàng và 1 st cột.
lcd.setCursor (0,0);
Tương tự, chúng ta cũng có thể
lcd.setCursor (0, 1); // đặt con trỏ thành cột thứ nhất, hàng thứ hai
Giống như việc xóa bảng trắng sau khi viết trên đó, màn hình LCD cũng nên được xóa khi có thứ gì đó được viết trên đó. Điều này có thể được thực hiện bằng cách sử dụng dòng dưới đây
lcd.clear ();
Vì vậy, hàm void setup () hoàn chỉnh sẽ trông giống như thế này.
void setup () {lcd.begin (16, 2); // Chúng tôi đang sử dụng màn hình LCD 16 * 2 lcd.setCursor (0,0); // Đặt con trỏ ở hàng thứ nhất, cột thứ nhất lcd.print ("MSP430G2553"); // Hiển thị thông báo giới thiệu lcd.setCursor (0, 1); // đặt con trỏ ở cột thứ nhất, hàng thứ 2 lcd.print ("- CircuitDigest"); // Hiển thị độ trễ thông báo giới thiệu (2000); // Chờ màn hình hiển thị thông tin lcd.clear (); // Sau đó làm sạch nó}
Tiếp theo, bên trong hàm void loop () , hãy tiếp tục tăng một số cho mỗi 500ms và hiển thị số trên màn hình LCD. Số này kiểm tra và được khởi tạo thành 1 như hình dưới đây
int test = 1;
Để tạo độ trễ, chúng ta có thể sử dụng hàm delay () có sẵn. Chúng tôi phải đề cập đến việc chúng tôi cần bao nhiêu thời gian để sự chậm trễ xảy ra. Trong trường hợp của chúng tôi, tôi đã sử dụng 500ms như hình dưới đây
chậm trễ (500);
Việc tăng một biến có thể được thực hiện bằng test ++, phần còn lại tất cả đều đã được giải thích. Các mã hoàn chỉnh bên trong khoảng trống vòng lặp được hiển thị dưới đây
void loop () {lcd.print ("LCD với MSP"); // Hiển thị thông báo giới thiệu lcd.setCursor (0, 1); // đặt con trỏ ở cột 0, dòng 1 lcd.print (test); // Hiển thị độ trễ tin nhắn giới thiệu (500); lcd.clear (); // Sau đó làm sạch nó test ++; }
LCD 16x2 với MSP430G2:
Khi phần cứng và mã của bạn đã sẵn sàng, chỉ cần kết nối bo mạch của bạn với máy tính và tải mã lên như chúng tôi đã làm trong hướng dẫn một. Sau khi mã được tải lên, bạn sẽ thấy màn hình hiển thị như sau.
Sau hai giây, màn hình hiển thị sẽ thay đổi từ thiết lập sang vòng lặp và bắt đầu tăng biến và hiển thị trên màn hình như hình bên dưới.
Toàn bộ hoạt động có thể được tìm thấy trong video dưới đây. Hãy tiếp tục và thử thay đổi những gì đang hiển thị trên màn hình LCD và chơi với nó. Hy vọng bạn đã hiểu hướng dẫn và học được điều gì đó hữu ích từ nó. Nếu bạn có bất kỳ nghi ngờ nào, hãy để lại chúng trong phần bình luận bên dưới hoặc sử dụng diễn đàn. Chúng ta hãy gặp nhau trong một hướng dẫn khác.