Phương pháp quét led 7 đoạn

     

Thủa còn thơ tôi đã yêu Hà Nội/Khi xa rồi nỗi nhớ cũng nhiều thêm/Mỗi con đường...góc phố...những cái tên/Nhớ cây cầu Long Biên ngày xưa ấy ‼


*

*

Vội vã trở về, vội vã ra đi /Chẳng kịp nhận ra từng con phố /Nhưng trong tôi vững bền đến thế /Những chiếc lá nhìn tôi vẫn mắt tuổi học trò /


Điều khiển LED 7 thanh phần 2: Phương pháp Quét LED

Phương pháp Quét LED tối ưu hóa việc hiển thị LED 7 thanh


Chúng ta đã biết qua phần 1, để hiển thị 1 LED 7 thanh cần 7 đường dữ liệu (8 đường nếu sử dụng cả dấu chấm). Vậy để điều khiển 2, 3 hay 4 LED thì sao. Ngay lập tức ta sẽ nghĩ đến dùng thêm các cổng dữ liệu, nối cho mỗi con LED 7 thanh 7 đường dữ liệu. Nhưng khi bắt tay vào vẽ mạch bạn sẽ thấy hoài nghi và đặt nhiều câu hỏi cho phương pháp này. Quả thật vậy, mỗi con chip AT89C51 của chùng ta có 4 cồng dữ liệu (P0,P1,P2,P3) nếu dùng phương pháp này mỗi con chip chỉ có thể điều khiển hiện thị được 4 LED 7 thanh. Trong khi đó trên thực tế có những hệ thống có hàng chục LED 7 thanh như lịch vạn niên, bảng giá vàng, …

Trên thực tế để điều khiển hiển thị LED 7 thanh chúng ta phải dùng phương pháp Quét LED. Phương pháp này được tóm gọn như sau: “Tất cả cả các LED 7 thanh chung 1 đường dữ liệu, trong 1 thời điểm chỉ có 1 LED sáng”. Vậy nó hoạt động như thế nào chúng ta cùng xem nhé.

Bạn đang xem: Phương pháp quét led 7 đoạn

*

Trong ví dụ trên - đầu tiên: công tắc 1 bật, các công tắc khác tắt, cổng P2 chuyển dữ liệu hiển thị số 2, đèn 1 hiển thị số 2, các đèn khác tắt.

Thời điểm sau: công tắc 2 bật, các công tắc khác tắt, cổng P2 chuyển dữ liệu hiển thị số 0, đèn 2 hiển thị số 0, các đèn khác tắt

Thời điểm tiếp theo: công tắc 3 bật, các công tắc khác tắt, cổng P2 chuyển dữ liệu hiển thị số 1, đèn 3 hiển thị số 1, các đèn khác tắt

Cuối cùng: công tắc 4 bật, các công tắc khác tắt, cổng P2 chuyển dữ liệu hiển thị số 7, đèn 4 hiển thị số 7, các đèn khác tắt

Như vậy mỗi đèn hiển thị 1 số khác nhau, nếu quá trình trên diễn ra với tốc độ đủ nhanh, mắt chúng ta không còn phân biệt được đèn có tắt hay không (hiện tượng lưu ảnh trên võng mạc) thì ta sẽ thấy số 2017 sáng liên tục không gián đoạn (mặc dù trong thực tế trong 1 thời điểm chỉ có 1 đèn sáng.

Xem thêm: Xem Phim Tân Viên Nguyệt Loan Đao Phục Hận Tập 1 Vietsub + Thuyết Minh

Để hiểu rõ hơn phương pháp này ta làm 1 ví dụ như sau.

*

Việc nối dây rất phức tạp nếu các con LED riêng rẽ, rất may cho chúng ta các nhà sản xuất đã thiết kế sẵn các bộ LED 7 thanh gồm 1,2,3,4,6, 8 LED đi với nhau, việc nối nây giữa chúng được nối bên trong, còn lại chỉ đưa ra ngoài 8 chân dữ liệu và các chân nguồn cho mỗi đèn.

*

Việc đóng cắt nguồn cho các đèn với tốc độ nhanh thì các công tắc thông thường không thể đáp ứng được. ở đay trong chương trình mô phòng ta dùng cổng P3 đề cấp nguồn cho LED, nếu chân của P3 mang mức logic 1, nguồn điện 5V sẽ được cấp cho LED.

Chương trình như sau:

#include

unsigned char led<10>= {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

void TRE(unsigned int n)

{

unsigned int i,j;

for(i=n;i>0;i--)

{

for(j=200;j>0;j--);

}

}

void main()

{

while(1)

{

P3=0x01; //bat den 1

P2=led<2>; // Chuyen du lieu hien thi so 2 ra cong P2

TRE(2);

P3=0x02; //bat den 2

P2=led<0>; // Chuyen du lieu hien thi so 0 ra cong P2

TRE(2);

P3=0x04; //bat den 3

P2=led<1>; // Chuyen du lieu hien thi so 1 ra cong P2

TRE(2);

P3=0x08; //bat den 4

P2=led<7>; // Chuyen du lieu hien thi so 7 ra cong P2

TRE(2);

}

}

Đây là ví dụ để các bạn hiểu về phương pháp Quét LED, trong thực tế lập trình có thêm các thuật toán để tối ưu việc hiển thị, phần này sẽ có trong phần 3