Giao tiếp LED đơn với AT89C51

Giao tiếp LED đơn với AT89C51


   Giao tiếp giữa LED đơn với vi xử lý là một bài toán bắt đầu cho người mới học vi xử lý. Đây là một bài toán cơ bản để tìm hiểu nguyên lý hoạt động của vi xử lý. Bài toán giao tiếp giữa LED đơn với vi xử lý AT89C51 là một bài toán tìm hiểu nguyên lý điều khiển của vi xử lý AT89C51. Đối với bài toán điều khiển LED đơn này thì AT89C51 làm nhiệm vụ điều khiển tắt mở các LED đơn, tạo ra các hiệu ứng khác nhau.
   AT89C51 là họ trong gia đình của 8501. Một loại vi xử lý được sử dụng nhiều trong thiết kế mạch điều khiển. Bởi vì tính đơn giản và dễ học của nó nên được nhiều các kỹ sư dùng nó cho bài toán của mình và các sinh viên trong các trường lấy 8501 là nền tảng cho môn vi xử lý và vi điều khiển. Đây là dòng vi xử lý khá là rẻ và kinh tế với đầy đủ công cụ đi theo.


   LED là loại diode phát quang được sử dụng rất rộng rãi trong thiết kế quảng cáo, chiếu sáng....LED có rất nhiều loại từ loại công suất nhỏ đến công suất lớn, có đa dạng mầu sắc. Một dạng phổ biến của LED[separator]


Nguyên tắc hoạt động của LED rất đơn giản vì nó là diode phát quang nên nó phải cần điện áp thuận nên ta phải phân cực thuận nó mới sáng được. Điện áp thuận của LED thường lớn hơn diode. Điện áp thuận của LED là từ 1V ~ 2V tùy từng loại LED. LED sáng hay không còn phụ thuộc vào dòng qua nó. Mỗi LED cho một dòng điện qua nó cố định để LED sáng nhất trong phạm vi cho phép. Mạch kết nối và phân cực để sáng LED như sau:


Nếu LED được phân cực như trên thì LED sẽ sáng và ngược lại thì LED sẽ tắt. Giá trị điện trở R trên chúng ta có thể tính được như sau :
Chúng ta áp dụng lý thuyết mạch điện vào tính toán điện trở này như sau:

R = (Vcc - Uled)/Iled


Với Uled là điện áp rơi trên LED phát quang. Nằm trong 0.7 ~ 2V tùy từng loại LED
    Iled là dòng điện định mức qua LED.
Dựa vào công thức đó chúng ta sẽ tính được giá trị điện trở cho vào cho từng loại LED.
* Ghép nối LED với 89C51
   AT89C51 là dòng vi xử lý khá thông dụng và rẻ tiền ở việt nam. Sở hữu với 4 Port điều khiển (P0, P1, P2,P3) và bộ nhớ chương trình 4K và dao động xung sử dụng thạch anh 12MHZ. Kết nối giữa LED và AT89C51 có 2 kiểu kết nối như sau :
+ Kết nối trực tiếp
LED được kết nối trực tiếp với AT89C51 theo hai chế độ là hút dòng và xả dòng. Nguyên lý kết nối như sau :

Ở chế độ xả dòng thì LED sẽ không sáng được hết công suất vì đầu ra dòng của chân vi xử lý thường thấp
Ở chế độ hút dòng thì LED sẽ sáng được hết công suất nhưng sẽ làm hại vi xử lý nếu LED có công suất lớn vì dòng qua vi xử lý quá mức cho phép. Trong các mạch ghép nối với LED có dòng tiêu thụ thấp thì người ta sẽ dùng kiểu ghép hút dòng này.
+ Kết nối thông qua IC đệm
Đối với kiểu này thì LED được kết nối thông qua các IC đệm như transitor, các IC đệm dòng chuyên dụng như ULN2803...Đối với kiểu này thì LED được mắc như sau :

Đối với kiểu ghép này đảm bảo cho vi xử lý không bị quá tải và cho LED sáng nhất. Với kiểu ghép này thì có thể chạy được LED công suất lớn. Ngoài transitor còn có các loại IC đệm dòng tương đối như ULN2803 (500mA)....
* Mạch nguyên lý điều khiển 15 LED như sau :


Do mạch điều khiển 15 LED mà trung bình mỗi LED dòng tiêu tốn là 10mA. Do đó theo thiết kế của biendt dùng thêm IC đệm. IC đệm ở đây dùng là IC ULN2803 vì gọn nhẹ hơn transitor.
* Thuật toán và điều khiển
Đây là bài giao tiếp với LED nên thuật toán rất đơn giản là chúng ta chỉ kiểm tra chức năng điều khiển của vi xử lý như thế nào? Việc bật tắt các LED tương ứng với việc đưa ra chân vi xử lý mức 0 (0V) hay mức 1 (5V). Do vậy với mức 0 thì LED sáng và mức 1 thì LED tắt. Ta xét tường thời điểm khác nhau, muốn cho LED 1 sáng sau đó đến LED 2 thì giữa LED 1 và LED 2 phải có một khoảng thời gian trễ...
Điều khiển ở đây rất đơn giản. Do qua IC đệm ULN2803 nên tại chân chip mức 1 thì đầu ra của ULN 2803 sẽ là mức 0 đồng thời LED sáng và ngược lại. Quá trình điều khiển các LED khác cũng tương tự như vậy.
* Hướng phát triển
Tuy đây cũng là một ví dụ để mô phỏng quá trình điều khiển LED bằng vi xử lý. Nhưng mạch thiết kế đúng theo nguyên lý và có thể dựa vào đây làm mạch thực tế chạy được. Các hiệu ứng của LED các bạn có thể tự sáng tạo được và khai triển chúng thành một bài LED đẹp.
* Code chương trình và mô phỏng
+ Viết trên vi xử lý : AT89C51
+ Trình biên dịch  : Keil C
+ Ngôn ngữ : C
+ Tải chương trình và mô phỏng trên Protues
(File đính kèm)

Bình Luận
Cùng danh mục: Vi điều khiển - Lập trình

Cơ sở công suất và năng lượng tiêu thụ trên MCU

29/07/2023 21:21:12 / Lượt xem: 414 / Người đăng: biendt

Công suất và năng lượng tiêu thụ của MCU ảnh hưởng đến các quyết định thiết kế về nguồn, thời gian sử dụng pin, và kể cả nhiệt độ hoạt động trong các ứng dụng nhúng. Nhất là khi đối mặt với các ứng dụng được cung cấp năng lượng từ nguồn pin,

Giải thích cơ chế các lệnh SET BIT, CLEAR BIT và TOGGLE trong lập trình vi điều khiển

15/09/2022 08:10:32 / Lượt xem: 993 / Người đăng: biendt

Giải thích các lệnh SET BIT, CLEAR BIT và TOGGLE thường được dùng trong lập trình vi điều khiển. Lệnh SET BIT là lệnh cài đặt 1 bit mong muốn trong thanh ghi cho nó có giá trị logic 1 và không làm thay đổi giá trị các bit còn lại của thanh ghi đó. Lệnh CLEAR BIT là lệnh cài đặt 1 bit mong muốn trong thanh ghi cho nó giá trị logic 0 và không làm thay đổi giá trị các bit còn lại của thanh ghi đó. Lệnh TOGGLE BIT là lệnh cài đặt 1 bit mong muốn trong thanh ghi cho nó giá trị logic 0 nếu trước đó nó có giá trị logic 1 và ngược lại, đồng thời không làm thay đổi giá trị các bit còn lại của thanh ghi đó.

Chia sẻ chương trình đọc ghi thẻ SD bằng MSP430 G2553 phục vụ lưu trữ

17/08/2022 06:20:30 / Lượt xem: 735 / Người đăng: biendt

Chương trình sử dụng vi điều khiển chính là MSP430G2553 (có thể sử dụng vi điều khiển khác cùng họ MSP430) kết nối với module đọc/ghi thẻ nhớ SD card là MODULE MICRO SD CARD để lưu trữ dữ liệu, đọc dữ liệu…Chuẩn bị : 1 KIT MSP430G2553, 1 Module SD Card, 1 Thẻ nhớ SD card : Micro SD <= 2GB hoặc Micro SDHC <= 32GB

Hướng dẫn thiết kế mạch vi điều khiển đơn giản

07/06/2022 06:18:47 / Lượt xem: 811 / Người đăng: biendt

Thiết kế mạch cho vi điều khiển là một việc làm không hề đơn giản đối với những người mới bắt đầu. Có thể bạn phải đọc hàng trăm trang datasheet và tài liệu thiết kế tham khảo, các sơ đồ mạch thiết kế mẫu, các chỉ dẫn layout để có thể hoàn thiện được thiết kế của mình một cách tốt nhất. Hướng dẫn này sẽ chỉ ra những điểm chung mà các bạn cần lưu ý khi thiết kế mạch vi điều khiển

Thiết kế mạch chống nhiễu cho Vi điều khiển (Chíp lập trình hoặc IC)

05/05/2022 06:05:35 / Lượt xem: 2056 / Người đăng: biendt

Có mấy phương pháp cho mạch chống nhiễu vi điều khiển : .Sử dụng cách ly quang: để cách ly giữa tín hiệu điều khiển từ VĐK xuất ra và mạch công suất 220v.Sử dụng mạch snubber khi điều khiển tải bằng relay.Sử dụng linh kiện điện tử chính hãng...Sử dụng mạch lọc nguồn AC 220v trước khi cấp cho bộ nguồn 5V nuôi VĐK...Chống nhiễu khi viết code