Thursday, April 17, 2014

// // Leave a Comment

005. 7-SEG-LED 1: Làm quen với LED 7 thanh

   Qua các bài viết trước, chúng ta đã cùng nhau tìm hiểu về Vi điều khiển AT89C52, LED và một số ví dụ cơ bản về điều khiển LED đơn cũng như nhiều LED một lúc. Bài viết hôm nay sẽ đề cập đến 1 thành phần khác có ứng dụng khá nhiều trong một mạch điều khiển: để hiện thị nhiệt độ, độ ẩm, điện áp... trong một số mạch đo hay để hiển thị thông tin được lập trình sẵn như thời gian đếm trên đèn giao thông...



  Hôm nay chúng ta sẽ tìm hiểu về sơ đồ chân,  cách hiển
thị số 0-9 hay một số chữ cái nếu cần thiết, cách nối LED 7 thanh với Vi điều khiển,

1. Sơ đồ chân


  
Chúng ta đã được học LED 7 thanh trong môn kĩ thuật số năm 3, ai không nhớ có thể mở ra xem lại nhé.
Một LED 7 thanh có 10 chân: 8 chân dữ liệu a,b,c,d,e,f,g,e, dp và 2 chân nối chung. Dựa vào 2 chân nối chung này chúng ta có thể chia LED 7 thanh làm 2 loại: Anode chung và Cathode chung



+Anode chung: như hình trên chúng ta thấy chân 3 và chân 8 sẽ được nối chung vào một nguồn áp. Như vậy dối với loại anode này khi dữ liệu đưa vào ở mức thấp (mức 0) sẽ làm LED sáng

+Ngược lại với kiểu Anode chung, Cathode chung chân 3 và chân 8 sẽ được nối chung vào nguồn mát (đất| ground) và sẽ sáng khi chân dữ liệu nhận mức 1





2. Hiển thị số và một số kí tự:

Cũng giống như việc điều khiển 1 PORT 8 LED như các bài trước, chúng ta cũng cần đổi dòng bit điều khiển Binary sang mã Hexa, chúng ta sẽ dùng Calculator có sẵn của window nhé.





Trong LED 7 Thanh thứ tự dòng bit đưa vào sẽ là:


Dp G F E D C B A

Như vậy chúng ta sẽ có bảng cho Anode chung:


Số
Dp
G
F
E
D
C
B
A
Hex
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
A
1
0
0
0
1
0
0
0
0x88
L
1
1
0
0
0
1
1
1
0xC7
F
1
0
0
0
1
1
1
0
0x8E
U
1
1
0
0
0
0
0
1
0xC1

Sau này chúng ta chỉ cần chép lại mã hex để viết code thôi. Tương tự chúng ta cũng có bảng cho cathode, bạn có thể tự làm để nhớ, sau này chuyển cho dễ đỡ quên, cũng có thể dùng NOT để tính cho nhanh như mình. Bảng cho cathode:
0
1
2
3
4
5
6
7
8
9
0x3F
0x06
0x5B
0x4F
0x66
0x6D
0x7D
0x07
0x7F
0x6F

3. Những cách mắc LED 7 Thanh với vi điều khiển:


   LED 7 thanh có nhiều dạng đóng gói: LED7 đơn, đôi, 4, 6, 8..


      Tùy vào mục đích sử dụng và yêu cầu khác nhau của các mạch vi điều khiển chúng ta có thể sử dụng một trong các cách ghép nối sau:

Phương pháp nối trực tiếp:
Phương pháp quét LED sử dụng Transistor
Phương pháp sử dụng IC74LS7x
Phương pháp mở rộng đầu ra bằng IC74595
       Với cách này ta có thể dễ dàng ghép nối những chân này vời các chân của vi điều khiển





     Hoặc khi cần hiển thị số 2 chữ số ta có thể dùng LED 7 thanh đôi





    Cách mắc này có ưu điểm là dễ mắc, dễ viết code vì không cần thêm thành phần ngoại vi nào
    Nhưng lại có nhược điểm lớn mà thường ta chỉ mắc cách này khi mô phỏng hoặc lắp mạch đơn giản ít linh kiện đó là: 
    +Tốn chân vi điều khiển: như cách mắc 2 LED7 ở trên chúng ta cần đến 14 chân vi điều khiển chỉ để điều khiển 2 LED7
    +Nhiều dòng ngoài khi mắc trực tiếp làm nóng dẫn tới hoạt động sai hoặc cháy vi xử lý.

  Phương pháp này cũng tương tự như việc sử dụng LED 7 thanh đôi:
  Tức là trong một thời điểm 2 LED sẽ không bật tắt đồng thời mà luân phiên bật tắt với tần số đủ cao để mắt thường không thể phân biệt được sự thay đổi này. Khi quan sát ta sẽ chỉ thấy 2 LED cùng sáng thôi. Đây là phương pháp khá thú vị nhưng đối với một mạch vi điều khiển phức tạp, 9 chân của vi điều khiển là khá nhiều, chúng ta sẽ tìm hiểu 2 phương pháp khác


Phương pháp này chúng ta sử dụng IC74LS7x. ưu điểm của phương pháp này so với phương pháp quét ở trên là cả 2 LED có thể sang 1 cách đồng thời mà không phải nhấp nháy liên tục.

 Chúng ta sẽ sử dụng IC 74595 để mở rộng đầu ra cho chân vi điều khiển, đây là phương pháp tiết kiệm chân cho vi điều khiển để nối với các thiết bị khác. Chúng ta cũng có thể sử dụng nhiều IC 749595 1 lúc. Chúng ta sẽ tìm hiểu kĩ hơn về IC này trong những bài viết sau. 







Thân
Phong's


0 comments:

Post a Comment