Friday, January 8, 2016

Sử dụng board Arduino như 1 mạch nạp ISP.




   Chúng ta thường dùng board arduino như là 1 thiết bị lập trình thông thường. Nhưng cũng có khi để làm 1 mạch khác nhưng vẫn sử dụng code arduino vậy là chúng ta cần phải mua 1 mạch nạp nữa ư?????
Điều đó là không cần thiết vì board Arduino đã là một mạch nạp hoàn chỉnh với đầy đủ các tính năng như fusebit, nạp file hex với tốc độ cao.
Cách làm như sau :
1-   Cấu hình board Arduino như 1 mạch nạp
Mở chương trình Arduino IDE và chọn như hình vẽ :


Các bạn upload file đó xuống board Arduino


Sau khi hoàn thành bước này thì board Arduino đã là 1 mạch nạp hoàn chỉnh.

2-   Kết nối “mạch nạp” Arduino as ISP với vi điều khiển AVR cần nạp

Chân vi điều khiển AVR
Board Arduino
Reset
10
MOSI
11
MISO
12
SCK
13

3-   Chương trình nạp avrdude
Avrdude là chương trình nạp đi kèm với arduino. Nó là 1 chương trình thuộc dạng dòng lệnh. Vì vậy có thể hơi khó sử dụng với 1 số bạn. Nhưng nếu dùng quen bạn sẽ thấy rằng nó là 1 chương trình rất tuyệt vời.
Cú pháp làm việc :
Vào Start menu và gõ "cmd" .
Các bạn dùng lệnh “cd” để di chuyển đến folder chứa file hex cần nạp.
-       Cách fuse bit
Avrdude –c avrisp –P COM27 –b 19200 –p atmega8 –e –U lfuse:w:0xef:m  hfuse:w:0xc9:m
Đây là cách fuse bit
-c : đây là tham số khai báo tên mạch nạp . như ví dụ trên mạch nạp là avrisp
-P : là tham số khai báo tên cổng COM kết nối với arduino .
-b : là tham số khai báo tốc độ baund của cổng Com
-p: là tên của chíp vi điều khiển cần nạp .vd : atmega8, atmega48, atmega328
-e : là tham số xóa chíp.
-U : là tham số làm việc với chip
Lfuse:w:0xef:m đây là cách ghi giá trị vào LOW FUSE
Hfuse:w:0xC9:m là cách ghi giá trị vào HIGH FUSE        
Cách nạp chương trình
-       Cách nạp chương trình
Avrdude –c avrisp –P COM27 –b 19200 –p atmega8 –e –U flash:w:main.hex
ở đây –U flash:w:main.hex nghĩa là ghi file main.hex vào vi điều khiển.

1 comment:

  1. phần cuối hướng dẫn nạp trương trình bổ xung thên hình ảnh được không ad

    ReplyDelete