Bài 25. Bo mạch lập trình vi điều khiển

Nội dung lý thuyết

I. GIỚI THIỆU VỀ BO MẠCH LẬP TRÌNH VI ĐIỀU KHIỂN

Công nghệ 12, bo mạch arduino, olm
Bo mạch arduino.

- Vi điều khiển thường có tài nguyên phần cứng tối giản nên có thể không kết nối trực tiếp được với các thiết bị tiêu chuẩn trên máy tính cá nhân như:

+ Bàn phím.

+ Con chuột.

+ Màn hình.

=> Trong đa số trường hợp:

+ Việc lập trình cho vi điều khiển được thực hiện trên máy tính.

+ Sau đó mới nạp vào vi điều khiển thông qua một thiết bị gọi là bo mạch lập trình.

- Nhiệm vụ của một bo mạch lập trình là cung cấp các giao diện kết nối về điện và cơ khí với các thiết bị khác nhằm:

+ Đảm bảo tính tương thích.

+ Thuận tiện khi kết nối vi điều khiển.

- Ngoài kết nối với máy tính, thông qua các giao diện này, có thể dễ dàng kết nối vi điều khiển với các cảm biến hay cơ cấu chấp hành bên ngoài.

=> Tạo ra nhiều giải pháp đo lường và điều khiển hữu ích trong cuộc sống.

II. CẤU TRÚC CỦA BO MẠCH LẬP TRÌNH VI ĐIỀU KHIỂN

Bo mạch điển hình thường gồm các thành phần chính sau đây:

- Khối nguồn:

+ Gồm giao diện với nguồn cấp điện ngoài và các mạch ổn áp.

+ Nhiệm vụ cung cấp nguồn nuôi ổn định cho các khối chức năng khác trên bo mạch.

- Vi điều khiển:

+ Là thành phần chính của bo mạch lập trình.

+ Nơi lưu trữ và thực thi các chương trình phần mềm được nạp từ máy tính vào bo mạch.

- Khối dao động:

+ Phát ra chuỗi xung tuần hoàn.

=> Để đồng bộ hoạt động của các khối chức năng bên trong vi điều khiển.

- Khối truyền thông:

+ Đa số vi điều khiển hiện nay truyền hay nhận dữ liệu theo chuẩn kết nối UART.

+ Các thiết bị bên ngoài như máy tính thường sử dụng các chuẩn kết nối khác.

=> Khối truyền thông cung cấp giao diện chuyển đổi giữa các chuẩn truyền thông giúp:

+ Trao đổi dữ liệu giữa vi điều khiển với các thiết bị bên ngoài trở nên thuận lợi.

- Khối tín hiệu vào/ra:

+ Cung cấp giao diện thuận tiện.

=> Để kết nối các cổng vào/ra của vi điều khiển với cảm biến hay thiết bị chấp hành.

- Ví dụ: sơ đồ bố trí linh kiện thực tế của một bo mạch lập trình vi điều khiển Arduino Uno. Bên cạnh linh kiện của các khối chức năng cơ bản, còn có một số:

+ LED chỉ thị.

+ Phím bấm reset.

=> Dùng để hỗ trợ quá trình kiểm thử và sửa lỗi phần mềm trên vi điều khiển.

Công nghệ 12, sơ đồ bố trí linh kiện trên bo mạch Arduino Uno, olm
Sơ đồ bố trí linh kiện trên bo mạch Arduino Uno. 

III. ỨNG DỤNG BO MẠCH LẬP TRÌNH VI ĐIỀU KHIỂN

Bo mạch lập trình vi điều khiển được sử dụng rộng rãi trong các thiết bị đo lường và điều khiển.

- Trong đo lường:

+ Bo mạch lập trình vi điều khiển được kết nối với cảm biến cho phép đọc dữ liệu từ cảm biến thông qua lệnh đọc cổng vào tương ứng.

=> Phục vụ cho các ứng dụng giám sát thông số như giám sát:

  • Nhiệt độ.

  • Độ ẩm.

  • Ánh sáng môi trường,...

+ Ví dụ: sử dụng bo mạch Arduino Uno kết nối với cảm biến để đo và giám sát độ ẩm đất.

Công nghệ 12, thu thập số liệu về độ ẩm sử dụng bo mạch Arduino Uno, olm
Thu thập số liệu về độ ẩm sử dụng
bo mạch Arduino Uno.

- Trong điều khiển:

+ Bo mạch lập trình vi điều khiển kết nối với các thiết bị chấp hành:

  • Cho phép điều khiển chúng theo kịch bản định trước, thông qua các lệnh ghi vào cổng ra tương ứng.

+ Điều này cho phép, phát triển các ứng dụng tự động như:

  • Bật, tắt đèn.

  • Đóng, mở cửa,...

+ Ví dụ: sử dụng bo mạch Arduino Uno để điều khiển LED.

Công nghệ 12, điều khiển LED bằng bo mạch lập trình vi điều khiển, olm
Điều khiển LED bằng bo mạch lập trình
vi điều khiển.

IV. CÔNG CỤ LẬP TRÌNH CHO BO MẠCH LẬP TRÌNH VI ĐIỀU KHIỂN

1. Các bước lập trình cho vi điều khiển

- Ngôn ngữ lập trình phổ biến:

+ Đa số vi điều khiển phổ thông hiện nay được lập trình bằng ngôn ngữ C hay các biến thể của nó.

+ Từ mã nguồn viết bằng ngôn ngữ C, mỗi dòng vi điều khiển khác nhau có thể yêu cầu các chương trình dịch khác nhau.

=> Để dịch ra mã máy phù hợp với kiến trúc của nó.

- Các bước lập trình cho một bo mạch lập trình:

+ Biên soạn mã nguồn theo một ngôn ngữ lập trình bậc cao.

+ Kiểm tra và sửa lỗi.

+ Biên dịch mã nguồn sang mã máy.

+ Nạp mã máy vào vi điều khiển.

Công nghệ 12, nạp mã máy vào vi điều khiển, olm
Nạp mã máy vào vi điều khiển.

2. Môi trường lập trình tích hợp

- Hiện nay, đa số nhà sản xuất thường cung cấp kèm bo mạch lập trình vi điều khiển một phần mềm cho phép hợp nhất tất cả các bước lập trình trên máy tính.

=> Gọi là môi trường trình tích hợp (IDE).

- Giao diện của một Arduino IDE với ba thành phần chính:

+ Thanh công cụ.

+ Cửa sổ lập trình.

+ Cửa sổ thông báo.

Công nghệ 12, giao diện của một IDE, olm
Giao diện của một IDE.

- Thanh công cụ cung cấp các nút chức năng cần thiết cho việc lập trình như:

+ Biên dịch đoạn lệnh thành mã máy.

+ Nạp mã máy vào bộ nhớ của vi điều khiển.

+ Lưu đoạn lệnh hiện tại vào một file trên ổ cứng của máy tính.

+ Mở mới một file mã nguồn khác,...

- Cửa sổ lập trình thực chất là ứng dụng soạn thảo văn bản được bổ sung các tính năng hỗ trợ lập trình như:

+ Đánh dấu từ khoá.

+ Đánh số dòng lệnh.

+ Tự động căn lề.

+ Tự động gợi ý hoàn thiện câu lệnh,...

=> Lập trình viên chủ yếu làm việc trên cửa sổ này.

- Cửa sổ thông báo liệt kê tất cả các thông báo của chương trình biên dịch:

+ Khi lập trình viên yêu cầu IDE dịch mã nguồn sang mã máy.

- Ví dụ: đoạn mã nguồn có lỗi hay không, nếu có thì là lỗi gì, xảy ra ở vị trí (câu lệnh) nào trong khối mã nguồn, mã máy sẽ chiếm bao nhiêu không gian của bộ nhớ,...