Cách Xuất File .hex Từ Arduino Ide Và Mô Phỏng Arduino Trên Phần Mềm Proteus
--- Bài mới hơn ---
Xin chào các bạn!
Kế đó là sơ lược về phần mềm mô phỏng mạch Proteus và cách mô phỏng Arduino trên Proteus.
File .hex là gì và chúng ta lấy file .hex để làm gì?
hex ở đây được viết tắt bởi từ hexadecimal có nghĩa là hệ cơ số 16 hay hệ thập lục phân. Khi bạn viết code và nạp chương trình cho vi điều khiển (cụ thể với board Arduino UNO là ATMEGA 328) thì không đơn thuần là nạp những “câu lệnh” bạn viết ra đưa vào vi điều khiển, mà phải thông qua trình biên dịch (Aruduino IDE, Code Vision, Keil C…đều là trình biên dịch) “dịch” lại những gì mình viết và tạo ra một chuỗi kí tự gồm những chữ (từ A đến F) và số (từ 0 đến 9) thuộc hệ thập lục phân. Những chữ số này nạp vào vi điều khiển thì vi điều khiển mới “hiểu” được. Những chữ số này được đóng gói và lưu lại thành một file có đuôi mở rộng là “.hex”.
:060000002FC0FECFFDCF72 :10000600FCCFFBCFFACFF9CFF8CFF7CFF6CFF5CFAE :10001600F4CFF3CFF2CFF1CFF0CFEFCFEECFEDCFDE :1000260020202020202020202020202020202020CA :100036002756494554204E414D2720202020202078 :100046002020202020202020202080C02A0060019F :1000560026000200A30150000000F894EE27ECBB36 :10006600F1E0FBBFEBBFE5BFF8E1F1BDE1BD8DE01F :10007600A2E0BB27ED938A95E9F780E094E0A0E63D :10008600ED930197E9F7E2E5F0E085919591009708
Arduino IDE cũng dựa trên nguyên tắc cơ bản đó để nạp “chương trình mình viết” vào vi điều khiển nhưng để đơn giản cho người dùng không phải phức tạp qua nhiều thao tác như các trình biên dịch khác, Arduino IDE đã làm ẩn file .hex đi vì thế bạn chỉ cần ấn “Upload” chờ trong giây lát là xong mà không cần phải khổ sở tìm file .hex nào hết.
Nhưng có một thực tế đặt ra là Arduino IDE có thư viện code mẫu quá phong phú, viết chương trình trên Arduino IDE khá dễ dàng cộng thêm OpenSource viết riêng cho Arduino thì ngày càng nhiều (bởi cộng đồng Arduino ngày càng lớn mạnh mà ^^) chính vì vậy một số người trung thành với dòng AVR như ATMEGA 8, 16, 32, Tiny rất thích “địa” code của Arduino để nghiên cứu nhanh một đề tài dự án nào đó nhưng lại không có board Arduino. Điều này phát sinh ở họ là phải tìm cho được file .hex để nạp theo cách phổ thông. (Nếu có board Arduino bạn có thể tham khảo 2 bài viết sau: Attiny13 – Trợ thủ đắc lực của Arduino – Lập trình nó? và Nạp bootloader cho vi điều khiển trên Arduino)
1. Sơ lược về phần mềm Proteus:
Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola.
Phần mềm bao gồm 2 chương trình:
Proteus là công cụ mô phỏng cho các loại vi điều khiển khá tốt, nó hỗ trợ các dòng vi điều khiển PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 … các giao tiếp I2C, SPI, CAN, USB, Ethenet,… ngoài ra còn mô phỏng các mạch số, mạch tương tự một cách hiệu quả. Nếu bạn đang muốn học lập trình trên Arduino hoặc bất kì vi điều khiển nào khác mà không có điều kiện hoặc kinh nghiệm để làm các mạch phát triển hoặc bạn muốn kiểm tra chương trình trước khi nạp vào mạch phát triển thì Proteus là lựa chọn không thể bỏ qua.
Ngoài chức năng mô phỏng “bá đạo” ra thì phần mềm Proteus còn được sử dụng để thiết kế mạch, làm board, mô phỏng 3D. Hiện nay Proteus đã cập nhật đến phiên bản 8. Nhưng theo kinh nghiệm sử dụng và đã cài qua bản 8.1 thì các bạn nên sử dụng bản 7.8 hoặc 7.10 (Bài viết này mình sử dụng Proteus 7.8 SP2 để minh họa) bởi vì nếu chỉ nghiệp dư dùng Proteus để mô phỏng thì ta cũng không cần “đú” lên 8.1 làm gì vừa tốn tài nguyên máy, vừa khó crack thành công vĩnh viễn và còn xuất hiện một số lỗi, những gì của bản 7. cung cấp là dư sức cho ta sử dụng.
Bạn có thể download phần mềm này trên trang chúng tôi Nếu bạn yêu thích và muốn tìm hiểu sâu hơn về Proteus xin vui lòng tìm bài hướng dẫn trên google hoặc qua các video trên youtube, có rất nhiều tài liệu hay đấy bạn. Bài viết này chỉ mang tính chất giới thiệu, không đi sâu vào cách sử dụng phần mềm.
Mặc định thư viện mô phỏng Proteus không có board Arduino 🙁 nhưng cũng đừng lo lắng, bạn hãy download thư viện mô phỏng Arduino trên trang chúng tôi ( download) sau đó giải nén và chép chúng tôi vào thư mục LIBRARY của Proteus theo đường dẫn
C:Program Files (hoặc Program Files (x86) nếu máy bạn nào sử dụng 64 bit) Labcenter ElectronicsProteus 7 ProfessionalLIBRARY
Trong thư viện này hỗ trợ 5 loại board Arduino khác nhau và 1 cảm biến siêu âm Untrasonic
2. Mô phỏng trên Proteus
Sau khi đã cài đặt, add thư viện và crack thành công, bạn hãy mở ISIS Profesional bằng mọi “thủ đoạn” của bạn 😀 ( ISIS Profesional là cái biểu tượng xanh)
3. Lấy file .hex từ Arduino IDE
Lưu ý với các bạn dùng phiên bản Arduino 1.6.x
Tiếp đó bạn ấn để Built chương trình. Bạn để ý sẽ thấy điều khác biệt: trình biên dịch IDE sẽ Built cho chúng ta một file .hex được lưu ở đường dẫn như hình dưới:
Bước 1: Mở tập tin C:Program Jetstartakeontheworld.com bằng Notepad hoặc Notepad++
Ví dụ: Để lưu vào thư mục Built_Arduino (mình vừa tạo) trên desktop của mình, mình viết như sau:
Bạn sẽ thấy file .hex đã không còn ở thư mục temp khó tìm nữa mà vào đúng thư mục mình mong muốn.
4. Lắp ráp và hoàn tất
Lúc này bạn chỉ cần ấn nút PLAY để mô phỏng và rung đùi xem thành quả đạt được thôi 😀
Phù, vậy là xong rồi đấy. Uống một cốc nước cho mát nào!
--- Bài cũ hơn ---