How2Use DT-AVR ATMEGA168 BMS. By: IE Team. Picture 1 The layout of DT-AVR ATMEGA168 BMS

Similar documents
How2Use DT-AVR ATMEGA128L BMS. Oleh: IE Team. Picture 1 The layout of DT-AVR ATMEGA128L BMS

How2Use DT-51 AT89C51XXX BMS. By: IE Team. Picture1 The layout of DT-51 AT89C51XXX BMS

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Getting Started With the Micro64

RANGKAIAN LENGKAP. Universitas Sumatera Utara

AN703. Micro64/128. Accessing the 36k of SRAM 12/3/04

Project : Version : Date : 11/04/2016 Author : Freeware, for evaluation and non-commercial use only Company : Comments:

Lampiran I. Rangkaian Lengkap Alat. Universitas Sumatera Utara

ET-BASE AVR ATmega64/128

// WRITE data to be written to EEPROM

DT-ROBOT Line Follower

Gambar A-1 Foto alat prototype infrared thermometer

LAMPIRAN. 1. Program Alat

LAMPIRAN A PROGRAM UTAMA ROBOT NOMOR 2

Software Design Considerations, Narrative and Documentation

Serial Compact Flash Serial CF Card Module User Manual

The Atmel ATmega328P Microcontroller

4. Application Programming

// Voltage Reference: AREF pin #define ADC_VREF_TYPE ((0<<REFS1) (0<<REFS0) (0<<ADLAR))

The Atmel ATmega168A Microcontroller

LAMPIRAN - A. Instruksi Mikrokontroler

M32 Development Board

keyestudio Keyestudio MEGA 2560 R3 Board

LAMPIRAN A. Universitas Sumatera Utara

AVRminiV3.1 Manual. 1. AVRminiV3.1 Overview. 2. AVRminiV3.1 Features and Specifications Standard Features: 2.2. Optional Features:

Getting Started with STK200 Dragon

LAMPIRAN A FOTO Radio Control Helikopter dan Pengendalinya

Programming Microcontroller Assembly and C

LAMPIRAN A. Listing Program. Program pada Borland Delphi 7.0 A-1 Program pada CodeVisionAVR C Compiler A-6

Figure 1. JTAGAVRU1 application The JTAGAVRU1 is supported by AVR Studio. Updated versions of AVR Studio is found on

Note that FLIP is an Atmel program supplied by Crossware with Atmel s permission.

LAMPIRAN A. Foto Alat

Robosoft Systems in association with JNCE presents. Swarm Robotics

Embedded Systems and Software

Mega128-Net Mega128-Net Mega128 AVR Boot Loader Mega128-Net

AVR Intermediate Development Board. Product Manual. Contents. 1) Overview 2) Features 3) Using the board 4) Troubleshooting and getting help

Programmer. User Guide

Manual of Board ET-PIC STAMP 18F8722-K22 ET-PIC STAMP 18F8722-K22

Hardware Manual. Crumb128. Rapid Prototyping Module with the Atmega128 AVR Microcontroller

CN310 Microprocessor Systems Design

Mega128-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX

P89V51RD2 Development Board May 2010


LAMPIRAN A FOTO ROBOT BERKAKI ENAM

ET-AVRProg mini. Technical Specifications of ET-AVRProg mini

ET-PIC 24 WEB-V1. o Central Processing Unit (CPU) o System. o nanowatt Power Managed Modes. o Analog Features

Rhino Robot Control Board [RKI-1550]

Microcomputer/Controller Featuring the ATmega64 or the ATmega128

ATMega128 Rapid Robot Controller Board [RKI-1148]

CodeVisionAVR VERSION User Manual

8051 Microcontroller

STK User Guide

AVR 40 Pin Rapid Robot controller board

STK User Guide

12.1. Unit 12. Exceptions & Interrupts

Lecture 14. Ali Karimpour Associate Professor Ferdowsi University of Mashhad

AVR- M16 development board Users Manual

REQUIRED MATERIALS Epiphany-DAQ board Wire Jumpers Switch LED Resistors Breadboard Multimeter (if needed)

EET203 MICROCONTROLLER SYSTEMS DESIGN Serial Port Interfacing

LAMPIRAN. Program Keseluruhan Sistem Pengontrolan Level Air

CodeVisionAVR VERSION User Manual

Figure 1-1 ISPAVRU1 application

ADC and Power Optimization with tinyavr 0- and 1- series, and megaavr 0-series

MegaAVR-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX

CMS-8GP32. A Motorola MC68HC908GP32 Microcontroller Board. xiom anufacturing

AVR Standalone ISP Programmer V2 Instructions

RFlasher7. Getting Started and Overview. Document version

Debugging in AVR32 Studio

ARDUINO LEONARDO WITH HEADERS Code: A000057

19.1. Unit 19. Serial Communications

Lab Course Microcontroller Programming

Using Arduino Boards in Atmel Studio 7

ARDUINO LEONARDO ETH Code: A000022

Getting acquainted with the development tools June 27, 2006 ELE492 Embedded System Design Exercise 1

An FTDI connection: The ATtiny microcontrollers don t have a hardware UART External Crystal header pins for an optional crystal

PX-4000 mini-avr In-System programmer

ARM HOW-TO GUIDE Interfacing GPS with LPC2148 ARM

Section 3 Board Experiments

8051 General Purpose Board

DT-SENSE. UltraSonic and InfraRed Ranger (USIRR)

The RBE Development board is designed to use an AVR644P to control a robotics system. The Board has multiple functions and features.

Freeduino USB 1.0. Arduino Compatible Development Board Starter Guide. 1. Overview

Embedded programming, AVR intro

ET-BASE AVR (ATmega8535)

Stellaris LM3S3748 Evaluation Kit README FIRST

ARDUINO MICRO WITHOUT HEADERS Code: A000093

2. Tutorial ESC Programming myavr MK2 USB UFO Doctor, June 5 rd, 2010

Breeze Board. Type A. User Manual.

AGH University of Science and Technology Cracow Department of Electronics

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform.

Serial Communications

Table of Contents TABLE OF CONTENTS...1

User s Manual of Board Micro Controller ET-EASY168 STAMP ET-EASY168 STAMP. Picture displays structure of Board ET-EASY168 STAMP.

GRAVITECH GROUP

HAND HELD PROGRAMMER QUICK START GUIDE

User Manual For CP-JR ARM7 USB-LPC2148 / EXP

8-bit Microcontroller. Application Note. AVR033: Getting Started with the CodeVisionAVR C Compiler


ARDUINO MEGA ADK REV3 Code: A000069

How to use RFpro in Packet Mode

Transcription:

DT-AVR ATMEGA168 BMS Application Note By: IE Team This Application Note (AN) serves as a tutorial of how to use the DT-AVR ATMEGA168 Bootloader Micro System along with its supplementary software. The layout of DT-AVR ATMEGA168 BMS is as follows: Picture 1 The layout of DT-AVR ATMEGA168 BMS Hardware preparation for DT-AVR ATMEGA168 BMS is as follows: 1. Arrange jumper J14 and J15 on position 1-2 so that PE.0 and PE.1 function as a serial communication line. 2. Arrange jumper J6, J7, J8, and J9 so that it uses the USB line for bootloader or RS-232 line for bootloader. 3. Connect the USB cable to the module and PC if using USB as bootloader, or connect the serial cable to the PC COM port and the RJ45 connector to the module if using RS232 line for bootloader. 4. If there is another module that will be connected to the DT-AVR ATMEGA168 BMS, it is advised to connect the module to the DT-AVR ATMEGA168 BMS first. Pay attention to the connection, especially for the VCC and GND line, do not put it in reverse. 5. Arrange jumper J4 on position 1-2 (power source from VEXT) and release jumper J5 (5V). 6. Connect a 6-12 VDC Power Supply to the VEXT connector to give power to the module. Page 1 of 12

The setup process for CodeVisionAVR evaluation version is as follows: 1. CodeVisionAVR evaluation version is included inside the CD/DVD that comes along with the module. The setup.exe file is located in the CVAVR Evaluation folder. Run the setup.exe to start the installation process. 2. Select the setup language and click OK. Picture 2 Select Setup Language 3. The initial display of CodeVisionAVR. Click Next > to continue the installation process. Picture 3 CodeVisionAVR initial installation screen Page 2 of 12

4. Proceed to the License Agreement. Click I accept the agreement and then click Next > to agree with the terms and continue with the installation process. Picture 4 CodeVisionAVR License Agreement 5. Choose the Install Location of CodeVisionAVR, and click Next >. Picture 5 Choose Install Location screen Page 3 of 12

6. Pick a Start menu folder, and click Next >. Picture 6 Select Start Menu Folder Screen 7. CodeVisionAVR install preparation screen. Click Install to start the installation. Picture 7 Install Preparation Screen Page 4 of 12

8. CodeVisionAVR Evaluation installation process. Picture 8 CodeVisionAVR Evaluation Installation Process Screen 9. At the information screen, click Next > to proceed with the installation. Picture 9 Information Screen Page 5 of 12

10. Installation process is completed, check Launch CodeVisionAVR C Compiler Evaluation if you want to launch CodeVisionAVR immediately, or uncheck if you don't. Click Finish to complete the installation process. Picture 10 Completing the CodeVisionAVR Setup Wizard Screen The steps to make a simple application using CodeVisionAVR Evaluation is as follows: 1. Basic interface of CodeVisionAVR Evaluation and the available menu. Main Menu Navigator Quick menu Error Log Picture 11 Basic interface of CodeVisionAVR Evaluation Page 6 of 12

2. Create a new file through the main menu, select File, and then New. It can also be done using the quick menu Create new file or project. Picture 12 Creating A New File 3. We will try the Create New File. In this interface we can create a file along with project or just create a source file with a *.c extension. Click OK to proceed. Creates *.c file Creates file along with Project Picture 13 Create New File Interface 4. To make the file creation process easier it is suggested to check the Project option. Because CodeVisionAVR Evaluation will help through CodeWizardAVR. CodeWizardAVR can select and activate the features of the Chip. When the confirmation screen pops up, click Yes, and CodeWizardAVR will appear. Device Feature Chip Type (ATmega128) XTAL Clock Crystal Oscillation Divider Program Type Picture 14 Confirmation Screen and CodeWizardAVR Page 7 of 12

5. As an example of an application program, we will discuss about testing168.c a program which is also included inside the CD/DVD. The device features that will be used in this program are ADC and USART serial communication, ADC is used to read the analog data input on Pin ADC6, while USART is used to perform a serial communication with the computer. The following is an explanation of the testing168.c program. #include <mega168.h> #include <delay.h> // Standard Input/Output functions #include <stdio.h> The program above shows the library that will be used. The first line shows the type of Chip that will be used. The second line shows the library delay which will be used to create delay timing. The blue colored text shows the statement of the program. Every line that starts with // will not be executed when the program start. The fourth line shows the library Standard Input/Output, which will be used for serial communication. 6. The next program discussion is about ADC at DT-AVR ATMEGA168 BMS. #define ADC_VREF_TYPE 0x60 // Read the 8 most significant bits // of the AD conversion result unsigned char read_adc(unsigned char adc_input) { ADMUX=adc_input (ADC_VREF_TYPE & 0xff); // Start the AD conversion ADCSRA =0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA =0x10; return ADCH; } The program above shows the function to read analog data through ADC pins. The ADC uses AVCC as its voltage reference. The function read_adc() above needs to know which ADC canal parameters that will be read. That function returns 8 bit MSB from the result from reading 10 bit ADC. 8. The following is an explanation of the main() function of the testing 168.c Program: void main(void) { // Declare your local variables here unsigned char counter=0; // Crystal Oscillator division factor: 1 #pragma optsize- CLKPR=0x80; CLKPR=0x00; #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif // Input/Output Ports initialization // Port B initialization PORTB=0x00; DDRB=0xFF; // Port C initialization PORTC=0x00; DDRC=0xFF; // Port D initialization PORTD=0x00; DDRD=0xFF; // USART initialization Page 8 of 12

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART0 Mode: Asynchronous // USART Baud rate: 115200 UCSR0A=0x00; UCSR0B=0x18; UCSR0C=0x06; UBRR0H=0x00; UBRR0L=0x03; // ADC initialization // ADC Clock frequency: 57.600 khz // ADC Voltage Reference: AVCC pin // ADC Auto Trigger Source: None // Only the 8 most significant bits of // the AD conversion result are used // Digital input buffers on ADC0: On, ADC1: On, ADC2: On, ADC3: On // ADC4: On, ADC5: On DIDR0=0x00; ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x87; while (1) { // Place your code here if(ucsr0a>>7 & 1) { if (getchar()=='a') { printf("dt-avr Boot, Innovative Electronics\r"); printf("data ADC Ch. 6 = %d\r",read_adc(6)); printf("data ADC Ch. 7 = %d\r",read_adc(7)); } } PORTB = ~(0x01 << counter); PORTC = ~(0x01 << counter); PORTD = ~(0x01 << counter); counter++; if (counter>7) counter = 0; } delay_ms(200); }; On the main() Function above, the first thing to do is counter variable declaration. Followed by I/O initialization, UART initialization, and ADC initialization. The program will then start to loop continuously. In that loop, the first thing to do is to check the contents of UCSR0A registry to find out if there's a serial data input or not. If there is an input, then that serial data will be retrieved using the getchar() fuction. If the received serial data is character 'A', the the module will generate the text: DT-AVR Boot, Innovative Electronics and the conversion results from ADC channel 6 and 7 acquired by calling the read_adc() function. At Port B, Port C, and Port D will always generate low logic at 1 pin on every port consecutively, except for pin PD.0 and PD.1 which is functioned as serial communication. Page 9 of 12

9. The next step is to compile the program that we have just created. This process is done to see if there is an error in the program. This process is located in the Project Compile tab and can also be accessed by pressing F9 on the keyboard. Picture 15 Compile Menu 10. If the created listing program does not contain any kind of mistakes (including syntax or writing) and doesn't encounter any errors during the compiling process, then the form below will appear. Picture 16 Compile Process Result Page 10 of 12

11. After the Compiling process is done, the next step is to generate a HEX file (*.hex). This process is possible to do if the compiling process is succeed. This process is started through the Project Build menu. Another way to initiate the process is by pressing Shift + F9 at the keyboard. Picture 17 HEX File Creation Process 12. If the steps above succeeded then a HEX file (*.hex) will be generated. This file is placed at the same folder as project (or placed inside the EXE folder) with the same name as the project. In this example, the file is named testing168.hex. AVR Bootloader v1.0 is a software from Innovative Electronics that supports microcontroller programming through the bootloader at the DT-AVR ATMEGA168 BMS. This software is included inside the CD/DVD that comes along with the module. 1. The interface of AVR Botloader v1.0 and the explanation of its functions. COM PORT Chip Used Auto Detect Device Button Reset Chip Button Type of Execution Flash File EEPROM File Process Flow Lock Bits Configuration Process Button Picture 18 AVR Bootloader v.1.0 Interface 2. Before running the AVR Bootloader v1.0, DT-AVR ATMEGA168 BMS must be connected to a USB port or serial computer and powered on. On the DT-AVR ATMEGA168 BMS, the programmer device is the ATMEGA168 microcontroller itself. Run the AVR Bootloader v1.0, and press the Auto Detect Device button. This Program will detect the modules that is connected to the computer. If AVR Bootloader shows that there is no detected module, press the reset in the module and run the AVR Bootloader or manually pick an IC to use. Page 11 of 12

3. Hex File is used to select files that will be programmed into the microcontroller. Its important to know that AVR Bootloader v1.0 specifies the files that will be programmed to the Flash memory and EEPROM. Press the... (Browse) button to choose the desired file. Select the HEX file to program the Flash Memory. HEX (testing168.hex) file can also be opened through the File > Load FLASH menu. 4. At the Programmed Section, pick Flash to program, check program results and read the microcontroller Flash Memory. 5. The Operations Flow is used to choose a few process options that will be run, it can also be done from the Program menu and then choose the process that will be run. To program the testing168.hex file in this example, check all Operation Flow (Check Signature, Erase, Blank Check, Program Verify) and Programmed Section in the Flash menu. Finally, press Run to program the microcontroller. 6. To test the programming results of the testing168.hex file, run the TESTER168.exe program included inside the CD/DVD that comes along with the module. 7. Choose the COMPort that will by used through the combobox menu and click Connect. 8. If the serial communication is successfully connected it will display DT-AVR Boot, Innovative Electronics continuously with 1 second interval. Picture 19 TESTER168.exe Program Interface 9. To test the ADC6 pin, connect the ADC6 pin (header PORTC/J17 pin 9) to ground. If there is no error then the ADC Ch. 6 data in the screen will have 0 value. Next, connect the ADC6 pin to the VCC. If there is no errors then the ADC Ch. 6 data in the screen will have 255 value. 10. To test the ADC7 pin, connect the ADC7 pin (header PORTC/J17 pin 10) to ground. If there is no error then the ADC Ch. 7 data in the screen will have 0 value. Next, connect the ADC7 pin to the VCC. If there is no errors then the ADC Ch. 7 data in the screen will have 255 value. 11. The output generated on Port B, Port C, and Port D (except for PD.0 and PD.1) can be seen using oscilloscope, voltmeter, or connected directly with a series of LEDs or DT-I/O LED LOGIC TESTER which will blink one after another. Happy Innovating! AVR Bootloader is copyright by Innovative Electronics. CodeVisionAVR is copyright by Pevel Haiduc, HP Info Tech s.r.l. Page 12 of 12