Hiển thị là một phần rất quan trọng của bất kỳ Ứng dụng Hệ thống Nhúng nào vì nó giúp người dùng biết trạng thái của hệ thống và cũng hiển thị đầu ra hoặc bất kỳ thông báo cảnh báo nào do hệ thống tạo ra. Có nhiều loại màn hình được sử dụng trong điện tử như màn hình 7 đoạn, màn hình LCD, màn hình cảm ứng TFT, màn hình LED, v.v.
Chúng tôi đã Interfaced LCD 16x2 với ARM7-LPC2148 trong hướng dẫn trước của chúng tôi. Hôm nay trong hướng dẫn này, chúng ta sẽ giao diện Màn hình 7 đoạn với ARM7-LPC2148. Trước khi đi vào chi tiết, chúng ta sẽ xem cách điều khiển mô-đun 7 đoạn để hiển thị bất kỳ số ký tự nào.
Hiển thị 7 phân đoạn
Màn hình 7 phân đoạn là một trong những đơn vị hiển thị đơn giản nhất để hiển thị các số và ký tự. Nó thường được sử dụng để hiển thị số và có độ chiếu sáng sáng hơn và cấu tạo đơn giản hơn so với màn hình ma trận điểm. Và bởi vì ánh sáng sáng hơn, đầu ra có thể được xem từ khoảng cách lớn hơn so với màn hình LCD. Như trong hình trên của màn hình 7 đoạn, nó bao gồm 8 đèn LED, mỗi đèn LED được sử dụng để chiếu sáng một đoạn đơn vị và đèn LED thứ 8 được sử dụng để chiếu sáng DOT trong màn hình 7 đoạn. 8LED được sử dụng khi hai hoặc nhiều mô-đun 7 đoạn được sử dụng, ví dụ: để hiển thị (0,1). Một mô-đun đơn được sử dụng để hiển thị một chữ số hoặc ký tự. Để hiển thị nhiều hơn một chữ số hoặc ký tự, nhiều đoạn 7 được sử dụng.
Các chân của màn hình 7 đoạn
Có 10 chân, trong đó 8 chân dùng để tham chiếu a, b, c, d, e, f, g và h / dp, hai chân giữa là cực dương / cực âm chung của tất cả các đèn LED. Các cực dương / cực âm chung này bị ngắn mạch bên trong nên chúng ta chỉ cần kết nối một chân COM
Tùy thuộc vào kết nối, chúng tôi phân loại 7-Segment thành hai loại:
Cathode chung
Trong đó, tất cả các cực âm (cực âm) của tất cả 8 đèn LED được kết nối với nhau (xem sơ đồ bên dưới), được đặt tên là COM. Và tất cả các cực dương được để riêng hoặc kết nối với các chân của vi điều khiển. Nếu chúng ta sử dụng vi điều khiển, chúng ta đặt logic CAO để chiếu sáng cụ thể và đặt LOW để TẮT LED.
Cực dương chung
Trong đó tất cả các cực dương (Cực dương) của tất cả 8 đèn LED được kết nối với nhau, được đặt tên là COM. Và tất cả các nhiệt âm được để riêng hoặc kết nối với các chân của vi điều khiển. Nếu chúng ta sử dụng vi điều khiển, chúng ta đặt logic THẤP để chiếu sáng cụ thể và đặt logic Cao để TẮT LED.
Vì vậy, tùy thuộc vào giá trị pin, một đoạn hoặc dòng cụ thể gồm 7 đoạn có thể được Bật hoặc Tắt để hiển thị số hoặc bảng chữ cái mong muốn. Ví dụ để hiển thị chữ số 0, chúng ta phải đặt các chân ABCDEF là CAO và chỉ G là THẤP. Vì đèn LED ABCDEF BẬT và G TẮT, điều này tạo thành chữ số 0 trong mô-đun 7 đoạn. (Cái này đối với cực âm chung, đối với cực dương chung thì ngược lại).
Bảng dưới đây hiển thị các giá trị HEX và chữ số tương ứng theo các chân LPC2148 cho cấu hình cathode chung.
Chữ số |
Giá trị HEX cho LPC2148 |
A |
B |
C |
D |
E |
F |
G |
0 |
0xF3 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0x12 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
2 |
0x163 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
3 |
0x133 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
4 |
0x192 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
5 |
0x1B1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
6 |
0x1F1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
7 |
0x13 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
số 8 |
0x1F3 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
9 |
0x1B3 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
QUAN TRỌNG: Trong bảng trên, tôi đã đưa ra các giá trị HEX theo các chân tôi đã sử dụng trong LPC2148, hãy kiểm tra sơ đồ mạch bên dưới. Bạn có thể sử dụng bất kỳ chân nào bạn muốn nhưng thay đổi các giá trị hex theo đó.
Để tìm hiểu thêm về màn hình 7 đoạn, hãy truy cập liên kết. Đồng thời kiểm tra giao diện hiển thị 7 đoạn với các bộ vi điều khiển khác:
- Giao diện hiển thị 7 phân đoạn với Raspberry Pi
- Giao diện hiển thị 7 phân đoạn với Vi điều khiển PIC
- Giao diện hiển thị 7 phân đoạn với Arduino
- Giao diện hiển thị 7 đoạn với Vi điều khiển 8051
- Bộ đếm 0-99 sử dụng Vi điều khiển AVR
Vật liệu thiết yếu
Phần cứng
- ARM7-LPC2148
- Mô-đun hiển thị bảy phân đoạn (Chữ số đơn)
- Breadboard
- Kết nối dây
Phần mềm
- Keil uVision5
- Flash Magic
Sơ đồ mạch
Đối với giao tiếp 7 đoạn với LPC2148, không cần thành phần bên ngoài như thể hiện trong sơ đồ mạch bên dưới:
Bảng dưới đây cho thấy các kết nối mạch giữa mô-đun 7-Segment và LPC2148
Bảy chân mô-đun phân đoạn |
Ghim LPC2148 |
A |
P0.0 |
B |
P0.1 |
C |
P0.4 |
D |
P0.5 |
E |
P0.6 |
F |
P0.7 |
G |
P0.8 |
Chung |
GND |
Lập trình ARM7 LPC2148
Chúng tôi đã học cách lập trình ARM7-LPC2148 bằng Keil trong hướng dẫn trước của chúng tôi. Chúng tôi sử dụng cùng một Keil uVision 5 ở đây để viết mã và tạo tệp hex, sau đó tải tệp hex lên LPC2148 bằng công cụ flash magic. Chúng tôi đang sử dụng cáp USB để cấp nguồn và tải mã lên LPC2148
Mã hoàn chỉnh với giải thích bằng Video được đưa ra ở cuối hướng dẫn này. Ở đây chúng tôi đang giải thích một số phần quan trọng của mã.
Trước tiên, chúng ta cần bao gồm tệp tiêu đề cho bộ vi điều khiển dòng LPC214x
#include
Tiếp theo đặt các chân làm đầu ra
IO0DIR = IO0DIR-0xffffffff
Điều này đặt các chân P0.0 thành P0.31 làm đầu ra nhưng chúng tôi sẽ chỉ sử dụng các chân (P0.0, P0.1, P0.4, P0.5, P0.6, P0.7 và P0.8).
Sau đó đặt các chân nhất định ở LOGIC CAO hoặc THẤP theo chữ số được hiển thị. Tại đây chúng ta sẽ hiển thị các giá trị từ (0 đến 9). Chúng tôi sẽ sử dụng một mảng bao gồm các giá trị HEX cho các giá trị từ 0 đến 9.
unsigned int a = {0xf3,0x12,0x163,0x133,0x192,0x1b1,0x1f1,0x13,0x1f3,0x1b3};
Giá trị này sẽ được hiển thị liên tục như mã đã được đưa vào trong khi vòng lặp
while (1) { for (i = 0; i <= 9; i ++) { IO0SET = IO0SET-a; // thiết lập các chân tương ứng HIGH delay (9000); // Gọi hàm trì hoãn IO0CLR = IO0CLR-a; // Đặt các chân tương ứng LOW } }
Ở đây IOSET và IOCLR được sử dụng để đặt các chân HIGH và LOW tương ứng. Vì chúng ta đã sử dụng chân PORT0 nên chúng ta có IO0SET & IO0CLR .
Vòng lặp for được sử dụng để tăng i trong mỗi lần lặp và mỗi lần khi tôi tăng, 7 đoạn cũng tăng chữ số hiển thị trên đó.
chức năng trì hoãn được sử dụng để tạo thời gian trễ giữa SET & CLR
void delay (int k) // Hàm tạo delay { int i, j; cho (i = 0; i
Mã hoàn chỉnh và mô tả video hoạt động được đưa ra bên dưới. Ngoài ra, hãy kiểm tra tất cả các dự án liên quan đến Hiển thị 7 phân đoạn tại đây.