Nạp chương trình cho AVR Atmega với mạch nạp USBISP

Sau khi viết chương trình cho vi điều khiển, mô phỏng chỉ là bước đệm nhằm kiểm tra tính năng của chương trình. Hiện nay có rất nhiều loại mạch nạp, từ đơn giản rẻ tiền đến phức tạp với giá thành cao. Cụ thể với trường hợp sử dụng Atmel Studio, người ta có thể sử dụng mạch nạp AVRisp mkII, Dragon hay JTAGICE. Chúng hỗ trợ nhiều tính năng và kiểu nạp khác nhau như ISP, PDI cho linh kiện mới. Tuy nhiên những mạch nạp này khá đắt tiền. Trong loạt ví dụ này, chúng ta sử dụng Atmeg8 là loại vi điều khiển phổ thông nên có thể sử dụng những mạch nạp khác để tiết kiệm kinh phí. Điển hình nhất là mạch nạp USBISP cho AVR.

Continue reading “Nạp chương trình cho AVR Atmega với mạch nạp USBISP”

Tìm hiểu Lock bits & Fuse bits trên vi điều khiển họ AVR

AVR® Fuses nằm trong khu vực bộ nhớ bền vững (non-volatile memory) cho phép cấu hình phần cứng của vi điều khiển họ AVR. Các Fuses này thường được tạo thành bởi vài thanh ghi. Mỗi bit sẽ định nghĩa một chức năng phần cứng. Thông tin chi tiết về từng bit và tác động của chúng được trình bày trong tài liệu đi kèm. Các thông số về tốc độ xung nhịp, bộ đếm và các chức năng hỗ trợ sửa lỗi là những cài đặt phổ thông mà đa số vi điều khiển đều sở hữu.

Continue reading “Tìm hiểu Lock bits & Fuse bits trên vi điều khiển họ AVR”

Bài tập ví dụ cho Vi điều khiển Atmega8 (P2)

Trong phần này tiếp tục là tập hợp các bài tập ví dụ cho Vi điều khiển Atmega8.  Chúng ta sẽ làm quen với việc sử dụng ngôn ngữ C để thực hiện một số ví dụ minh họa. Các bài tập gồm có việc sử dụng cổng cửa có sẵn để bật tắt đèn LED; vòng lặp và điều kiện; sử dụng mảng; ngắt phần cứng ngoài INT0; sử dụng bộ định thời Timer, biến đổi ADC, truyền thông chuẩn USART…

Continue reading “Bài tập ví dụ cho Vi điều khiển Atmega8 (P2)”

Bài tập ví dụ cho Vi điều khiển Atmega8 (P1)

Tập hợp một số bài tập ví dụ cho Vi điều khiển Atmega8. Trong phần này chúng ta sử dụng ngôn ngữ Hợp ngữ (Assembly) để thực hiện một số ví dụ minh họa. Các bài tập gồm có việc sử dụng cổng cửa có sẵn để bật tắt đèn LED; tạo hàm trễ; vòng lặp; tạo bảng và sử dụng bảng; ngắt phần cứng ngoài INT0; sử dụng bộ định thời Timer, biến đổi ADC, truyền thông chuẩn USART

Continue reading “Bài tập ví dụ cho Vi điều khiển Atmega8 (P1)”