14
CROSSWORKS AVR STUDIO TUTORIAL 1. Gii Thiu : Chào các fan hâm mAVR, trong bài viết này tôi xin gii thiu vtool crossworks studio dung cho AVR. Đây là phn mm biên dch cũng khá hay vi dao din tương đối đẹp mt. Thot đầu khi mi dùng nó, tôi hơi gp mt chút rc ri vì nó quá nhiu chc năng, thm chí đến bây gichưa khai thác hết các tính năng ca công cnày. Vì thế, tôi viết bài này nhm trình bày nhng gì mình tìm hiu được, tôi nghĩ không nhng có ích cho các bác mi làm quen mà còn dành cho các bác có kinh nghim trong lĩnh vc vi điu khin. Và nhng phn còn li hy vng được sgiúp đỡ tcác bác. Tool Crosswoks AVR có thdownload ttrang www.rowley.co.uk .Trong phn hướng dn chúng ta slàm vi project cthnhm gim bt snhàm chán đối vi các bn đọc. Sau đây là project giao tiếp ATMEGA128 vi màn hình LCD đin thoi Nokia 7210, 6610. 2. Hin Thc: Đầu tiên, chép 4 file source vào thư mc, ví d...\Tutor. Khi động Crossworks AVR, vào mc file chn new -> new project :

CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

  • Upload
    dangbao

  • View
    233

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

CROSSWORKS AVR STUDIO TUTORIAL

1. Giới Thiệu :

Chào các fan hâm mộ AVR, trong bài viết này tôi xin giới thiệu về tool crossworks studio dung cho AVR. Đây là phần mềm biên dịch cũng khá hay với dao diện tương đối đẹp mắt. Thoạt đầu khi mới dùng nó, tôi hơi gặp một chút rắc rối vì nó quá nhiều chức năng, thậm chí đến bây giờ chưa khai thác hết các tính năng của công cụ này. Vì thế, tôi viết bài này nhằm trình bày những gì mình tìm hiểu được, tôi nghĩ không những có ích cho các bác mới làm quen mà còn dành cho các bác có kinh nghiệm trong lĩnh vực vi điều khiển. Và những phần còn lại hy vọng được sự giúp đỡ từ các bác.

Tool Crosswoks AVR có thể download từ trang www.rowley.co.uk.Trong phần hướng dẫn chúng ta sẽ làm với project cụ thể nhằm giảm bớt sự nhàm chán đối với các bạn đọc. Sau đây là project giao tiếp ATMEGA128 với màn hình LCD điện thoại Nokia 7210, 6610.

2. Hiện Thực:

Đầu tiên, chép 4 file source vào thư mục, ví dụ ...\Tutor. Khởi động

Crossworks AVR, vào mục file chọn new -> new project :

Page 2: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

Click vào Browse và chỉ đường dẫn đến thư mục có chứa các file source, trong ví dụ này là Tutor, click vào Tutor :

Đặt tên project trong mục name “COLOR_LCD_DISPLAY”

Page 3: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

Trỏ chuột đến C Executable sau đó click OK. Bước kế tiếp, thiết lập tham số cho project bao gồm target processor chọn Atmega128, Additional Output Format chọn hex.

Click vào Next để xem thông số bao gồm các file .asm khởi động, hàm main vừa được tạo, sau cùng click Finish, chương trình sẽ hiện ra thông báo do chương trình tạo ra file main trùng với file main trong phần source code, chọn No để kết thúc phần khởi tạo.

Chú ý : Nếu chọn Yes file main sẽ bị ghi đè do đó sẽ mất hết dữ liệu tạo sẵn.

Page 4: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

Sau khi kết thúc phần khởi tạo project, trên mục Project Explorer xuất hiện 2 thư mục ảo bao gồm Source và System, hàm main đã được add sẵn vào cây thư mục.

Bước kế tiếp : add các file source còn lại vào cây thư mục, trỏ chuột đến thư mục Source, click chuột phải, chọn mục Add Existing File, cửa sổ Add Exiting Items xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, sau đó click Add.

Page 5: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

Trong trường hợp tự viết code, ta sẽ chọn mục Add New File thay cho vì Add Existing File.

Có thể click vào file muốn xem trên cây thư mục trong cửa sổ Project Explorer.

Page 6: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

Sau khi xong phần code, click vào button Compile (Ctr+F7) check syntax, tương tự cho Build Active Project (dùng cho project hiện hành) và Build Solution (tương ứng cho multi projects).

Để có thể lập trình cho AVR, crosswork hỗ trợ ISP và JTAG, và tích hợp sẵn các

tool Debug bao gồm RS232 Terminal, JTAG ICE, AVR Simulator…Trong phần ví dụ ta dùng JTAG ICE.

Page 7: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

Trước tiên, ta phải thiết lập thông số cho cable JTAG, ở menu View , chọn mục Target (Ctr+Alt+T), trong cửa sổ Target click JTAG ICE:

Trên cửa sổ Properties, chọn thông số thích hợp tùy vào cable JTAGE mình đang

sử dụng, bao gồm cổng giao tiếp, tốc độ baudrate….

Page 8: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

Sau khi lắp cable JTAG vào board test, trong mục Target, chọn Connect JTAG

ICE nhằm kết nối với board target. Click vào nút có dấu ”!” (CTR+F5) nếu muốn nạp mà không cần dùng chức năng Debug. Trên cửa sổ Target log thông báo kết quả lập trình thành công hay không. Download completed và verify completed tuong ung cho viec nạp vào VĐK hoàn tất.

Page 9: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

Ta có thể Debug bằng cách ấn phím mũi tên bên trái (hoặc F5), màn hình debug xuất hiện, tương tự như Keil 8051, ta có thể dùng cửa sổ Wacth để đối chiếu kết quả của các biến, thanh ghi... các call stack của chương trình con. Có thể chọn cửa sổ ở dạng source code hoặc Diassembly…

Tóm lại, Crossworks AVR là công cụ khá hay đầy đủ các tính năng cần thiết cho việc lập trình VĐK, va` đáng được chúng ta tìm hiểu.

3. Các Hàm:

Chương trình được viết giao tiếp VĐK và LCD Nokia (Driver Epson

S1D15G10) bao gồm : N6610.h : Khai báo các hàm cần thiết. N6610.c : Source giao tiếp LCD. Main.c : Chương trình chính, dùng cho mục đích test. Font.h : Chứa font chữ.

Page 10: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

void Wait(UByte m); Hàm delay.

void SPI_Init(void); Khởi động cổng SPI .

void LCD_Init(void); Khởi động LCD.

void SPI_CMD(UByte CMD); Ghi lệnh cho LCD

void SPI_DATA(UByte Data); Ghi dữ liệu cho LCD.

void Put_Pixel(UByte x, UByte y,UByte Color); Put pixel.

void Line(UByte x1,UByte y1,UByte x2,UByte y2,UByte Color); Vẽ đường thẳng nối 2 điểm (x1,y1) và (x2,y2), Color : màu của đường thẳng. void Z_Pixel(UByte x,UByte y,UByte xz,UByte yz,UByte zoom,UByte Color); Hàm zoom pixel, (x,y) toạ độ điểm ban đầu, (xz,yz) toạ độ của điểm zoom. void PRINT_CHAR(Ubyte x,UByte y,UByte Index,UByte zoom,UByte FColor,UByte BColor); In ký tự ra màn hình ở toạ độ (x,y), Index: mã ASCII của ký tự cần in, zoom : hệ số phóng đại , FColor : màu của font chữ, Bcolor : màu back round của font chữ. void Rect(UByte x1,UByte y1,UByte x2,UByte y2,UByte Solid,UByte Color); Vẽ hình chữ nhật (x1,y1) toạ độ góc trên trái, (x2,y2) toạ độ dưới phải, Solid=0 không tô đặc, Solid >0 tô đặc,Color : màu hcn. void Circle(UByte xo,UByte yo,UByte r,UByte Solid,UByte Color); Vẽ đường tròn, (xo,yo) toạ độ tâm, r : bán kính, Solid=0 không tô đặt, Solid>0 tô đặc, Color: màu của hình tròn. void Clear_Display(void);

Xoá màn hình.

Page 11: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

4. Kết Nối: LCD pinout :

1 VDD 3V3 5V

2 /Reset PB4

3 SDATA PB2

4 SCLK PB1

5 /CS PB5

6 VLCD 3V3

7 NC

8 GND

9 LED-

10 LED+ (6V-7V)

Chú ý: Dùng cầu phân áp bằng điện trở R1=1k8, R2=3k3 để chuyển mức giao

tiếp 5V 3V3. Xem datasheet S1D15G10 (LCD driver chip).

Page 12: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

5. Kết Quả:

Chương trình được chạy thử trên board demo ATMEGA128, các AVR loại khác điều có thể dùng được bằng cách thay đổi “#define” trên file N6610.h cho phù hợp.

Kết nối LCD với board test

Kết nối cable JTAG

Page 13: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

AVR ATM128

Page 14: CROSSWORKS AVR STUDIO TUTORIAL - …read.pudn.com/downloads155/sourcecode/embed/689408/... · xuất hiện, đánh dấu vào 3 file Font.h, N6610.h và N6610.c, ... Download completed

Kết quả hiển thị