What is best way to learn avr microcontrollers
The technology began with the conversion of natural resources into different tools for easiest and luxurious life. With the advent of microprocessors and microcontrollers a modern society has transformed which is going to be advance day by day. According to Moore’s law:
“The number of transistors in a dense integrated circuit doubles approximately every two years.”
From the first 4‐bit microprocessor 4004 till Nanotechnology, hundreds of microcontrollers are developing to full fill user requirements. The term microcontroller refers to a mini computer integrated on a small chip having a processor, memory and programmable input/output peripherals. The main function of microcontroller is to provide a digital control over any type of system (electrical, mechanical or automotive), different devices, industrial plants and most of electronic gadgets and appliances.
avr microcontrollers being advanced and sophisticated microcontroller was developed by ATMEL in 1996, its architecture was first envisage by two students Alf‐Egil Bogen and Vegard Wollan at Norwegian institute of technology that’s why the term avr micrcontrollers stands for Alf‐Egil Bogen and Vegard Wollan’s RICS
(reduced instruction set computing) microcontroller. AVR is the first on chip flash memory comes
in 8‐bit, 16‐bit, 32‐bit or 64‐bit integrated chips.
Lets us talk about 8‐bit avr microcontroller chip popularly known as Atmega16. AVR Atmega16 is low power, efficient and high performance integrated chip comprises of advance RISC architecture. It can interpret 6millions instructions per seconds (MIPS). AVR Atmega16 consists of 16K Bytes of self‐programmable flash memory, 1K Byte of internal SRAM and 512K Bytes of EEPROM. Moreover it comprises of JTAG interface, analog comparator, 10‐bit ADC, TWI interface, two 8‐bit & one 16‐bit timer/counter, programmable input/output lines, serial USART and PWM channels. AVR Atmega16 also provides security lock for software via programming. It consists of 40 pins in which 32 pins are input/output pins in the form of four ports; PORTA, PORTB, PORTC & PORTD and other are voltage supply, ground, analog reference, crystal & reset pins. Each port provides bi‐directional I/O interface, comprises of 8 pins in which each pin is 8‐bits wide.
The RESET pin is an active low pin which activates when a low voltage (0 volts) is applied; it causes the avr microcontroller to starts from its default (initial) mode/state. Almost all the signals form environment are analog signals but microcontrollers understands only digital language that’s why form analog to digital conversion PORTA is used, comprises of pins from A0 to A7also known as ADC pins. AREF pin is an analog reference pin used for ADC & VACC pin is a voltage supply also used for ADC. There are two ground (GND) pins used to provide ground to AVR microcontroller. VCC is the main supply of AVR Atmega16 which is 5 volts DC. The operating frequency of AVR Atmega16 is 16MHz, for this an external crystal oscillator of 16MHz is connected to XTAL1 & XTAL2 pins along with 22pF capacitors, where XTAL1 is used for providing input to the inverting clock
oscillator and internal clock operating circuit while XTAL2 is the output from the inverting oscillator amplifier.
Since AVR Atmega16 is a small chip microcontroller that’s why for the smart processing and to provide multiple functions within a small chip most of its pins are multiplexed means single pin can perform two or more functions. PC0/SCL & PC1/SDA are multiplexed to provide TWI & I/O interface. Likewise PC2/TCK, PC3/TMS, PC4/TDO & PC5/TDI are multiplexed to provide JTAG interface, when JTAG interface is enabled. For serial communication interface PD0/RXD & PD1/TXD pins are multiplexed and for PWM signals PD4/OC1B &PD5/OC1A are used. For external interrupts PD2/INT0 & PD3/INT1 multiplexed pins are used, similarly PC6/TOCS1 & PC7/TOCS2 are timeroscillator pins and all the pins of PORTA are multiplexed with ADC pins. AVR microcontroller can be easily used for LCD interface and almost any type of sensors or
transducers. As far as we talk about the programming of AVR microcontrollers the simplest way is to use AVR STUDIO which is an integrated development environment by ATMEL to develop different applications as per requirements.
We are going to post series of tutorials on avr microcontrollers which are very easy to follow and learn. For more information keep visiting our website. This article is written by our content writer “Farida Ahmad” . Thanks to her for sharing useful article with us. 🙂