Cách giao diện đèn LED với vi điều khiển 8051

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Chúng tôi rất quen thuộc với 'Hello world!' mã chương trình cơ bản trong giai đoạn đầu của bất kỳ ngôn ngữ lập trình để học một số điều cơ bản. Tương tự để bắt đầu với Vi điều khiển 8051, giao tiếp LED là điều cơ bản trong lập trình giao diện Vi điều khiển. Mỗi Vi điều khiển khác nhau về kiến ​​trúc của nó, nhưng khái niệm giao diện gần như giống nhau đối với tất cả các Vi điều khiển. Hướng dẫn này sẽ cung cấp cho bạn giao tiếp LED với 8051.

Interfacing là một phương pháp cung cấp giao tiếp giữa Vi điều khiển và thiết bị giao diện. Một giao diện là Thiết bị đầu vào hoặc thiết bị đầu ra hoặc thiết bị lưu trữ hoặc thiết bị xử lý.




Thiết bị giao diện đầu vào: Công tắc nút nhấn, Bàn phím, Cảm biến hồng ngoại, Cảm biến nhiệt độ , Cảm biến khí, v.v ... Các thiết bị này cung cấp một số thông tin cho Bộ vi điều khiển, và đây được gọi là dữ liệu đầu vào.

Thiết bị giao diện đầu ra: LED, LCD, Buzzer, Trình điều khiển chuyển tiếp , Trình điều khiển động cơ DC, Màn hình 7 đoạn, v.v.



Thiết bị giao diện lưu trữ: Được sử dụng để lưu trữ / giữ lại dữ liệu, ví dụ, thẻ SD, EEPROM, DataFlash, Đồng hồ thời gian thực , Vân vân.

Mô hình giao diện MicroController

Mô hình giao diện MicroController

Giao diện của đèn LED với 8051

Giao diện bao gồm phần cứng (Thiết bị giao diện) và Phần mềm (mã nguồn để giao tiếp, còn được gọi là Trình điều khiển). Đơn giản, để sử dụng đèn LED làm thiết bị đầu ra, đèn LED phải được kết nối với cổng Vi điều khiển và MC phải được lập trình bên trong làm cho đèn LED BẬT hoặc TẮT hoặc nhấp nháy hoặc mờ. Chương trình này được gọi là trình điều khiển / phần sụn. Phần mềm trình điều khiển có thể được phát triển bằng bất kỳ ngôn ngữ lập trình như Assembly , C v.v.


Bộ vi điều khiển 8051

Bộ vi điều khiển 8051 được phát minh vào năm 1980 bởi Intel. Nền tảng của nó dựa trên kiến ​​trúc Harvard và Bộ vi điều khiển này được phát triển chủ yếu để đưa nó vào sử dụng trong các Hệ thống nhúng. Chúng tôi đã thảo luận trước đây Lịch sử và kiến ​​thức cơ bản về vi điều khiển 8051 . Nó là một PDIP 40 Pin (Gói nội tuyến kép bằng nhựa).

8051 có một bộ dao động trên chip, nhưng nó yêu cầu một đồng hồ bên ngoài để chạy nó. Một tinh thể thạch anh được kết nối giữa các chân XTAL của MC. Tinh thể này cần hai tụ điện có cùng giá trị (33pF) để tạo ra tín hiệu đồng hồ có tần số mong muốn. Các tính năng của Vi điều khiển 8051 đã được giải thích trong bài viết trước của chúng tôi.

Kết nối tinh thể vi điều khiển

Kết nối tinh thể vi điều khiển

LED (Điốt phát sáng)

LED là một thiết bị bán dẫn được sử dụng trong nhiều thiết bị điện tử, hầu hết được sử dụng cho mục đích truyền tín hiệu / chỉ thị nguồn. Nó rất rẻ và dễ dàng có sẵn với nhiều hình dạng, màu sắc và kích thước. Đèn LED cũng được sử dụng để thiết kế bảng hiển thị thông báo và đèn tín hiệu điều khiển giao thông, v.v.

Nó có hai cực dương và cực âm như trong hình.

Phân cực LED

Phân cực LED

Cách duy nhất để biết cực tính là kiểm tra nó bằng đồng hồ vạn năng hoặc bằng cách quan sát cẩn thận bên trong đèn LED. Đầu lớn hơn bên trong đèn LED là -ve (cực âm) và đầu ngắn hơn là + ve (cực dương), đó là cách chúng ta tìm ra cực của đèn LED. Một cách khác để nhận ra cực tính là, kết nối các dây dẫn, thiết bị đầu cuối TÍCH CỰC có chiều dài hơn thiết bị đầu cuối TIÊU CỰC.

Giao diện LED tới 8051

Có hai cách mà chúng ta có thể giao tiếp LED với Vi điều khiển 8051. Nhưng các kết nối và kỹ thuật lập trình sẽ khác nhau. Bài viết này cung cấp thông tin về giao tiếp LED với 8051 và mã nhấp nháy LED cho Vi điều khiển AT89C52 / AT89C51.

Giao tiếp LED đến các phương pháp 8051

Giao tiếp LED đến các phương pháp 8051

Quan sát kỹ giao diện LED 2 bị phân cực thuận vì điện áp đầu vào 5v nối với cực dương của LED, Vì vậy ở đây chân Vi điều khiển phải ở mức THẤP. Và ngược lại với giao diện 1 kết nối.

Điện trở rất quan trọng trong giao tiếp LED để hạn chế dòng điện chạy qua và tránh làm hỏng LED và / hoặc MCU.

  • Giao diện 1 sẽ phát sáng LED, chỉ khi giá trị PIN của MC CAO khi dòng điện chạy xuống đất.
  • Giao diện 2 sẽ phát sáng LED, chỉ khi giá trị PIN của MC THẤP vì dòng điện chạy về phía PIN do điện thế thấp hơn của nó.

Sơ đồ mạch được hiển thị trong bên dưới. Một đèn LED được kết nối với chân-0 của cổng-1.

Mạch mô phỏng Proteus

Mạch mô phỏng Proteus

Tôi sẽ giải thích mã chương trình một cách chi tiết. Hơn nữa, hãy tham khảo liên kết này “ Hướng dẫn lập trình C nhúng với ngôn ngữ Keil ”. Một tinh thể 11,0592 MHz được kết nối để tạo xung nhịp. Như chúng ta biết rằng Vi điều khiển 8051 thực hiện một lệnh trong 12 chu kỳ CPU [1], do đó tinh thể 11,0592Mhz này làm cho 8051 này chạy ở tốc độ 0,92 MIPS (Triệu lệnh mỗi giây).

Trong đoạn mã bên dưới, đèn LED được định nghĩa là chân 0 của cổng 1. Trong chức năng chính, đèn LED được bật tắt sau mỗi nửa giây. Hàm ‘delay’ thực thi các câu lệnh null mỗi khi nó thực thi.

Giá trị 60000 (được biên dịch bằng phần mềm Keil micro-vision4) tạo ra khoảng 1 giây (thời gian trễ) thời gian thực thi câu lệnh rỗng khi tinh thể 11,0592 MHz đang được sử dụng. Bằng cách này, đèn LED gắn vào chân P1.0 được tạo nhấp nháy bằng cách sử dụng mã được đưa ra bên dưới.

CODE

#include

sbit LED = P1 ^ 0 // pin0 của cổng1 được đặt tên là LED

// Khai báo hàm

void cct_init (void)

void delay (int a)

int main (void)

{

cct_init ()

trong khi (1)

{

LED = 0

trì hoãn (60000)

LED = 1

trì hoãn (60000)

}

}

void cct_init (void)

{

P0 = 0x00

P1 = 0x00

P2 = 0x00

P3 = 0x00

}

void delay (int a)

{

int i

cho (i = 0 i

}

Bài viết này cung cấp thông tin về cách LED giao tiếp với 8051. Đây là khái niệm giao diện cơ bản cho các dự án vi điều khiển 8051.

Tôi hy vọng bằng cách đọc bài viết này, bạn đã có kiến ​​thức cơ bản về cách giao tiếp mô-đun LED với 8051. Nếu bạn có bất kỳ câu hỏi nào liên quan đến bài viết này hoặc về dự án vi điều khiển , xin đừng ngần ngại bình luận trong phần bên dưới.