380 likes | 574 Views
Developing an AVR Microcontroller System. Table of Content. Introducing Microcontrollers About AVR AVR Mega8 Architecture AVR Programming Interface Demo: ‘Hello World’ AVR Design. Demo: Hardware Design Demo: Programming. 1. Introducing Microcontrollers. Introducing Microcontrollers.
E N D
Table of Content • Introducing Microcontrollers • About AVR • AVR Mega8 Architecture • AVR Programming Interface • Demo: ‘Hello World’ AVR Design. • Demo: Hardware Design • Demo: Programming
Introducing Microcontrollers • 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.
Introducing Microcontrollers • When the components that make a microcomputer were put together on a single chip of silicon, it was called the microcontroller.
Microcontrollers A microcontroller interfaces to external devices with a minimum of external components
Relevance of Microcontrollers • 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.
AVR General Features • Enhanced 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
AVR General Features • 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 programmable (ISP) • Available in 8-pin to 64-pin size to suit wide variety of applications
AVR General Features • 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.
AVR Mega8 Features • 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.
‘Hello World’ AVR Design • 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 MCU LCD Display
Software Tools needed • AVR Studio • GCC • AVRLibs • PonyProg
From AVR Lib... • Include the following files in your project • lcd.c • global.h • timer.h • lcd.h
Main.c • Add a new c source file to your AVR Studio project. • Type in the main function as shown below:
Main() • { • lcdInitHW(); • lcdInit(); • lcdGotoXY(0,4); • lcdPrintData(“Hello Word!”, 11); • }