AVR Development Board (S/N:138020)

AVR Development Board (S/N:138020)
AVR
Development Board
(S/N:138020)
User’s Manual
About the User Guide
AVR Development Board S/N: 138020 are especially designed for the students having
interest in electronics, embedded system, robotics and home/industrial-automation. This
board is made in such a way that it becomes easier for anybody to learn about AVR
microcontrollers. This board can also be used in various applications and hobby projects.
PROPRIETARY NOTICE
This document contains proprietary information furnished for evaluation purposes only; except with the express written
permission of Skillrex Technology, such information may not be published, disclosed, or used for any other purpose. You
acknowledge and agree that this document and all portions thereof, including, but not limited to, any copyright, trade
secret and other intellectual property rights relating thereto, are and at all times shall remain the sole property Skillrex
Technology and that title and full ownership rights in the information contained herein and all portions thereof are
reserved to and at all times shall remain with Skillrex Technology. You acknowledge and agree that the information
contained herein constitutes a valuable trade secret of Skillrex Technology. You agree to use utmost care in protecting the
proprietary and confidential nature of the information contained herein.
Contents
1. Product Description: ................................................................. 5
1.1. AVR Development Board S/N: 138020: .................................... 5
2. Parts Identification .................................................................... 6
2.1. Microcontroller ...................................................................... 6
2.2. 1117 VOLTAGE REGULATOR ................................................... 6
2.3. L293DNE MOTOR DRIVER ...................................................... 6
2.4. 16 X 2/16 X 1 LCD INTERFACE ................................................ 7
2.5. SWITCH ................................................................................. 7
2.6. POWER SUPPLY ....................................................................... 7
2.7. LED’s..................................................................................... 8
2.8. ISP (IN-SYSTEM PROGRAMMING) INTERFACE ............................. 8
2.9. PB (PORTB) ............................................................................. 9
2.10. PC (PORTC) .......................................................................... 9
2.11. PD (PORTD) .......................................................................... 9
2.12. MOTOR DRIVER CONNECTIONS ............................................. 9
3. The AVR Microcontrollers: ......................................................... 9
3.1. Description ............................................................................ 9
3.2. Programming ......................................................................... 9
3.3. Sample codes ........................................................................ 11
1. Product Description:
1.1. AVR Development Board S/N: 138020:















Includes Atmel’s ATmega8 Microcontroller with 8kb flash memory working at
16MIPS.
On-board LCD interfacing option (it can also be used for any other general purpose
application).
On-board Motor Driver for connecting 2 DC motors or 1 Stepper motors.
On-board 5v regulated power supply.
12 MHz external crystal.
*
Exposed all 21 I/O pins.
Exposed 6 channel I/O pins for ADC with 5V/1A power supply.
Exposed 8 I/O channels for sensors and other peripherals with 5V/1A power supply.*
One tact switch for external input and one tact switch for reset.
Four test LEDs for status and debugging purpose.
Two supply indicator LEDs.
Dual power supply through DC source (6V to 16V) or USB powered.
On board USB programming feature.
Exposed ISP pins for programming.
Separate power supply option for microcontroller and motor driver
2. Parts Identification
USB Connector
12MHz Crystal
L293DNE
Motor Driver
Motor Connector
Prog Switch
Port D
Power
Switch
Reset
Switch
Driving
Supply
S0 Switch
Logic
Supply
Port C
Four LED’s
LCD Connector
2.1. Atmega8 IC/Chip
Atmega8
Microcontroller
Port B
It is a microcomputer chip which stores user programs, executes them and takes
necessary action. The chip used here is a popular AVR microcontroller of Atmel.
2.2. 1117 VOLTAGE REGULATOR
It is a three terminal 5V voltage regulator IC used to provide a constant voltage
supply of 5V to the microcontroller and other peripherals (i.e. sensors etc.) attached
in the main board.
2.3. L293DNE
This is basically a motor driver IC which takes input from microcontroller and is able
to drive the DC and stepper motors by using separate power supply.
2.4. 16 X 2/16 X 1 LCD INTERFACE
The LCD interface can be used to interface any 16x2 or 16x1 character LCD displays
in 4 bit mode. The LCD display can be used to display any message, status or also can
be used for debugging purpose.
The LCD interfacing can also be used as a general purpose input output port. The pin
connections for interfacing a LCD to the board are given below:
D4 D5 D6 D7 RS E R/W -
PortB0
PortB1
PortB2
PortB3
PortB4
PortB5
Grounded directly
2.5. SWITCHES
One tact switch along with a Reset switch is present on the board in order to provide
an external input to the board. The S0 tact switch is connected in the following
manner:
S0 - PortC0
RST (Reset Switch):
The Reset switch is basically used to reset a running program right to the
beginning; it is same as the reset switch of a PC.
RST - Reset Switch - PortC6
POWER (Power toggle Switch):
It is basically a toggle switch used to provide power supply to the main board.
The power can be supplied either by a battery power supply (through LS) or
can be USB powered. Thus, the POWER switch can be made to toggle
between LS (logic Supply) or UP (USB Supply).
PROG (Programming Switch):
It is also a toggle switch for programming the microcontroller using on board
USB programmer. For programming mode it should be ON then RESET button
should be pressed. For normal operation it should be OFF.
2.6. POWER SUPPLY
LS (Logic Supply):
It consists of two pins one is + ve and another is – ve. A battery or an AC
adaptor can be connected here to provide power supply to the mother board
it provides regulated power supply to all the peripherals present in the
mother board and also to the external peripherals connected to the
motherboard through a voltage regulator. The DC voltage provided to this
terminal should be lies in between 6 to 16 volt. To use the supply connected
in LS pin the power switch should be toggled towards “LS” (Logic Supply).
DS (Driving Supply):
It consists of two pins one is + ve and another is – ve. It is basically used to
provide a separate high current power supply to the Motors. For operating
DC motors you may provide here a Power supply of 5 to 24 volt, 1amp.
USB Connector:
It is basically used for USB communication with the PC. It also provides
necessary logic supply to the motherboard. In order to use the USB supply
the POWER switch should be toggled towards US (USB Supply). When using
the USB power some precautions should be taken such as any heavy load
should not be connected to the board directly.
2.7. LED’s
Active high:
LED0 – PORTB0
LED1 – PORTB1
LED2 – PORTB2
LED3 – PORTB3
PWR_LED - Logic Power ON indicator
DS_LED Driving Power ON indicator
2.8. ISP (IN-SYSTEM PROGRAMMING) INTERFACE
It is the In-System Programming interface of the main board which can be used to
connect any ISP programmer to download the programs in the microcontroller. It
can also be used in SPI (Serial Peripheral Interface) communication. The pins
provided for ISP are given below:
MOSI- Master Out Slave in PortB3
MISO- Master in Slave out PortB4
SCK- Serial clock
PortB5
RST- Reset
Reset
GND- Ground
Ground
2.9. PB (PORTB)
It is a general purpose I/O port. This port contains eight pins that can be used as
digital input and digital output. Some pins of this port are in the form, DATA-VCCGROUND (denoted as D + - respectively on the board) and also one DS+ i.e. driving
supply positive pin (which is used to drive the motor) is present. The Data pins are
towards the microcontroller.
2.10. PC (PORTC)
It is a general purpose I/O port. This port contains seven pins that can be used as
digital input, ADC in and digital output. These pins are in the form, DATA-VCCGROUND (denoted as D + - respectively on the board). The VCC and Ground pins are
provided with a 5V/1A power supply.
2.11. PD (PORTD)
It is a general purpose I/O port. This port contains eight pins that can be used as
digital input and digital output. The two external interrupt pins INT0 & INT1 which
are there on port D at pin number 2 & 3 respectively. The UART pins are also
available on this port.
2.12. MOTOR DRIVER CONNECTIONS
The motor driver is used to run the DC motors/stepper motor that may be
connected to the board according to the data from the microcontroller. The motor
driver links with microcontroller is as shown below:
M0 M1 M2 M3 -
PortD4
PortD5
PortD6
PortD7
3. The AVR Microcontrollers:
3.1. Description
The AVR is a Modified Harvard architecture 8-bit RISC single chip microcontroller which was
developed by Atmel in 1996. The AVR was one of the first microcontroller families to use onchip flash memory for program storage, as opposed to One-Time Programmable ROM,
EPROM, or EEPROM used by other microcontrollers at the time.
Atmel's low power, high performance AVR microcontrollers handle demanding 8 and 16-bit
applications. With a single cycle instruction RISC CPU, innovative Pico Power® technology,
and a rich feature set, the AVR architecture ensures fast code execution combined with the
lowest possible power consumption.
Whether you program in C or assembly, the tuned AVR instructions decrease program size
and development time. The well-defined I/O structure limits the need for external
components and reduces development cost. A variety of internal oscillators, timers, UARTs,
SPIs, Pulse Width Modulation, pull-up resistors, ADCs, Analog Comparators and Watch-Dog
Timers are some of the features available for creative engineers.
The AVR microcontrollers are divided into 4 families tiny AVR, mega AVR, XMEGA and
Application specific AVR. Among these 4 families of AVR here we are going to use a
microcontroller of mega AVR family “ATmega8”.
3.2. Programming
WinAVR is a suite of executable, open source software development tools for the Atmel’s
AVR series of RISC microcontrollers hosted on the Windows platform. It includes the GNU
GCC compiler for C and C++.
Steps for writing a code using WinAVR
1. Open the Programmer’s Notepad and write your code.
2. Create a new folder and save your code in that folder with extension name “.c” &
minimize the notepad
3. Now open the make file and edit it as mentioned bellow:
a. Make file→ main filename (give your file name here without extension)
b. Make file→ MCU type→ ATmega8→ (choose your UC)
c. Make file→ enable editing make file→ then in your make file edit the
following things
d. F_CPU = 12000000 (change it as for your crystal frequency)
e. Save the make file in your folder (above you have created) without changing
its name.
4. Now maximize the programmer’s notepad.
5. To compile your code and to generate hex file go Tools→ make all.
3.3. Sample codes
Code1. Program to switch on the entire test LEDs
#include<avr/io.h>
int main(void)
{
PORTB=0x00;
DDRB=0x0F;
//basic header file for AVR micro controllers
// initialization of port B as all bits low.
// data direction declaration of port B lower bits as o/p port.
PORTB=0x0F;
while(1)
{
}
return 0;
}
Code2. Program to blink all the LEDS connected in PortB
#include<avr/io.h>
#include <util/delay.h>
int main(void)
{
PORTB=0x00;
DDRB=0x0F;
while(1)
{
PORTB=0x0F;
_delay_ms(1000);
PORTB=0x00;
_delay_ms(1000);
}
return 0;
}
//This is the header for AVR Microcontroller.
//header file to generate time delay.
// Port B initialization as all bits low.
// Port B data direction declaration as output.
//This is for the infinity loop.
Code3.Taking input from a Port/Swich connected at PortC0
#include<avr/io.h>
//This is the header for AVR Microcontroller.
int main(void)
{
PORTB=0x00;
//Port B all pins are low
DDRB=0xFF;
// Port B data direction configuration as output port
PORTC=0xFF;
// configuring the PORTC in pull-up mode.
DDRC=0x00;
// Port C data direction configuration as input port.
while(1)
{
if((PINC & 0x01)==0x00)
//checking switch press at PortC0
{
PORTB=0x0F;
}
}
return 0;
}
Code 4. Interfacing DC motor
#include<avr/io.h>
#include<util/delay.h>
int main(void)
{
PORTD=0xF0;
while(1)
{
PORTD=0x90;
_delay_ms(1000);
PORTD=0x60;
_delay_ms(1000);
PORTD=0x00;
_delay_ms(1000);
}
return 0;
}
// Port D declaration as MSB bits bits high or output for motor.
//This is for the infinity loop.
//For forward moving of your robot, depends upon your connection
//For backward moving of your robot, depends upon your connection
//To stop the robot
For further details contact us:
Website: -www.skillrextechnology.com
Email: - [email protected] OR [email protected]
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement