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[.]
Trang 1HD SỬ DỤNG CODEVISION AVR
Trang 2Hướng dẫn sử dụng phần mềm CodevisionAVR
1 Giới thiệu tổng quan
CodevisionAVR là một trình biên dịch chéo C, môi trường phát triển tích hợp và bộ tạo chương trình tự động được thiết kế cho họ các vi điều khiển AVR của Atmel
Chương trình có thể chạy trên các hệ điều hành 2000, XP, Vista và
- National Semiconductor LM75 Temperature Sensor
- Philips PCF8563, PCF8583, Maxim/Dallas Semiconductor DS1302 and DS1307 Real Time Clocks
- Maxim/Dallas Semiconductor 1 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 cũng bao gồm bộ tạo chương trình tự động
CodeWizardAVR, nơi cho phép bạn viết một chương trình đơn giản chi trong vài phút, gồm các hàm sau:
- Thiết lập truy cập bộ nhớ ngoài
- Chip reset source identification
- Khởi tạo các cổng Output/Input
- Khởi tạo các ngắt ngoài (External Interrputs)
- Khởi tạo Timers/Counters
- Khởi tạo Watchdog Timer
mcu.banlinhkien.vn
Trang 3- 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 2 Wire
- Khởi tạo giao diện CAN
- I2C bus, sensor LM75, DS1621 nhiệt kế/nhiệt độ và PCF8563, PCF8583, DS1302, DS1307 khởi tạo đồng hồ thời gian thực
- Khởi tạo bus 1 dây và các cảm biến nhiệt độ DS1820/DS18S20
- Khởi tạo module LCD
2 Môi trường phát triển tích hợp CodevisionAVR (IDE)
Trang 4- Thanh Tools : chứa các nút dùng để Run CodeWinzardAVR, Run
Trang 52.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 hoăc biểu tượng trên thanh Tool bar Cửa sổ Create New file hiện ra, bạn chọn Source/OK
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ể sacve 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
2.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
mcu.banlinhkien.vn
Trang 6Cửa số Con firm xuất hiện, ở đây bạn chọn OK để xác nhận tạo 1 project mới
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
Cuối cùng chọn OK để xác nhận
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
mcu.banlinhkien.vn
Trang 7Chúng ta chú ý đến các thẻ ở phía dưới bên trái trước
o 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
mcu.banlinhkien.vn
Trang 8o 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ự
o Thẻ Externa IRQ: Thẻ này cho phép chọn ngắt
Ứ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
mcu.banlinhkien.vn
Trang 9Có 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)
o Thẻ Timers mcu.banlinhkien.vn
Trang 10Gồ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,
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)
mcu.banlinhkien.vn
Trang 11Mặ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
o 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:
// RS - PORTB Bit 0 // RD - PORTC Bit 1 // EN - PORTC Bit 2
// D4 - PORTB Bit 4 // D5 - PORTC Bit 5 // D6 - PORTC Bit 6 // D7 - PORTC Bit 3
mcu.banlinhkien.vn
Trang 12o 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
o 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 Interrput và 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 độ
mcu.banlinhkien.vn
Trang 13Bản quyền thuộc về MinhHaGroup
Các tùy chọn Communication Parameters và Mode, tùy thuphần cứng của b
của PortB Chú ý là 2 đường truy
MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn
n Communication Parameters và Mode, tùy thu
a bạn
c I2C Port bạn chọn Port muốn dùng Giả
n thêm các tùy chọn trong đây
n chú ý đến SDA Bit và SCL Bit,
SDA (Serial DATA): đường truyền nhận dữ liệ SCL (Serail Clock): đường truyền xung nhịp
trên, chúng ta đã chọn Port B nên các Bit chọn ở SDA và SCL là bit
ng truyền này riêng biệt nên phải khác nhau
Trang 14Bản quyền thuộc về MinhHaGroup
ấu hình cho Bus 1 dây
n chọn trong 1 wire Portvà Data Bitđể ch
Nếu sử dụng các cảm biến đo nhiệt độ
ạn chọn và ô Enable bên dưới Trường h
n DS1820/DS18S20 kết nối đến 1Wire Bus, cMultuple Devices Có tối đa 8 thiết bị DS1820/DS18S20 đư
I2C: chuẩn truyền thông Two Wire Bus
vào Two Wire Enable để mở tính năng này Xu
tính năng này Xuất hiện
mcu.banlinhkien.vn
Trang 15Bản quyền thuộc về MinhHaGroup
Nếu bạn chọn Generrate Acknowledge Pulse
wire bussẽ được t
chỉ riêng của slave đư
và General Call Recognition
Các tùy chọn I/O Bit
chọn các bit củChọn chức năng
Diodes tương Trickle Charge/Diodes Resistor
MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn
Generrate Acknowledge Pulse, xung ACK trên
c tạo ra nếu một trong các trường hợp sau x
a slave được nhận hoặc một lệnh General Call đư
General Call Recognition được check
Slaver Address đặt địa chỉ cho Slave Ô General Call
cho phép công nhận lệnh General Call cho Two Wire
p theo là Bit Rate, cho phép bạn chọn tần số tối đa củ
nh hưởng đến giá trị của thanh ghi TWBR
n ô Two Wire Interrupt, giao diện Two Wire s
Banged: cấu hình cho các thiết bị ngoại vi b
ng phương thức bit-ranging
ạn chọn Port để chỉ định dùng Port nào
I/O Bit, SCLK Bit, và CE (/RST) Bitcho phép b
ủa port cho từng bit tương ứng
c năng Trickle Charge bằng cách chọn vào Enable, s
tương ứng với giá trị điện trở, có thể được xác đ
Trickle Charge/Diodes, tương ứng với Trickle Charge/
15
Banlinhkien.vn
xung ACK trên Two
p sau xảy ra: địa
nh General Call được nhận
nh General Call cho Two Wire
ủa xung tại
Trang 16Bản quyền thuộc về MinhHaGroup
o Thẻ Analog Comparator
comparator Chọn vào ô Analog Comparator Enable
Bandgap Voltage Reference:
Negative Input Multiplexer:
Analog Comparator Input Capture
Analog Comparator Interrupt
o Thẻ Project Infamation:
của bạn
Bạn chỉ cần điền các thông tin vào th
tin này sẽ tự động đư
cho việc kiểm tra
MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn
Analog Comparator : để chỉ định cấu hình analog
Analog Comparator Enableđể mở chức năng này.
Bandgap Voltage Reference:
Negative Input Multiplexer:
Analog Comparator Input Capture Analog Comparator Interrupt Project Infamation: chứa các tùy chọn về thông tin project
n các thông tin vào thẻ này, khi lưu project, các thông
ng được inra ở trên cùng của project Rất thu
thông tin project
này, khi lưu project, các thông
t thuận tiện
mcu.banlinhkien.vn
Trang 17Bản quyền thuộc về MinhHaGroup
MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn
Hoàn thành quá trình tạo Project
đặt xong cho vi điều khiển, các bạn có th
ng cách vào Program/Preview
n nhìn vào ô Program Preview, đây là các code sinh ra s
i các tùy chọn cảu bạn đã thực hiện trướ
ể lưu project này bằng cách chọn nút
File/Generate program , save and exit
Do trong 1 project của CodeWizardAVR có rất nhiều file khác
n nên tạo hẳn 1 thư mục mới và đặt tên dễ hi
u tiên là lưu file có đuôi “.cwp” Ở đây tôi
mcu.banlinhkien.vn
Trang 18Bản quyền thuộc về MinhHaGroup
Tiếp theo là cử
Tiếp theo là lưu file có đuôi “.prj”
Ở project này, tôi đtên nhưng khác đuôi)
MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn
ửa sổ Save C Complier Source Filelưu file “.c”
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)
Trang 19Bản quyền thuộc về MinhHaGroup
Xuất hiện cửa s
MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn
a số soạn thảo
p trình trên file “.c” Cụ thể ở đây là file “sample1.c”
t tên
bên trái thẻ sample1.c là thẻ Notes như một trang note đơn
n, cho phép bạn viết nhân các chú ý của mình
a số lập trình chình, đầu tiên các bạn sẽ thchú (không có ý nghĩa trong code) Ở đây là các thông tin cơ b
u khiển:
19
Banlinhkien.vn
đây là file “sample1.c”
t trang note đơn
thấy các ghi đây là các thông tin cơ bản
mcu.banlinhkien.vn
Trang 20Bản quyền thuộc về MinhHaGroup
Bên dưới là các dòng lCác bạn đã có th
MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn
Trang 21Bản quyền thuộc về MinhHaGroup MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn
21
Banlinhkien.vn
mcu.banlinhkien.vn
Trang 22Bản quyền thuộc về MinhHaGroup
WELLCOME
Thank
MinhHaGroup Liên kết site Minhhagroup.com & Banlinhkien.vn
Thanks For Reading!
22
Banlinhkien.vn
mcu.banlinhkien.vn