340 likes | 636 Views
Table of Content. Introducing MicrocontrollersAbout AVRAVR Mega8 ArchitectureAVR Programming InterfaceDemo:
E N D
1. Developing an AVR Microcontroller System
2. Table of Content Introducing Microcontrollers
About AVR
AVR Mega8 Architecture
AVR Programming Interface
Demo: Hello World AVR Design.
Demo: Hardware Design
Demo: Programming
3. 1. Introducing Microcontrollers
4. 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.
5. Introducing Microcontrollers When the components that make a microcomputer were put together on a single chip of silicon, it was called the microcontroller.
6. Microcontrollers
7. 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.
8. 2. About AVR
9. AVR General Features 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
10. 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
Available in 8-pin to 64-pin size to suit wide variety of applications
11. 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.
12. 3. AVR Mega8 Architecture
13. 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.
14. AVR Architecture
15. AT Mega8 Pin-Out
16. High-Level Integration
17. 4. AVR Programming Interface
18. AVR Programming Interface 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. SCK (SPI Bus Master clock Input), MISO (SPI Bus Master Input/Slave Output), MOSI (SPI Bus Master Output/Slave Input)SCK (SPI Bus Master clock Input), MISO (SPI Bus Master Input/Slave Output), MOSI (SPI Bus Master Output/Slave Input)
19. 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.
20. ISP-10 Connection VTG: Target Voltage
LED: indicates that the programmer is doing its job
21. Parallel Port in-System-Programmer
23. 5. Demo: Hello World AVR Design
24. 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
25. 6. Demo: Hardware Design
26. AT Mega 8 Pinout
27. LCD Interface
28. Interfacing LCD to AVR
29. 7. DEMO: Programming
30. Software Tools needed AVR Studio
GCC
AVRLibs
PonyProg
31. From AVR Lib... Include the following files in your project
lcd.c
global.h
timer.h
lcd.h
32. Main.c Add a new c source file to your AVR Studio project.
Type in the main function as shown below:
33. Main()
{
lcdInitHW();
lcdInit();
lcdGotoXY(0,4);
lcdPrintData(Hello Word!, 11);
}
34. Thanks