Bài 25: Bo mạch lập trình vi điều khiển | Công Nghệ 12 (Công Nghệ Điện - Điện Tử) | Phần Hai. Công Nghệ Điện Tử - Chương IX. Vi Điều Khiển - Lớp 12 - Kết Nối Tri Thức Với Cuộc Sống

Công Nghệ 12 (Công Nghệ Điện - Điện Tử) - Phần Hai - Chương IX - Bài 25


(Trang 133)

Sau khi học xong bài này, em sẽ:

• Mô tả được cấu trúc, ứng dụng của một bo mạch lập trình vi điều khiển.

• Mô tả được công cụ lập trình của một bo mạch lập trình vi điều khiển.

hinh-anh-bai-25-bo-mach-lap-trinh-vi-dieu-khien-12806-0

Hình 25.1

Các thao tác lập trình trên máy tính truyền thống được thực hiện thông qua các thiết bị vào/ra tiêu chuẩn như bàn phím, chuột, màn hình (Hình 25.1). Vi điều khiển không có các thiết bị này, bằng cách nào ta có thể viết và nạp chương trình cho chúng?

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

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 hay màn hình. Vì vậy, trong đa số trường hợp, việc lập trình cho vi điều khiển thường đượ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í nhằm đảm bảo tính tương thích và thuận tiện khi kết nối vì điều khiển với các thiết bị khác. Ngoài kết nối với máy tính, thông qua các giao diện này, ta 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.

(Trang 134)

i+ Thông tin bổ sung

Một số nhà sản xuất thường đóng gói luôn các phụ kiện cần thiết (dây nối, đầu chuyển đổi, cảm biến,...) đi cùng bo mạch lập trình để tạo thành bộ công cụ phát triển (development kit) cho vi điều khiển Hình 25.2. Người dùng có thể sử dụng các bộ công cụ phát triển này để tạo mẫu nhanh các hệ thống nhúng, rút ngắn thời gian kiểm chứng ý tưởng.

hinh-anh-bai-25-bo-mach-lap-trinh-vi-dieu-khien-12806-1

Hình 25.2. Một bộ công cụ phát triển cho vi điều khiển

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

hinh-anh-bai-25-bo-mach-lap-trinh-vi-dieu-khien-12806-2

Hình 25.3. Sơ đồ khối của một bo mạch lập trình vi điều khiển

Hiện nay, có rất nhiều bo mạch lập trình vi điều khiển; một bo mạch điển hình thường được tổ chức theo sơ đồ trên Hình 25.5 với các thành phần chính sau đây:

- Khối nguồn bao gồm giao diện với nguồn cấp điện ngoài và các mạch ổn áp, có 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.

(Trang 135)

- Khối truyền thông: đa số vi điều khiển hiện nay chủ yếu sử dụng giao thức UART, trong khi các thiết bị bên ngoài thường sử dụng các chuẩn kết nối khác, ví dụ USB hay wifi. Do đó, 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à các thiết bị 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 điều khiển Arduino Uno được cho trên Hình 25.4. 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ị hay phiế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.

hinh-anh-bai-25-bo-mach-lap-trinh-vi-dieu-khien-12806-3

Hình 25.4. 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,... Hình 25.5 là 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.

hinh-anh-bai-25-bo-mach-lap-trinh-vi-dieu-khien-12806-4

Hình 25.5. Thu thập số liệu về độ ẩm đất sử dụng bo mạch Arduino Uno

(Trang 136)

- 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, chúng ta phát triển các ứng dụng tự động như bật, tắt đèn, đóng, mở cửa,... Hình 25.6 là ví dụ sử dụng bo mạch Arduino Uno để điều khiển LED.

hinh-anh-bai-25-bo-mach-lap-trinh-vi-dieu-khien-12806-5

Hình 25.6. Điều khiển LED bằng bo mạch lập trình vi điều khiển

Kết nối năng lực 

Hãy tìm hiểu thêm các ứng dụng khác của bo mạch lập trình vi điều khiển trong cuộc sống. Trong ứng dụng mà em tìm được, vi điều khiển thực hiện chức năng đọc hay ghi dữ liệu trên các cổng vào/ra của nó.

Luyện tập

1. Trong ví dụ trên Hình 25.5, nếu muốn chuyển dữ liệu từ cảm biến vào vi điều khiển thông qua cổng A0 thay vì cổng A2 thì ta cần thay đổi như thế nào?

2. Trong ví dụ trên Hình 25.6, nếu muốn bật LED thì ta cần ghi giá trị nào ra cổng số 9? Biết giá trị 1 tương ứng với mức điện áp 5 V và giá trị 0 tương ứng với mức điện áp 0 V.

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

Đa số các vi điều khiển phổ thông hiện nay được lập trình bậc cao 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 được minh họa trên Hình 25.7, bao gồm 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 và nạp mã máy vào vi điều khiển.

   

Máy tính

 

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

     

Lập trình bậc cao

 

Biên dịch và nạp mã máy

 

 

 

Nạp mã máy vào bộ nhớ

 

 

 

Vi điều khiển

Lập trình viên

- Biên soạn mã nguồn

- Sửa lỗi

- Biên dịch ra mã máy

- Truyền mã máy sang bo mạch lập trình vi điều khiển

hinh-anh-bai-25-bo-mach-lap-trinh-vi-dieu-khien-12806-6

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

(Trang 137)

i+ Thông tin bổ sung

Khi lập trình viên yêu cầu IDE nạp đoạn mã máy vào vi điều khiển, IDE sẽ phải phối hợp với một phần mềm được nhà sản xuất cài đặt sẵn trên bo mạch lập trình gọi là trình tải khởi động (bootloader) để tiếp nhận file mã máy mà IDE truyền sang và nạp vào bộ nhớ của vi điều khiển. Quá trình này diễn ra hoàn toàn tự động, không cần sự can thiệp của lập trình viê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). Hình 25.8 mô tả giao diện của một Arduino IDE với ba thành phần chính là: thanh công cụ, cửa sổ lập trình và cửa sổ thông báo.

hinh-anh-bai-25-bo-mach-lap-trinh-vi-dieu-khien-12806-7

Thanh công cụ; Cửa sổ lập trình; Cửa sổ thông báo

Hình 25.8. Giao diện của một Arduino 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, hay mở mới một file mã nguồn khác,...

Cửa sổ lập trình thực chất là một ứ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ụ như đ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ớ,...

Vận dụng

Cài đặt ứng dụng Arduino IDE lên máy tính, mở ứng dụng và chỉ ra vị trí của ba thành phần cơ bản trên giao diện của nó.

(Trang 138)

Thực hành

Kết nối bo mạch lập trình vi điều khiển Arduino Uno với máy tính, mở ứng dụng Arduino IDE, soạn thảo đoạn mã dưới đây rồi nạp vào vi điều khiển và quan sát hiện tượng xảy ra trên LED L của bo mạch lập trình vi điều khiển. Nếu muốn thay đổi chu kì nháy của đèn thì ta cần thay đổi giá trị của biến nào trong đoạn mã?

hinh-anh-bai-25-bo-mach-lap-trinh-vi-dieu-khien-12806-8

void setup( ) {

   // Khởi tạo cổng điều khiển LED L ở mode ra

   pinMode(LED_BUILTIN, OUTPUT);

}

// Lặp lại vô hạn đoạn mã dưới đây

void loop( ) {

   digitalWriter(LED_BUILTIN, HIGH); // Bật LED (HIGH = mức điện áp cao)

   delay(1000);                                   // Chờ 1000 ms

   digitalWriter(LED_BUILTIN, LOW); // Tắt LED (LOW = mức điện áp thấp)

   delay(1000);                                  // Chờ 1000 ms

}

Tin tức mới


Đánh giá

Bài 25: Bo mạch lập trình vi điều khiển | Công Nghệ 12 (Công Nghệ Điện - Điện Tử) | Phần Hai. Công Nghệ Điện Tử - Chương IX. Vi Điều Khiển - Lớp 12 - Kết Nối Tri Thức Với Cuộc Sống

Tổng số sao của bài viết là: 5 trong 1 đánh giá
Xếp hạng: 5 / 5 sao

Bình Luận

Để Lại Bình Luận Của Bạn

Công Nghệ 12 (Công Nghệ Điện - Điện Tử)

  1. Phần Một. Công Nghệ Điện - Chương I. Giới Thiệu Chung Về Kĩ Thuật Điện
  2. Phần Một. Công Nghệ Điện - Chương II. Hệ Thống Điện Quốc Gia
  3. Phần Một. Công Nghệ Điện - Chương III. Hệ Thống Điện Trong Gia Đình
  4. Phần Một. Công Nghệ Điện - Chương IV. An Toàn Và Tiết Kiệm Điện Năng
  5. Phần Hai. Công Nghệ Điện Tử - Chương V. Giới Thiệu Chung Về Kĩ Thuật Điện Tử
  6. Phần Hai. Công Nghệ Điện Tử - Chương VI. Linh Kiện Điện Tử
  7. Phần Hai. Công Nghệ Điện Tử - Chương VII. Điện Tử Tương Tự
  8. Phần Hai. Công Nghệ Điện Tử - Chương VIII. Điện Tử Số
  9. Phần Hai. Công Nghệ Điện Tử - Chương IX. Vi Điều Khiển

Tin tức mới

Bộ Sách Lớp 12

Giáo Dục Việt Nam

Bộ Sách Giáo Khoa của Nhà Xuất Bản Giáo Dục Việt Nam

Tài liệu học tập

Đây là tài liệu tham khảo hỗ trợ trong quá trình học tập

Global Success & Bộ Giáo Dục - Đào Tạo

Bộ sách Global Success & Bộ Giáo Dục - Đào Tạo là sự kết hợp giữa ngôn ngữ Tiếng Anh theo lối giảng dạy truyền thống và cập nhật những phương thức quốc tế

Kết Nối Tri Thức Với Cuộc Sống

Sách giáo khoa của nhà xuất bản Kết Nối Tri Thức Với Cuộc Sống

Sách Bài Giải

Bài giải cho các sách giáo khoa, sách bài tập

Sách Kết Nối Tri Thức Với Cuộc Sống

Lớp 1

Sách giáo khoa dành cho lớp 1

Lớp 6

Sách giáo khoa dành cho lớp 6

Lớp 5

Sách giáo khoa dành cho lớp 5

Lớp 4

Sách giáo khoa dành cho lớp 4

Lớp 2

Sách giáo khoa dành cho lớp 2

Lớp 3

Sách giáo khoa dành cho lớp 3

Lớp 7

Sách giáo khoa dành cho lớp 7

Lớp 8

Sách giáo khoa dành cho lớp 8

Lớp 9

Sách giáo khoa dành cho lớp 9

Lớp 10

Sách giáo khoa dành cho lớp 10

Lớp 11

Sách giáo khoa dành cho lớp 11

Lớp 12

Sách giáo khoa dành cho lớp 12

Liên Kết Chia Sẻ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.