Nhận làm đồ án VĐK các loại ( 8051, AVR, PIC) Tư vấn - Hướng dẫn - lập trình
Hiển thị các bài đăng có nhãn CodeVisionAVR 2.05. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn CodeVisionAVR 2.05. Hiển thị tất cả bài đăng

Thứ Ba, 23 tháng 12, 2014

CodeVisionAVR 2.05



Hướng dẫn sử dụng phần mềm CodeVisionAVR 2.05

I.  CodeVisionAVR 2.05.0 – Phần mềm lập trình cho vi điều khiển Atmel AVR:




 CodeVisionAVR – là một môi trường phát triển tích hợp phần mềm cho vi điều khiển    Atmel AVR. Nó cung cấp sự hỗ trợ rộng rãi cho các thiết bị AVR và tạo ra một đoạn mã nhỏ gọn và hiệu quả.
CodeVisionAVR bao gồm các thành phần sau:
- Trình biên dịch ngôn ngữ C cho AVR;
- Trình biên dịch hợp ngữ cho AVR;
- Các máy phát điện của mã chương trình ban đầu cho phép khởi tạo thiết bị ngoại vi;
- Module giao tiếp với debug board STK-500;
- Module tương tác với các lập trình viên;
- Terminal.
CodeVisionAVR cho tập tin đầu ra là:
- HEX, BIN hoặc tập tin ROM để nạp vào thiết bị thông qua lập trình;
- COFF – file có chứa thông tin cho trình gỡ lỗi;
- OBJ – file.
Hiện nay, CodeVisionAVR bao gồm các thư viện và các ví dụ sau đây:
- Alphanumeric LCD modules for up to 4×40 characters;
- Philips I²C Bus;
- National Semiconductor LM75 Temperature Sensor;
- Maxim/Dallas Semiconductor DS1621 Thermometer/Thermostat;
- Philips PCF8563 and PCF8583 Real Time Clocks;
- Maxim/Dallas Semiconductor DS1302 and DS1307 Real Time Clocks;
- Maxim/Dallas Semiconductor 1 Wire protocol;
- Maxim/Dallas Semiconductor DS1820/DS18B20/DS1822 1 Wire Temperature – Sensors;
- Maxim/Dallas Semiconductor DS2430/DS2433 1 Wire EEPROMs;
- SPI;
- MMC/SD/SD HC FLASH Memory Card drivers and FAT12, FAT16, FAT32 access libraries;
- Power management;
- Delays;
- BCD and Gray code conversion.
Nó hỗ trợ hầu hết các vi điều khiển Atmel AVR. Phiên bản mới thêm hỗ trợ cho vi điều khiển với một kernel ATxmega.
Phát triển: HP InfoTech
OS: Windows 98/2000/XP/Vista/7
Ngôn ngữ: English

Ø  Các bạn có thể dowload tại đây hoặc cuối bài viết.
Pass giải nén : dienturid@gmail.com


II.  Hướng dẫn sử dụng Code Vision AVR

III. Các thanh cơ bản:

-Thanh Menu bar: chứa các tùy chọn cơ bản, gồmFileEdit, Search, View, Project, Tools, Settings, Help.


IV. Thanh Project: dùng để complie và build các project:


V. Thanh Tools : chứa các nút dùng để Run CodeWinzardAVR, Run debugger... :


        I.        VI.  Thanh Setting: Chứa các nút dùng để cái đặt cho IDE, Edittor, Debugger, Programmer, Terminal:



VII.  Thanh View: chứa các tùy chọn thay đổi vị trí các cửa sổ bên dưới:

VIII. Thanh Help:


IX. CodevisionAVR IDE bao gồm các cửa sổ:

-Code Navigator
-Code Information
-Function Call Tree
-Cửa sổ lập trình chính
-Code templates
-Clipboard History
-Messages

Thông thường, chúng ta hay dùng các của số: Code Navigator, Cửa sổ lập trình chính, Messages.
1.Làm việc với các files .
Bạn có thể tạo một file nguồn mới bằng cách sử dụng nút File/View hoặc Ctrl/N. Cửa sổ Create New file hiện ra, bạn chọn Source/OK.


X. Ta đã có 1 cửa số mới được tạo, tên file mới này mặc định là untitled.c. Bạn có thể save file này với 1 tên mới bằng cách sử dụng File/Save As hoăc biểu tượng Save As.

        I.           XI. Chú ý:
Ở trên cùng có đượng dẫn tới file đang hiển thị. Để mở lại fil, bạn tìm theo đường dẫn này.
Các thủ tục lưu, sửa, xóa hay đổi tên file khá đơn giản, các bạn có thể tự tìm hiểu.

2. Làm việc với các Project.
Tạo project mới bằng cách vào File/new, cửa số Create New File hiện ra. Ta chọn Project sau đó chọn OK.

XII. Cửa số Con firm xuất hiện, ở đây bạn chọn OK để xác nhận tạo 1 project mới.


XIII. Tiếp theo là cửa số CodeWizardAVR dùng để chọn loại chip. Ở đây tôi chọn AT90, AtTiny, Atmega, FPSLIC, cho phép sử dụng các loại vi điểu khiển tương ứng. cùng chọn OK để xác nhận.


XIV.  Cửa số CodewizardAVR xuất hiện. Trong cửa số này, cho các bạn những tùy chọn thiết lập ban đầu cho vi điểu khiển của mình.


XV. Chúng ta chú ý đến các thẻ ở phía dưới bên trái trước.


XVI. Thẻ Chip: với các tùy chọn loại chip, chọn xung Clock, Clock Prescaler Divider, và Check Reset Source

Ở đây tôi chọn Atmega8 với Clock 8Mhz.


XVII. Thẻ Ports:ở đây đã có các port tương ứng với loại vi điểu khiển bạn chọn. trong trường hợp này, tôi đã chọn Atmega8 nên các Port gồm B,C,D. Ở mỗi Port lại có các tùy chọn, giúp bạn chọn chiều của port (Data Direction) và giá trị của Port đó (Pullup/Output Value).
Với     Data Direction: Out là đầu ra, In là đầu vào
Với Pullup/Output Value: 0 là mức thấp, 1 là mức cao, P là có trở treo, T là không dùng trở treo.

Ví dụ ở đây: PORTB.1 là Input và không dùng trở treo, PORTB.2 là Output và ở mức thấp

Các Port khác làm tương tự.
Thẻ Externa IRQ: Thẻ này cho phép chọn ngắt.


        I.            Ứng với mỗi vi điều khiển lại có số lượng ngắt khác nhau, ở đây tôi chọn Atmega8 vì thế chỉ có 2 ngắt là INT0 và INT1.

Tích vào ngắt bạn chọn, sẽ xuất hiện thêm tùy chọn Mode. Đây là tùy chọn chế độ xảy ra ngắt.


        I.            Có các tùy chọn: Low level (ngắt khi ở mức thấp), Any Change (ngắt với bất kì thay đổi nào), Falling Edge (ngắt khi có xung xuống), Rising Edge (ngắt khi có xung lên).

Thẻ Timers:

Gồm có các thẻ nhỏ: Timer0, Timer1, Timer2, Watchdog. Các thẻ này còn tùy thuộc vào loại vi điều khiển bạn chọn ban đầu.

§Ở Timer0có các tùy chọn: Clock Source (nguồn clock), Clock Value (giá trị Clokck). Ở đây tôi chọn System Clock, 8000kHz.
Nếu bạn dùng chế độ OverFlow Interrupt thì chọn vào ô đó.
Timer Value là gía trị Timer mà bạn muốn đặt.

Chú ý: Timer value ở dạng hex.
§Thẻ Timer1
Có các tùy chọn Clock Source, Clock Value

giống với Timer0. Các bạn để ý tới tùy chọn Mode (chế độ hoạt động của Timer1).

Mặc định là Nomal top=0xFFFF. Đây là chế độ hoạt động bình thường, có chức năng định thời giống với Timer0. Các chức năng còn lại chủ yếu liên quan tới phát xung PWM, các bạn có thể tự tìm hiểu.
Nếu chọn 1 mode (chức năng) liên quan tới PWM, các bạn cần chú ý tới Out. A và Out. Bđây là 2 kênh ra tương ứng của chế độ phát PWM.
2 ô bên dưới là các tùy chọn Input Capt và Interrupt on

Với 4 ô nhập giá trị bên dưới, ta có: Value(giá trị của Timer), Inp. Capture (giá trị Input capture), Comp. A, B.

Thẻ Alphanumeric LCD:cài đặt cho màn hình LCD
Các bạn chọn vào Enable Alphanumeric LCD support để kích hoạt chức năng này.
Characters/Line: chọn loại màn hình.
Connections: Chọn các chân của vi điểu khiển cho chức năng LCD. Ở đây đã có sẵn tùy chọn các Port, và các bit tương ứng với các port để bạn chọn. Tôi đã chọn các
port như sau: 


Thẻ ADC: chọn chức năng ADC cho vi điều khiển. Bạn cần chọn ô ADC Enable để mở tính năng này.

Các tùy chọn:
-Use 8 bits, Interrputs.
-Volt. Ref: chọn điện áp tham chiếu.
-Clock: chọn xung clock.


Thẻ USART:chọn chế độ USART.

Bạn chọn Receiver nếu muốn nhận, và Transmitter nếu muốn truyền. các ô Rx Interrputvà Tx Interrput tương ứng với ngắt nhận và ngắt truyền.


Nhấn vào mũi tên
  nếu muốn thay đổi Baud rate,và x2 nếu muốn gấp đôi tốc độ. Các tùy chọn Communication Parameters và Mode, tùy thuộc vào phần cứng của bạn.

Thẻ I2C.

Đầu tiên trong mục I2C Port bạn chọn Port muốn dùng. Giả sử ở đây tôi chọn PORTB.

Xuất hiện thêm các tùy chọn trong đây.
Đầu tiên, các bạn chú ý đến SDA Bit và SCL Bit, 
§SDA (Serial DATA): đường truyền nhận dữ liệu
§SCL (Serail Clock): đường truyền xung nhịp
Do ở trên, chúng ta đã chọn Port B nên các Bit chọn ở SDA và SCL là bit của PortB. Chú ý là 2 đường truyền này riêng biệt nên phải khác nhau.

Các thẻ bên dưới là các thẻ tùy chọn dùng module gì, các bạn chọn module phù hợp rồi chọn ô Enable.

Thẻ 1 Wire: cấu hình cho Bus 1 dây.


Đầu tiên bạn chọn trong 1 wire Portvà Data Bitđể chỉ định Port và Bit cho Bus 1 dây. Nếu sử dụng các cảm biến đo nhiệt độ DS1820/DS18S20 bạn chọn và ô Enable bên dưới. Trường hợp muốn dùng vài cảm biến DS1820/DS18S20 kết nối đến 1Wire Bus, cần chọn ô Multuple Devices. Có tối đa 8 thiết bị DS1820/DS18S20 được kết nối tới bus.


Thẻ (TWI) I2C: chuẩn truyền thông Two Wire Bus.


Các bạn chọn vào Two Wire Enable để mở tính năng này. Xuất hiện thêm các tùy chọn.
Nếu bạn chọn Generrate Acknowledge Pulse, xung ACK trên Two wire bussẽ được tạo ra nếu một trong các trường hợp sau xảy ra: địa chỉ riêng của slave được nhận hoặc một lệnh General Call được nhận và General Call Recognition được check.
Ô Slaver Address đặt địa chỉ cho Slave. Ô General Call Recognitioncho phép công nhận lệnh General Call cho Two Wire Bus. 
Tiếp theo là Bit Rate, cho phép bạn chọn tần số tối đa của xung tại dây SCL. Nó ảnh hưởng đến giá trị của thanh ghi TWBR 

Nếu bạn chọn ô Two Wire Interrupt, giao diện Two Wire sẽ tạo ra các ngắt.


Thẻ Bit-Banged: cấu hình cho các thiết bị ngoại vi bằng cách sử dụng phương thức bit-ranging.


Đầu tiên các bạn chọn Port để chỉ định dùng Port nào cho kết nối với DS1302
Các tùy chọn I/O BitSCLK Bit, và CE (/RST) Bitcho phép bạn chọn các bit của port cho từng bit tương ứng.

Chọn chức năng Trickle Charge bằng cách chọn vào Enable, số Diodes tương ứng với giá trị điện trở, có thể được xác định bằng ô Trickle Charge/Diodes, tương ứng với Trickle Charge/ Resistor.

Thẻ Analog Comparator : để chỉ định cấu hình analog comparator
Chọn vào ô Analog Comparator Enableđể mở chức năng này.


§Bandgap Voltage Reference.
§Negative Input Multiplexer.
§Analog Comparator Input Capture.
§Analog Comparator Interrupt.

Thẻ Project Infamation: chứa các tùy chọn về thông tin project của bạn.

Bạn chỉ cần điền các thông tin vào thẻ này, khi lưu project, các thông tin này sẽ tự động được in ra ở trên cùng của project. Rất thuận tiện cho việc kiểm tra.

3. Hoàn thành quá trình tạo Project

Sau khi đã cài đặt xong cho vi điều khiển, các bạn có thẻ xem trước bằng cách vào Program/Preview.



Các bạn nhìn vào ô Program Preview, đây là các code sinh ra sẵn tương ứng với các tùy chọn cảu bạn đã thực hiện trước đó.
Giờ bạn có thể lưu project này bằng vào File/Generate program , save and exit.

Do trong 1 project của CodeWizardAVR có rất nhiều file khác nhau, bạn nên tạo hẳn 1 thư mục mới và đặt tên dễ hiểu để có thể quản lý tốt project của mình.
Cửa sổ mới hiện lên, đầu tiên là lưu file có đuôi “.cwp”. Ở đây tôi đặt tên là sample1.


Tiếp theo là cửa sổ Save C Complier Source Filelưu file “.c”.

Tiếp theo là lưu file có đuôi “.prj”

Ở project này, tôi đặt tên cho 3 file này cùng một tên (Chú ý: cùng tên nhưng khác đuôi).
Xuất hiện cửa số soạn thảo.


Chúng ta sẽ lập trình trên file “.c”. Cụ thể ở đây là file “sample1.c” mà tôi đã đặt tên.
Chú ý:bên trái thẻ sample1.c là thẻ Notes như một trang note đơn giản, cho phép bạn viết nhân các chú ý của mình.

Nhìn vào cửa số lập trình chình, đầu tiên các bạn sẽ thấy các ghi chú (không có ý nghĩa trong code). Ở đây là các thông tin cơ bản của vi điều khiển:



Các bạn có thể tải phần mềm CodeVision AVR 2.05 tại đây


Mọi thắc mắc vui lòng liên hệ qua:
Facebook: Rid HaUI

previous home