[HỌC AVR] Bài 1: GPIO VỚI AVR

0
329

[HỌC AVR] Bài 1: GPIO VỚI AVR

Chú ý : Source code bài viết dưới đây được biên dịch bằng phần mềm CodeVisionAVR để biên dịch code không lỗi xin vui lòng Download bản CodeVisionAVR Tại Đây

XIN CHÀO CÁC BẠN!
Trong bài viết này tôi xin giới thiệu với các bạn về GPIO của họ vi điều khiển AVR.
I.TỔNG QUAN VỀ GPIO CỦA AVR.
-Trong họ vi điều khiển AVR, các PORT là các “của ngõ” then chốt của vi điều khiển. PORT có thể giao tiếp với các thiết bị ngoại vi theo hai hướng: xuất và nhập.
-Số lượng các PORT ứng với mỗi loại vi điều khiển trong họ AVR là khác nhau. Số lượng các chân I/O trong một PORT cũng khác nhau.
-Ngoài chức năng xuất/nhập thông thường, các chân của vi điều khiển còn mang những chức năng đặc biệt khác như: ADC, Ngắt Ngoài, TIMER, …
Sơ đồ GPIO của ATMEGA8:

-Họ AVR cung cấp cho chúng ta 3 thanh ghi (8bit): PORTx, DDRx, PINx (với x là tên PORT) để điều khiển hướng của các PORT một cách dễ dàng. Mỗi bit của các thanh ghi tương ứng với một chân của PORT.
·DDRx: đây là thanh ghi định hướng cho các chân của vi điều khiển.
ØDDRx = 0: cấu hình chân là INPUT.
ØDDRx = 1: cấu hình chân là OUTPUT.
·PORTx: đây là thanh ghi cho biết mức điện áp được xuất ra ở chân OUTPUT.
ØPORTx = 0: điện áp xuất ra 0V.
ØPORTx = 1: điện áp xuất ra 5V.
·PINx: đây là thanh ghi đọc trạng thái của chân INPUT.
II.BÀI TOÁN VÍ DỤ.
Để giúp các bạn hiểu rõ cách cấu hình các thanh ghi điều khiển hướng I/O trong AVR, tôi xin đưa ra bài toán:
·Sử dụng vi điều khiển Atmega8, thay đổi trạng thái (sáng/tắt) của LED bằng nút bấm. Mỗi lần nút được bấm, trạng thái của LED sẽ thay đổi.
-Định nghĩa I/O cho các PORT:

-Chương trình chính (gồm có cấu hình I/O cho các PORT):

– Video demo:
– Các bạn có thể tham khảo CODE mẫu và mô phỏng tại đây:

DOWNLOAD TẠI ĐÂY

Trao đổi học tập

Comments