+ All Categories
Home > Documents > Developing an avr microcontroller system

Developing an avr microcontroller system

Date post: 29-Jun-2015
Category:
Upload: nugnugmacmac
View: 484 times
Download: 9 times
Share this document with a friend
Description:
hai
Popular Tags:
34
Transcript
Page 1: Developing an avr microcontroller system
Page 2: Developing an avr microcontroller system

Introducing MicrocontrollersAbout AVRAVR Mega8 ArchitectureAVR Programming InterfaceDemo: ‘Hello World’ AVR Design.Demo: Hardware DesignDemo: Programming

Page 3: Developing an avr microcontroller system
Page 4: Developing an avr microcontroller system

A microprocessor is a central processing unit (CPU) on a single chip.

When a microprocessor and associated support circuitry, peripheral I/O components and memory (program as well as data) were put together to form a small computer specifically for data acquisition and control applications, it was called a microcomputer.

Page 5: Developing an avr microcontroller system

When the components that make a microcomputer were put together on a single chip of silicon, it was called the microcontroller.

Page 6: Developing an avr microcontroller system

A microcontroller interfaces to external devices with a minimum of external components

Page 7: Developing an avr microcontroller system

A recent white paper by Sun Microsystems claims that by the end of the decade, an average home will contain between 50 to 100 microcontrollers controlling digital phones, microwave ovens, VCRs, televisions sets and television remotes, dishwashers, home security systems, PDAs etc.

An average car has about 15 processors; the 1999 Mercedes S-class car has 63 microprocessors, while the 1999 BMW has 65 processors!

Except perhaps the human body, microprocessors and microcontrollers have gotten into everything around us.

Page 8: Developing an avr microcontroller system
Page 9: Developing an avr microcontroller system

RISC architecture with mostly fixed-length instruction, load-store memory access and 32 general-purpose registers.

A two-stage instruction pipeline that speeds up execution

Majority of instructions take one clock cycle

Up to 10-MHz clock operation

Page 10: Developing an avr microcontroller system

Wide variety of on-chip peripherals, including digital I/O, ADC, EEPROM, Timer, UART, RTC timer, PWM etc

Internal program and data memory. In-System programmableAvailable in 8-pin to 64-pin size to

suit wide variety of applications

Page 11: Developing an avr microcontroller system

Up to 12 times performance speedup over conventional CISC controllers.

Wide operating voltage from 2.7V to 6.0V

Simple architecture offers a small learning curve to the uninitiated.

Page 12: Developing an avr microcontroller system
Page 13: Developing an avr microcontroller system

8-Kbyte self-programming Flash Program Memory

1-Kbyte SRAM 512 Byte EEPROM 6 or 8 Channel 10-bit

A/D-converter. Up to 16 MIPS

throughput at 16 Mhz.

2.7 - 5.5 Volt operation.

Page 14: Developing an avr microcontroller system
Page 15: Developing an avr microcontroller system
Page 16: Developing an avr microcontroller system
Page 17: Developing an avr microcontroller system
Page 18: Developing an avr microcontroller system

The AVR chip has a built in interface, that enables you to write and read the content of the program flash and the built-in-EEPROM. This interface works serially and needs three signal lines: SCK: A clock signal that shifts the bits to be written

to the memory into an internal shift register, and that shifts out the bits to be read from another

internal shift register, MOSI: The data signal that sends the bits to be

written to the AVR, MISO: The data signal that receives the bits read

from the AVR.

Page 19: Developing an avr microcontroller system

These three signal pins are internally connected to the programming machine only if you change the RESET pin to zero.

Otherwise, during normal operation of the AVR, these pins are programmable I/O lines like all the others.

If you like to use these pins for other purposes during normal operation, and for in-system-programming, you'll have to take care, that these two purposes do not

conflict. Usually you then decouple these by resistors or by

use of a multiplexer. What is necessary in your case, depends from

your use of the pins in the normal operation mode.

Page 20: Developing an avr microcontroller system

VTG: Target Voltage

LED: indicates that the programmer is doing its job

Page 21: Developing an avr microcontroller system
Page 22: Developing an avr microcontroller system
Page 23: Developing an avr microcontroller system
Page 24: Developing an avr microcontroller system

The purpose of this demo is: to design a simple

AVR system Interface it to and

LCD display Program it to

display ‘Hello World’

Programmer

AVR MCUAVR MCU

LCD DisplayLCD Display

Page 25: Developing an avr microcontroller system
Page 26: Developing an avr microcontroller system
Page 27: Developing an avr microcontroller system
Page 28: Developing an avr microcontroller system

LCD Interface AVR Port

RS PORTC.2

RW PORTC.3

E PORTC.4

DATA PORTD

Page 29: Developing an avr microcontroller system
Page 30: Developing an avr microcontroller system

AVR StudioGCCAVRLibsPonyProg

Page 31: Developing an avr microcontroller system

Include the following files in your project lcd.c global.h timer.h lcd.h

Page 32: Developing an avr microcontroller system

Add a new c source file to your AVR Studio project.

Type in the main function as shown below:

Page 33: Developing an avr microcontroller system

Main(){

lcdInitHW(); lcdInit(); lcdGotoXY(0,4); lcdPrintData(“Hello Word!”, 11);

}

Page 34: Developing an avr microcontroller system

Recommended