Nạp file .hex cho chip AVR - USBISP - Hướng đẫn cụ thể với 2 dòng ATTiny13 và ATmega8

Đôi khi chúng ta có file nạp cho chip .hex, hoặc các bạn làm xong một dự án trên board Arduino, các bạn không cần bootloader (nhất là chíp Atmega8), và các bạn muốn phát triển trên một bảng mạch riêng thì lúc đó ta sẻ nạp trực tiếp file .hex cho chip, và hôm nay mình sẻ hướng dẩn các bạn nào chưa biết một cách nạp file .hex (firmware) đơn giản và an toàn. Có rất nhiều cách nạp firmware các bạn có thể tìm hiểu trên Internet.

1. Chuẩn Bị

  • Firmware tức file có đuôi .hex
  • Mạch nạp AVR (có rất nhiều mạch ở đây mình dùng mạch  89/AVR USBasp/USBisp).
  • Chip cần nạp (chip này cần có giao tiếp SPI). Ở đây mình Attiny13 làm ví dụ.
  • Phần mềm ProgISP (mirror)

2. Kết nối 

Các bạn nhìn trên thân USBasp có sơ đồ chân 

và xem data trên chip cần nạp ở đây mình lấy Attiny13 làm ví dụ

các bạn kết nối các chân VCC,GND, MISO, MOSI, SCK, RST giửa mạch nạp và chíp, cẩn thận chân VCC và GND kẻo mua chip mới. devil

3. Bắt đầu

Bước 1: Chạy chương trình nạp Progisp

[​IMG]

Bước 2

2.1: Chương trình nhận mạch nạp USBISP.

2.2: Chọn loại chip.

[​IMG]

Bước 3: Các thông số quan trọng khi nạp chương trình

(Thông số quan trọng chương trình sẽ tự động Tích (V) khi bạn chọn chip tương ứng , bạn không cần thay đổi gì cả (Bên dưới là giải thích) )

[​IMG]

Bước 4: Xóa chip (xóa chương trình cũ có trong chip)

[​IMG]

Bước 5: Nạp chương trình FLASH

5.1: Click Load Flash

5.2: Tìm file hex trong chương trình của bạn

5.3: Open thôi

[​IMG]

Bước 7 : Nạp chương trình Eeprom (Nếu có)

7.1:Click Load Eeprom

7.2:Tìm file .eep trong chương trình của bạn

73:Open thôi

[​IMG]

Bước 8 Load chương trình.

Click Autođể load chương trình bạn vừa chọn.

[​IMG]

Bước 9:Hoàn thành

Khi có dòng chữ: Erase, Write Flash, Verify Flash, Verify Eeprom, Successfully done tức là bạn đã nạp xong chương trình.

[​IMG]

CHÚ Ý

Khi các bạn Click vào button ... thì sẻ đưa đến bảng cấu hình tần số hoạt động của chíp (fuse bit)

Các bạn nên cẩn thận vì nếu cấu hình sai thì chíp sẻ khó cứu.

Sau đây là cách fuse bit cho chip Atmega8

1. Defaut

Trở về cấu hình ban đầu.

[​IMG]

2. Read

Đọc tần số Thạch Anh từ chip vào chương trình.

[​IMG]

3. WTDON

WTDON luôn để là 1 khi cấu hình "Fuse And Lock Config" cho ATmega8.

(WTDON =1 : Chống Reset chip )

[​IMG]

4. Cấu hình Thạch Anh

(Trong code của bạn sử dụng tần số Thạch Anh nào thì bạn phải cấu hình đúng như vậy )

4.1. CKSEL0=1

Sử dụng Thạch Anh 1 MHz 

[​IMG]

4.2. CKSEL1=1

Sử dụng thạch anh 2Mhz

[​IMG]

4.2. CKSEL0=1 và CKSEL1=1

Sử dụng thạch anh 4Mhz

[​IMG]

4.3. CKSEL2=1

Sử dụng thạch anh 8MHz

[​IMG]

4.4. CKSEL0=CKSEL1=CKSEL2=CKSEL3=1

Sử dụng Thạch Anh ngoài

[​IMG]

5. Write

Cấu hình tần số Thạch Anh từ chương trình vào chip.( ở đây lấy ví dụ là 1MHz nội)

[​IMG]

Trong bài viết mình có copy hình ảnh từ diển đàn Vi Điều Khiển MCU.

Chúc các bạn thành công!

lên
12 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Chạy motor HDD (brushless) bằng Attiny13 - Điều khiển động cơ không chổi quét (4 dây)

Chắc hẳn các bạn đều đã từng dùng qua máy tính bàn và biết rằng trong đó có những ổ đĩa HDD cũ. Khi lên đời laptop, những chiếc HDD cũng hàng chục GB đã trở nên vô dụng vì dung lượng quá ít của nó hoặc nó đã hỏng từ lâu! Qua bài viết này, mình mong muốn truyền một ít kiến thức và thành quả của mình để các bạn biến ổ cứng HDD cũ trở nên có ít hơn. Như mình chẳng hạn... biến nó thành một máy mài mini heart!

lên
21 thành viên đã đánh giá bài viết này hữu ích.

Lập trình ARDUINO với chíp STM8S003F3P6 giá rẻ

Khi ta lập trình Arduino chắc rằng ai củng muốn ứng dụng vào cuộc sống, nhưng nếu đem nguyên board Arduino vào ứng dùng thì quá tốn kém cho những việc nhỏ. Hôm nay mình giới thiệu với các bạn một dòng chíp rẻ tiền tha hồ cho các bạn sáng tạo.

lên
15 thành viên đã đánh giá bài viết này hữu ích.