Beruflich Dokumente
Kultur Dokumente
What is a Microcontroller? A microcontroller (sometimes abbreviated C or MCU) is a small computer on a single IC containing a processor core, memory, and programmable input/output peripherals
It is a decision making device used widely in embedded systems and all intelligent devices
What is AVR? AVR is a modified Harvard architecture, 8-bit RISC single chip microcontroller It was developed in the year 1996 by Atmel Corporation
What is RISC?
RISC stands for Reduced Instruction Set Computer It is a very fast architecture which executes one instruction per clock cycle
Harvard Architecture
Harvard architecture has separate data and instruction buses This allows transfers to be performed simultaneously on both buses
Introduction to Atmega8
ATmega8 is a low-power CMOS 8-bit microcontroller based on the AVR RISC architecture
By executing powerful instructions in a single clock cycle, the ATmega8 achieves throughput approaching 1 MIPS per MHz
In order to maximize performance and parallelism, the AVR uses a Harvard architecture
Features Of ATmega8
High-performance, Low-power AVR 8-bit microcontroller
Up to 16 MIPS Throughput at 16 MHz 32 x 8 General Purpose Working Registers Internal Calibrated RC Oscillator
Memory Segments
8K Bytes of In-System Self-programmable Flash program memory 512 Bytes EEPROM (Electrically Erasable Programmable Read Only Memory) 1K Byte Internal SRAM (Static Random Access Memory)
Peripheral Features
Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode Real Time Counter with Separate Oscillator Three PWM Channels 8-channel ADC in TQFP package
Continued
6-channel ADC in PDIP package
Byte-oriented Two-wire Serial Interface Programmable Serial USART Master/Slave SPI Serial Interface Programmable Watchdog Timer with Separate On-chip Oscillator On-chip Analog Comparator
TYPES OF PACKAGES
28-lead PDIP (Plastic Dual In-line Package)
Pinout of ATmega8
Pin Description
VCC: Digital supply voltage 5V.
GND: Ground. RESET: A low level on this pin for longer than the minimum pulse length will generate a reset, even if the clock is not running. AREF: The analog reference pin for the A/D Converter.
Continued.
AVCC : The supply voltage pin for the A/D Converter, Port C (3..0).It should be externally connected to VCC, even if the ADC is not used. If the ADC is used, it should be connected to VCC through a low-pass filter.
PORTS
There are 3 ports in ATmega8: Port B, Port C, Port D Three registers are associated with every port DDRx Data Direction Register PINx Port input PORTx- Port output
PORT B(PB7-PB0)
It is a 8-bit bi-directional I/O port
It has internal pull up resistors(selected for each bit) It can be used either as a input port or as output port ( direction must be specified in programming)
PORT C(PC6-PC0)
PORTD(PD7-PD0)
It is a 8-bit bi-directional I/O port It has internal pull up resistors(selected for each bit) It can be used either as a input port or as output port ( direction must be specified in programming)
Continued
Continued....
Continued....
Continued....
DDRx Register
It stands for Data Direction Register It is used to define Port as Input or Output In order to make Port as Input Port: DDRx=0x00 (In Hexadecimal) DDRx = 0b00000000(In Binary) In order to make Port as output Port: DDRx=0xFF (In Hexadecimal) DDRx = 0b11111111(In Binary)
PORTx Register
If DDRx =0xFF(Output port) Writing logic 1 to PORTx will make output high i.e. 5v for that particular pin Writing 0 to PORTx will make output low i.e. 0v for that particular pin
Continued.
If DDRx=Ox00(Input port): If corresponding PORTx bit is set to 1, Internal pull up resistors are enabled i.e if we do not connect this pin to anything it still reads as 1
If corresponding PORTx bit is set to 0, internal pull up resistors are disabled i.e the pin will enter a high impedance state and will become unpredictable
PINx Register
It reads data from the port pins If any/all bits of DDRx is set to 0(input)for a particular pin, we can read data from PINx If any/all bits of DDRx is set to 1(output), then reading PINx register gives the same data which has been output on that particular pin
THANK YOU!!!