Microsoft Word HD SD CODEVISION AVR docx HD SỬ DỤNG CODEVISION AVR R & D Ver 1 0 0 Date 24/02/2014 mcu ba nli nh kie n v n Hướng dẫn sử dụng phần mềm CodevisionAVR 1 Giới thiệu tổng quan CodevisionAVR[.]
Ver: 1.0.0 v n & HD SỬ DỤNG CODEVISION AVR hk ie n R Date: 24/02/2014 m cu b an lin D Hướng dẫn sử dụng phần mềm CodevisionAVR m cu b an lin hk ie n v n Giới thiệu tổng quan CodevisionAVR trình biên dịch chéo C, mơi trường phát triển tích hợp tạo chương trình tự động thiết kế cho họ vi điều khiển AVR Atmel Chương trình chạy hệ điều hành 2000, XP, Vista Windows 32/64 bit Bên cạnh thư viện tiêu chuẩn C, CodevisionAVR cịn có thư viện dành riêng cho: - Alphanumeric LCD modules - Philips I2C bus - National Semiconductor LM75 Temperature Sensor - Philips PCF8563, PCF8583, Maxim/Dallas Semiconductor DS1302 and DS1307 Real Time Clocks - Maxim/Dallas Semiconductor Wire protocol - Maxim/Dallas Semiconductor DS1820, DS18S20 and DS18B20 Temperature Sensors - Maxim/Dallas Semiconductor DS1621 Thermometer/Thermostat - Maxim/Dallas Semiconductor DS2430 and DS2433 EEPROMs - SPI - TWI for ATxmega chips - Power management - Delays - Gray code conversion - MMC/SD/SD HC FLASH memory cards low level access - FAT acces on MMC/SD/SD HC FLASH memory cards CodevisionAVR bao gồm tạo chương trình tự động CodeWizardAVR, nơi cho phép bạn viết chương trình đơn giản chi vài phút, gồm hàm sau: - Thiết lập truy cập nhớ Chip reset source identification Khởi tạo cổng Output/Input Khởi tạo ngắt (External Interrputs) Khởi tạo Timers/Counters Khởi tạo Watchdog Timer - Khởi tạo USART (UART) Khởi tạo Analog Comparator Khởi tạo ADC Khởi tạo giao diện SPI Khởi tạo giao diện Wire Khởi tạo giao diện CAN I2C bus, sensor LM75, DS1621 nhiệt kế/nhiệt độ PCF8563, PCF8583, DS1302, DS1307 khởi tạo đồng hồ thời gian thực - Khởi tạo bus dây cảm biến nhiệt độ DS1820/DS18S20 - Khởi tạo module LCD m cu b an lin hk ie n v n Môi trường phát triển tích hợp CodevisionAVR (IDE) Các bản: - Thanh Menu bar: chứa tùy chọn bản, gồmFileEdit, Search, View, Project, Tools, Settings, Help - Thanh Project: dùng để complie build project - Thanh Tools : chứa nút dùng để Run CodeWinzardAVR, Run debugger, .v n - Thanh Setting: Chứa nút dùng để đặt cho IDE, Edittor, Debugger, Programmer, Terminal hk ie n - Thanh View: chứa tùy chọn thay đổi vị trí cửa sổ bên b an lin - Thanh Help m cu CodevisionAVR IDE bao gồm cửa sổ: - Code Navigator - Code Information - Function Call Tree - Cửa sổ lập trình - Code templates - Clipboard History - Messages Thông thường, hay dùng số: Code Navigator, Cửa sổ lập trình chính, Messages 2.1 Làm việc với files Bạn tạo file nguồn cách sử dụng nút File/View Ctrl/N hoăc biểu tượng Tool bar Cửa sổ Create New file ra, bạn chọn Source/OK m cu b an lin hk ie n v n Ta có cửa số tạo, tên file mặc định untitled.c Bạn sacve file với tên cách sử dụng File/Save As hoăc biểu tượng Save As Chú ý: Ở có đượng dẫn tới file hiển thị Để mở lại fil, bạn tìm theo đường dẫn Các thủ tục lưu, sửa, xóa hay đổi tên file đơn giản, bạn tự tìm hiểu 2.2 Làm việc với Project Tạo project cách vào File/new, cửa số Create New File Ta chọn Project sau chọn OK .v n Cửa số Con firm xuất hiện, bạn chọn OK để xác nhận tạo project m cu b an lin hk ie n Tiếp theo cửa số CodeWizardAVR dùng để chọn loại chip Ở chọn AT90, AtTiny, Atmega, FPSLIC, cho phép sử dụng loại vi điểu khiển tương ứng Cuối chọn OK để xác nhận Cửa số CodewizardAVR xuất Trong cửa số này, cho bạn tùy chọn thiết lập ban đầu cho vi điểu khiển v n m cu b an lin hk ie n Chúng ta ý đến thẻ phía bên trái trước o Thẻ Chip: với tùy chọn loại chip, chọn xung Clock, Clock Prescaler Divider, Check Reset Source Ở chọn Atmega8 với Clock 8Mhz lin hk ie n v n o Thẻ Ports:ở có port tương ứng với loại vi điểu khiển bạn chọn trường hợp này, chọn Atmega8 nên Port gồm B,C,D Ở Port lại có tùy chọn, giúp bạn chọn chiều port (Data Direction) giá trị Port (Pullup/Output Value) Với Data Direction: Out đầu ra, In đầu vào Với Pullup/Output Value: mức thấp, mức cao, P có trở treo, T khơng dùng trở treo cu b an Ví dụ đây: PORTB.1 Input không dùng trở treo, PORTB.2 Output mức thấp Các Port khác làm tương tự m o Thẻ Externa IRQ: Thẻ cho phép chọn ngắt Ứng với vi điều khiển lại có số lượng ngắt khác nhau, tơi chọn Atmega8 có ngắt INT0 INT1 Tích vào ngắt bạn chọn, xuất thêm tùy chọn Mode Đây tùy chọn chế độ xảy ngắt m cu b an lin hk ie n v n Có tùy chọn: Low level (ngắt mức thấp), Any Change (ngắt với thay đổi nào), Falling Edge (ngắt có xung xuống), Rising Edge (ngắt có xung lên) o Thẻ Timers hk ie n v n Gồm có thẻ nhỏ: Timer0, Timer1, Timer2, Watchdog Các thẻ tùy thuộc vào loại vi điều khiển bạn chọn ban đầu cu b an lin Ở Timer0có tùy chọn: Clock Source (nguồn clock), Clock Value (giá trị Clokck) Ở chọn System Clock, 8000kHz Nếu bạn dùng chế độ OverFlow Interrupt chọn vào Timer Value gía trị Timer mà bạn muốn đặt Chú ý: Timer value dạng hex m Thẻ Timer1 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 Timer1) hk ie n v n Mặc định Nomal top=0xFFFF Đây chế độ hoạt động bình thường, có chức định thời giống với Timer0 Các chức lại chủ yếu liên quan tới phát xung PWM, bạn tự tìm hiểu Nếu chọn mode (chức năng) liên quan tới PWM, bạn cần ý tới Out A Out B kênh tương ứng chế độ phát PWM ô bên tùy chọn Input Capt Interrupt on Với ô nhập giá trị bên dưới, ta có: Value(giá trị Timer), Inp Capture (giá trị Input capture), Comp A, B m cu b an lin o Thẻ Alphanumeric LCD:cài đặt cho hình LCD Các bạn chọn vào Enable Alphanumeric LCD support để kích hoạt chức Characters/Line: chọn loại hình Connections: Chọn chân vi điểu khiển cho chức LCD Ở có sẵn tùy chọn Port, bit tương ứng với port để bạn chọn Tôi chọn port sau: // RS - PORTB Bit // RD - PORTC Bit // EN - PORTC Bit // D4 - PORTB Bit // D5 - PORTC Bit // D6 - PORTC Bit // D7 - PORTC Bit o Thẻ ADC: chọn chức ADC cho vi điều khiển Bạn cần chọn ADC Enable đểmở tính hk ie n v n Các tùy chọn: Use bits, Interrputs Volt Ref: chọn điện áp tham chiếu Clock: chọn xung clock m cu b an lin o Thẻ USART:chọn chế độ USART Bạn chọn Receiver muốn nhận, Transmitter muốn truyền ô Rx Interrput Tx Interrput tương ứng với ngắt nhận ngắt truyền Nhấn vào mũi tên muốn thay đổi Baud rate, x2 muốn gấp đôi tốc độ Các tùy chọn n Communication Parameters Mode, tùy thuộc thu vào phần cứng củaa b bạn hk ie n v n o Thẻ I2C m cu b an lin bạn chọn Port muốn dùng Giảả sử Đầu tiên mụcc I2C Port b chọn PORTB Xuất n thêm tùy ch chọn Đầu tiên, bạn n ý đ đến SDA Bit SCL Bit, SDA (Serial DATA) DATA): đường truyền nhận liệệu SCL (Serail Clock): đường truyền xung nhịp Do trên, đ chọn Port B nên Bit chọn SDA SCL bit PortB Chú ý đường ng truy truyền riêng biệt nên phảii khác 13 Bản quyền thuộc MinhHaGroup MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn Các thẻ bên dướii th thẻ tùy chọn dùng module gì, bạạn chọn module phù hợp chọn n ô Enable .v n o Thẻ Wire: cấấu hình cho Bus dây m cu b an lin hk ie n n ch chọn wire Portvà Data Bitđể ch định Port Đầu tiên bạn Bit cho Bus dây N Nếu sử dụng cảm biến đo nhiệt độ ộ DS1820/DS18S20 bạạn chọn ô Enable bên Trường ng hợp h muốn dùng vài cảm biến n DS1820/DS18S20 kết nối đến n 1Wire Bus, cần c chọn ô Multuple Devices Có ttối đa thiết bị DS1820/DS18S20 đư kết nối tới bus o Thẻ (TWI) I2C I2C: chuẩn truyền thông Two Wire Bus Các bạn chọn vào Two Wire Enable đ để mở tính Xuất Xu thêm tùy chọn n 14 Bản quyền thuộc MinhHaGroup MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn m cu b an lin hk ie n v n Nếu bạn chọn Generrate Acknowledge Pulse Pulse, xung ACK Two wire bussẽ đượcc ttạo trường hợp p sau xảy x ra: địa riêng củaa slave đư nhận lệnh nh General Call đư nhận General Call Recognition check Ô Slaver Address đặt địa cho Slave Ô General Call Recognitioncho cho ph phép công nhận lệnh nh General Call cho Two Wire Bus Tiếp p theo Bit Rate, cho phép b bạn chọn tần số tối đa củ xung dây SCL Nó ảnh nh hư hưởng đến giá trị ghi TWBR Nếu bạn chọn n ô Two Wire Inte Interrupt, giao diện n Two Wire s tạo ngắt o Thẻ Bit-Banged: Banged: cấu hình cho thiết bị ngoại vi cách sử dụng ng phương th thức bit-ranging Đầu tiên bạạn chọn Port để định nh dùng Port cho kết nối với DS1302 Các tùy chọn I/O Bit Bit, SCLK Bit, CE (/RST) Bitcho cho phép bạn b chọn bit củ port cho bit tương ứng Chọn chứcc Trickle Charge cách chọn n vào Enable, số s Diodes tương ứng với giá trị điện trở, đượcc xác định đ ô Trickle Charge/Diodes Charge/Diodes, tương ứng với Trickle Charge/ Resistor 15 Bản quyền thuộc MinhHaGroup MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn .v n o Thẻ Analog Comparator : để định cấu u hình analog comparator Chọn vào ô Analog Comparator Enable Enableđể mở chứcc m cu b an lin hk ie n Bandgap Voltage Reference: Negative Input Multiplexer: Analog Comparator Input Capture Analog Comparator Interrupt o Thẻ Project Infamation: chứa tùy chọn thông tin project bạn Bạn cần điền n thông tin vào th thẻ này, lưu project, thông tin tự động ng đư inra project Rấtt thuận thu tiện cho việc kiểm m tra 16 Bản quyền thuộc MinhHaGroup MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn cu b an lin hk ie n v n 2.3 Hồn thành q trình tạo Project Sau cài đ đặt xong cho vi điều khiển, bạn n có thẻ th xem trước ng cách vào Program/Preview m Các bạn n nhìn vào Program Preview, code sinh sẵn s tương ứng vớii tùy ch chọn cảu bạn thực trướ ớc vào Giờ bạn có thểể lưu project cách chọn nút File/Generate program , save and exit Do project ccủa CodeWizardAVR có nhiều u file khác nhau, bạn n nên ttạo hẳn thư mục đặt tên dễ hiểu hi để quản lý tốtt project ccủa Cửa sổ hiệện lên, đầu u tiên lưu file có “.cwp” Ở tơi đặtt tên sample1 17 Bản quyền thuộc MinhHaGroup MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn .v n hk ie n m cu b an lin Tiếp theo cử ửa sổ Save C Complier Source Filelưu lưu file “.c” Tiếp p theo lưu file có “.prj” Ở project này, tơi đ đặt tên cho file mộtt tên (Chú ý: tên khác đuôi) 18 Bản quyền thuộc MinhHaGroup MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn hk ie n v n Xuất cửaa ssố soạn thảo an lin Chúng ta lập p trình file “.c” “.c” Cụ thể file “sample1.c” mà đặtt tên Chú ý:bên bên trái th thẻ sample1.c thẻ Notes mộtt trang note đơn giản, n, cho phép b bạn viết nhân ý m cu b Nhìn vào cửaa ssố lập trình chình, bạn thấy th ghi (khơng có ý ngh nghĩa code) Ở thông tin b vi điều u khiển: 19 Bản quyền thuộc MinhHaGroup MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn .v n hk ie n lin Bên dướii dòng llập trình Các bạn đãã có th thể lập trình cho Vi điều khiển củaa m cu b an Chúc bạn thành công! 20 Bản quyền thuộc MinhHaGroup MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn ... code conversion - MMC /SD/ SD HC FLASH memory cards low level access - FAT acces on MMC /SD/ SD HC FLASH memory cards CodevisionAVR bao gồm tạo chương trình tự động CodeWizardAVR, nơi cho phép bạn... mềm CodevisionAVR m cu b an lin hk ie n v n Giới thiệu tổng quan CodevisionAVR trình biên dịch chéo C, mơi trường phát triển tích hợp tạo chương trình tự động thiết kế cho họ vi điều khiển AVR. .. Đầu tiên, bạn n ý đ đến SDA Bit SCL Bit, SDA (Serial DATA) DATA): đường truyền nhận liệệu SCL (Serail Clock): đường truyền xung nhịp Do trên, đ chọn Port B nên Bit chọn SDA SCL bit PortB Chú