VI ĐIỀU KHIỂN AVR

19/03/2012 0 4511

I. Phần mềm lập trình họ vi điều khiển AVR.

Chúng ta có thể dùng ngôn ngữ C hoặc ASM để lập trình cho vi điều khiển AVR. Để học nhanh, làm được việc ngay chúng tôi khuyên bạn nên lập trình bằng ngôn ngữ C. Ngôn ngữ C sẽ hỗ trợ bạn tiếp cận vi điều khiển AVR nhanh nhất, không cần tốn nhiều thời gian nghiên cứu cấu trúc AVR mà bạn vẫn lập trình cho AVR một cách dễ dàng. Bạn cũng sẵn sàng chia sẽ code với mọi người trên mạng vì đa số họ cũng lập trình cho AVR bằng ngôn ngữ C.

Giới thiệu với bạn phần mềm Codevison lập trình cho họ vi điều khiển AVR bằng ngôn ngữ C. Đây là một trình biên dịch hỗ trợ rất mạnh về khai thác phần cứng hầu hết các dòng vi điều khiển AVR. Cho nên bạn không cần phải nhớ từng thanh ghi của AVR mà chỉ cần click là đã khai thác được tài nguyên của AVR. Sử dụng Codevison bạn có thể tạo 1 project , viết source code, xây dựng và lập trình cho AVR một cách nhanh chóng.Bạn tải phần mềm Codevison tại đây. 

Sau khi download, bạn giải nén và hãy cài đặt bình thường. Sau khi cài đặt hoàn tất, bạn khởi động Codevison từ Desktop.

Giao diện khởi động.

Chọn File/New để tạo project mới:

Đánh dấu nút project.

Chọn vi điều khiển cần lập trình, thiết lập cấu hình dao động:

Khai báo vi điều khiển và tần số dao động.

Khai báo các phần cứng cần sử dụng:

Khai báo phần cứng cần sử dụng.

Chọn File/Generate, Save and Exit để lưu lại project:

Chọn Generate, Save and Exit

Đặt tên cho project.

Cửa sổ lập trình C cho AVR.

Nhấn Shift + F9 để biên dịch chương trình:

Kết quả sau khi biên dịch.

II. Mạch ứng dụng ATmega8 cơ bản.

 

Mạch ứng dụng ATmega8.

Trong schematic này LM7805 là ổn áp 3 đầu cho ra điện áp 5V cấp cho toàn mạch. Các tụ C1, C2, C3 có chức năng lọc nguồn. D2 là đèn LED báo nguồn. C4, C5, Crystal kết hợp với mạch bên trong vi điều khiển tạo thành mạch dao động cấp xung clock cho chip hoạt động. R2, C4 tạo thành mạch auto reset. Ngoài ra, mạch còn có 8 đèn LED màu đỏ, 3 nút nhấn dùng để test chương trình. Các đường MOSI, RESET, SCK, MISO, GND, +5V dùng để kết nối với mạch nạp.

Và đây là hình ảnh file mô phỏng của schematic trên dành cho bạn nào không có thời gian thi công mạch:

Mạch ứng dụng cơ bản Atmega8 bằng proteus.

III. Công cụ nạp chương trình vào vi điều khiển AVR.

3.1 Sơ đồ mạch nạp:

   Các bạn thân mến, hiện tại trên mạng internet có nhiều loại mạch nạp cho vi điều khiển AVR. Điều này làm các bạn mới học lúng túng không biết lựa chọn loại mạch nạp nào làm dễ và rẻ. Dựa trên tiêu chí đó, chúng tôi khuyên các bạn mới bắt đầu học AVR nên chọn chip Atmega8. Vì đây là chip thông dụng và giá mềm hiện nay. Đây là sơ đồ mạch nạp hết sức đơn giản cho AVR giả lập COM qua cổng USB 2.0:

Sơ đồ mạch nạp AVR 910.

PCB mạch nạp AVR910.

Mạch nạp AVR 910.

Bạn click vào đây để download PCB (có cả file pdf), firmware(dùng để nạp vào chip master) và driver.

Sau khi nạp firmware vào master, bạn kết nối máy nạp với máy tính thì máy tính sẽ yêu cầu cài đặt driver. Bạn thực hiện theo các bước sau:

Máy tính phát hiện phần cứng mới.

 

 

Chọn "Yes, this time only" rồi click "Next".

 

Chọn "install from a list..." rồi click "Next".

 

Trỏ đến vị trí lưu firmware.

 

Click "Continue Anyway" để tiến hành cài đặt firmware.


 

Cài đặt firmware thành công.

AVRprog chỉ detect được mạch ở COM1, COM2, COM3. Vì vậy công việc tiếp theo là bạn vào Device Manager:

Double Click vào AVR910 USB Programmer.

 

Thiết lập tốc độ baud 115200.

Sau đó click vào "Advanced" chỉnh lại COM1 hoặc COM2 hoặc COM3

Chỉnh lại thành COM1 rồi click OK.

 

3.2 Phần mềm nạp

Giao diện AVRprog.

 

Mỗi một sơ đồ mạch nạp sẽ tương thích với 1 phần mềm nạp. Phần mềm tương thích với sơ đồ mạch nạp AVR 910 ở trên là AVRprog. AVRprog là phần mềm  nạp siêu nhanh, siêu nhỏ, nạp được 90% các chíp AVR phổ thông và đặc biệt là phiễn phí. Bạn vào đây để download AVRprog.

3.2.1 Chức năng Set Fuse bit cho AVR của AVRprog:

Nhiều bạn ko biết tới chức năng này của AVR, khác hoàn toàn so với 8051. Fuse bit ở đây bạn hiểu nôm na giống như tác động vào cái công tắc vậy đó. Một ví dụ điển hình: bình thường con AVR mới mua về, chip mới 100% thì nó sẽ chạy ở thạch anh nội với tần số 1 MHz, ko phải chạy với tần số thạch anh ngoài như 8051, muốn chạy tần số ngoài thì các bạn phải fuse bit cho nó. Cách set fuse bit như sau:

+ Kết nối mạch nạp AVR910 vào chip cần lập trình (qua chân MOSI, MISO, SCK, RST, GND, Vcc).

+ Kết nối mạch nạp AVR910 vào máy tính.

+ Chạy phần mềm AVRprog.

+ Nhấn vào nút advenced thì sẽ hiện ra 1 cửa sổ mới. 

Thiết lập Fuse bit.

Ở chế độ mắc định khi xuất xưởng thì nó sẽ hiện dòng "Int RCosc, Frequency 1MHz" tức là nó chạy chế độ thạch anh nội 1 MHz, bạn ko cần gắn thạch anh ngoài nó vẫn chạy. Nếu muốn chạy với tần số cao hơn, bạn chọn dòng "ExtXTAL, High Frequecy" còn ở dưới bạn chọn dòng "start up: 64ms +1CK". Sau khi thiết lập xong bạn click vào nút "write" để Set Fuse bit.

Chú ý: Sau khi thiết lập AVR chạy thạch anh ngoài bạn cần phải cấp nguồn cho kit AVR thì AVRprog mới dectect được AVR mà bạn đang sử dụng.

IV. Kit thí nghiệm ATmega8.

Để học được vi điều khiển AVR nhanh nhất, tiết kiệm nhất bạn nên đầu tư 1 cái kit thí nghiệm. Tại trang web này, chúng tôi có cung cấp kit AVR đầy đủ chức năng, giao tiếp với nhiều ngoại vi mà giá phải chăng:

  • Giao tiếp LED đơn.
  • Giao tiếp LED 7 đoạn.
  • Giao tiếp nút nhấn.
  • Ma trận phím 4x4.
  • Giao tiếp ADC.
  • Giao tiếp DS1307.
  • Giao tiếp LM35.
  • Giao tiếp DS18b20.
  • Giao tiếp máy tính qua cổng RS232.

Mỗi kit thí nghiệm đi kèm với 1 CD hướng dẫn bạn thực hành từng nội dung giúp bạn mau chóng làm chủ được kit. Sau khi thực hành thành thạo cũng là lúc bạn nắm vững phần cứng kit và có thể tự làm 1 cái kit riêng cho mình. Ngoài ra, chúng tôi cũng có bán PCB và linh kiện để bạn tự hàn.

Nguồn: sangthai.com

Đăng nhập