1.1. Ngôn ngữ lập trình cho AVR a) Lập trình bằng ASM
Chúng ta có thể dùng phần mềm AVRStudio được hãng ATMEL cung cấp để lập trình cho AVR bằng ngôn ngữ ASM. Phương pháp lập trình này buộc chúng ta phải học hiểu được cấu trúc phần cứng bên trong của AVR, chúng ta có thể theo dõi được toàn bộ hoạt động của AVR bằng ngôn ngữ lập trình này. Nhưng, để lập trình ASM cho AVR chúng ta sẽ phải mất nhiều thời gian để tìm hiểu phần cứng, đối với các project lớn, chúng ta khó mà kiểm tra được chương trính ASM dài dòng nếu không được lập trình có cấu trúc.
b) Lập trình C cho AVR
C là một trong những ngôn ngữ lập trình được phổ cập rộng rãi nhất hiện nay. C có lợi thế là không phụ thuộc vào bộ xử lý thực thi mã nguồn. Người lập trình chỉ phải tập trung chủ yếu vào việc xây dựng thuật toán, ứng dụng và thể hiện bằng ngôn ngữ hay vì phải tìm hiểu sâu về kiến thức phần cứng, cũng như có rất
nhiều ngôn ngữ bật cao khác nói chung. Ở đây, để thiết kế phần mềm cho AVR thực hiện cho Project Led Ma trận, chúng em sử dụng phần mềm CodeVision để lập trình C cho AVR.
2.2. Trình biên dịch CodeVision
CodeVision AVR là môi trường phát triển tích hợp và biên dịch ngôn ngữ C cho họ AVR. Cách tạo ra một project mới trong Codevision để lập trình và nạp cho AVR được trình bày như sau.
Hinh 10: Màn hình khởi động của CodeVision >>Vào File/New:
Chọn Yes. Từ đây ta sẽ có một tiện ích rất hay của phần mềm đó là phần Code Wizard AVR. Dựa vào đó chúng có thể tự sinh code dựa vào các chế độ chọn và chúng ta chỉ việc lập trình ngay. Nếu không có phần này chúng ta sẽ phải nhớ các thanh ghi của AVR (gần như nhiều nhất trong các loại Vi xử lý - VXL) sau đó xác lập chế độ làm việc cho nó.
>>Chip: chọn loại chip ATMega8L, giá trị thạch anh 8MHz ngoài (mắc trên mạch).
>>Port: từ đây chúng ta có thế chọn vào ra giá trị cho từng chân của chip. Tuy nhiên các bước đó có thể bỏ qua nếu chúng ta hiểu và nhớ các thanh ghi của AVR.
Mục này bạn có thể thay đổi giá trị thạch anh , loại AVR, số bit chúng ta cần để lập trình