Lập trình 8051 – BÀI 7 : Lập trình LED 7 thanh với 8051

0
4566

Bài trước chúng ta học lập trình giao tiếp để điều khiển Output (LED) theo Pin và theo Port. Ở bài này chúng ta sẽ áp dụng những kiến thức đó để thực hiện lập trình điều khiển hiển thị trên LED 7 thanh theo để hiển thị theo ý mình.

Sau đây là hình ảnh và chi tiết về 1 con LED 7 thanh và bảng dữ liệu mã hóa với các số từ 0-9 theo kiểu LED sử dụng Anot chung.

 

bảng các giá trị từ 0 – 9 cho LED 7 thanh sử dụng ANOT chung.

Chữ số dp G F E D C B A
0 1 1 0 0 0 0 0 0 0XC0
1 1 1 1 1 1 0 0 1 0XF9
2 1 0 1 0 0 1 0 0 0XA4
3 1 0 1 1 0 0 0 0 0XB0
4 1 0 0 1 1 0 0 1 0X99
5 1 0 0 1 0 0 1 0 0X92
6 1 0 0 0 0 0 1 0 0X82
7 1 1 1 1 1 0 0 0 0XF8
8 1 0 0 0 0 0 0 0 0X80
9 1 0 0 1 0 0 0 0 0X90

Bài 1: Điều khiển 1 LED 7 thanh.

Để thực hiện bài tập này, hãy vẽ mạch mô phỏng như hình. Linh kiện cần thêm cho bài này là Led 7 cạnh, Anode chung. Hãy search từ “7SEG-COM_ANODE”.như hình sau:

Hãy tạo 1 folder riêng  trong đó chứa file mô phỏng của Proteus, chứa file Project mới của KeilC và chứa file main.c của project mới. Sau đây là chương trình điều khiển hiển thị lần lượt các số từ 0 đến 9 trên LED 7 thanh. Code đoạn code sau vào trong file main.c:

Ở đây chúng ta thực hiện lưu mảng dữ liệu LED 7 thanh ở bảng trên vào một mảng. Khi đó phần tử LED7SEG[i] chứa dữ liệu hiển thị của số i trên LED thanh ở trên mạch với điều kiện i nằm từ 0-9. Ở vòng lặp for, chúng ta thực hiện đẩy dữ liệu ra chân Port P2 lần lượt theo các mã của các số từ 0 đến 9 ra. Chạy mô phỏng chúng ta sẽ thấy  các số này lần lượt hiển thị trên LED 7 thanh.


Bài 2: Điều khiển nhiều LED 7 thanh.

Ở bài toán điều khiển LED 7 thanh chúng ta có thể áp dụng theo bài toán bước 1 nối mỗi con LED 7 thanh vào 8 chân data độc lập. Tuy nhiên việc này sẽ gây lãng phí số chân điều khiển LED và limit số LED có thể điều khiển. Với số LED tăng lên đủ lớn số chân cần cũng tăng lên rất nhiều. Để giải quyết bài này có một kỹ thuật nêu ra là kỹ thuật “Quét LED”.  

Kỹ thuật Quét LED thực hiện theo nguyên tắc một thời điểm chỉ bật một LED 7 thanh với dữ liệu nó cần hiển thị, các LED còn lại được tắt. Việc quét LED thực hiện luôn phiên sáng các LED với yêu cầu trên. Quá trình quét LED chuẩn được thực hiện theo các bước sau:

  1. Xuất ra số muốn hiển thị.
    Cấp nguồn cho L7S muốn hiển thị.
    3. Trễ 1 khoảng thời gian ngắn để duy trì sáng.
    4. Cắt nguồn LED vừa hiển thị. Lặp lại quy trình 4 bước với đèn L7S tiếp theo

Sau đây là một đoạn chương trình hiển thị các số từ 00-99:

Các bạn vẽ mô phỏng trong proteus như hình : chúng ta dung tranzitor npn

Bài 3: Thực hiện hiển thị 4 LED 7 thanh hiển thị lần lượt các số từ 0000-9999.

Chọn LED 7 thanh, loại 4 số. Sử dụng đoạn code sau để mô phỏng.

 

Cảm ơn các bạn đã theo dõi bài viết, các bạn hãy đăng ký, like kênh youtube của mình để xem nhiều video hướng dẫn hơn nhớ.

Trao đổi học tập

Comments