Ở bài viết này, chúng ta sẽ hướng dẫn cách lập trình điều khiển Output cơ bản để nháy LED đơn. Bạn sẽ thực hành vẽ mạch sau đây trong Proteus:
Vi điều khiển 8051 cho phép chúng ta tác động lên từng chân IO của nó. Để sử dụng tính năng này, chúng ta có thể sử dụng khai báo sbit để định nghĩa tên cho chân chúng ta muốn sử dụng. Cú pháp khai báo sbit như sau:
Ở đây, chân P1.0 được định nghĩa có tên là LED. Khi bạn gán giá trị 0 cho chân đó, đầu ra sẽ ở mức 0V. Khi bạn gán giá trị 1 cho chân đó, đầu ra sẽ có mức điện áp là 5V.
Ví dụ, trong chương trình sau, chúng ta sử dụng định nghĩa sbit để điều khiển chân P1.0 của vi điều khiển 8051, thực hiện chức năng nhấp nháy một con LED:
Ngoài điều khiển từng chân, chúng ta cũng có thể xuất dữ liệu output cho cả Port trên vi điều khiển 8051. Vi điều khiển 8051 là một vi điều khiển 8 bit và một Port được hình thành từ các chân IO đó. Để can thiệp vào một Port, bạn chỉ cần gán dữ liệu mong muốn cho tên Port đó. Ví dụ như sau:
Với câu lệnh trên, chúng ta đã xuất dữ liệu trên Port 2 như sau: 0-1-0-1-0-1-0-1, tương ứng với các chân từ P2.7 đến P2.0.
Giới thiệu về toán tử | và &:
Dưới đây là bảng giá trị của các phép tính OR và AND:
Đây là hai toán tử rất hữu ích khi bạn muốn thao tác trên một vài bit trong một Port mà bạn muốn xuất dữ liệu.
Còn hai toán tử << và >> được sử dụng để dịch bit. Dưới đây là hai ví dụ để hiểu rõ hơn về hai toán tử này:
Sau đây là một ví dụ để tạo hiệu ứng LED chạy từ trên xuống và lặp lại:
Và một ví dụ khác để tạo hiệu ứng LED chạy từ dưới lên và lặp lại:
Sử dụng hàm con:
Dưới đây là một hàm con để làm sáng dần 8 LED, sử dụng mảng:
Hàm con sau đây làm sáng dần 8 LED, sử dụng vòng lặp:
Hàm con tiếp theo làm sáng nhỏ giọt cho 8 LED:
Cảm ơn bạn đã đọc bài viết của mình. Nhớ like và đăng ký kênh Youtube của mình để xem nhiều video hướng dẫn bổ ích!
Please share by clicking this button!
Visit our site and see all other available articles!