Hello Guys, this is Fazal Mahfooz. Hope you guys are doing fine and had missed me and my article. Sorry for keep you guys waiting I was quite busy with my own stuff.

Well, as discussed earlier that in this article we will be talking about something related to AVR Microcontrollers. This is one of the most famous technology among students. Its full form as described by Books is Advanced Virtual RISC(Reduced Instruction Set Computing). But fun-fact is that its own creator ATMEL corporation hasn’t given any Real full-form, well these things doesn’t matter.

Nowadays many people are crazy about Arduino(it also uses AVR architecture in most of its controllers like UNO has ATmega328p) and are thinking of becoming a hardware coder. For them, I feel pity I am sorry but I am serious about it. This Arduino is like an opium its very easy no doubts but you are not able to know about the basics that are registered level programming. I have used Arduino a

lot but only for rapid prototyping. You cannot build a full-fledged system without having knowledge about Registers.(my words are harsh but that’s a truth)

Well in your minds you guys must be thinking what is this? Well, these are the memory in which your basic information are going and it helps your basic microcontrollers to work. Well in our AVR family we are having three GPIO Registers and many special purpose registers(like ADC USART I2C SPI etc).

Three GPIO registers are:

  1. DDR’x’
  2. PORT’x’
  3. PIN’x’

here x signifies the ports of a particular IC or controller in our case.

I will be teaching you guys according to ATmega16 Microcontroller. In this controller AT stands for Atmel corporation, Mega is a subfamily of AVR and 16 stands for 16Kb of flash in it. Flash is the place where your code is actually stored in your microcontrollers. Don’t worry in Coming topics we will discuss memory organization of controllers.

So coming back to the topic with the help of these three Registers we do all kind of magic. Our mega 16 contains 40 pins and has 4 ports which are Port A, Port B, alotPort C and Port D each of them contains 8 pins. Pin outs are as shown below

Well for today this is it guys will be writing next article hopefully by the end of this week or maybe starting of the next. In that will be discussing different features of our Atmega16 controller. One more things guys I am just taking this controller as an example only you can use different number controller like Atmega32, ATmega8 etc for practicals. Will be discussed a lot of things in coming future.

See you soon hope you like this article please do comment related to your doubts.

Stay cool make new stuff and chill 😛

Thank you… 🙂


Fazal Mahfooz is an Embedded Engineer & expert in 8051, AVR, PIC and ARM controllers. He has done a lot of embedded system projects and had trained more than 10k+ students including IITs and NITs. Had also trained professionals from DRDO in different Microcontrollers. He is a very big fan of Game of thrones ?

1 Comment

  1. Quality articles or reviews is the important to be a focus for the people to pay a visit
    the web site, that’s what this web site is providing.

Write A Comment