In my last post, I just breezed over what a Micro-Controller (herein after referred to as uC ) and an AVR really is, so here it goes, my take at explaining them…. (I will try to copy as much from Wikipedia as possible and then mix it with my own understandings)
A uC is a small computer, usually sized to fit on a small chip, it can be programmed, it can take inputs and it can give outputs after working on that input, similar to what computers do already. The way they differ is that uC provide an easy way to implement any kind of electronic solution while maintaining flexibility, speed and accuracy. uC are a simpler form of the modern day processor (which goes in the motherboard, think Intel and AMD), it works on smaller numbers, it has much (read too much) slower speed as compared to its modern counterpart (i7).
A typical uC can be programmed, given instructions to, which it follows when working on data inputs, a uC works primarily on digital signals and logics.
You can read more about uCs on the official Wikipedia Micro-Controller page, but I think this should be enough for anyone wanting only basic knowledge.
AVRs are a special family of uCs from the good folks at Atmel, though there are many other families of uCs available (PIC and many more), I choose AVR, cause I wanted to, their is no answer to which one is better.
AVRs are a fairly modern breed of uC, not like the 8051 grandpas, AVRs have many built-in features and functions which the average user may require, making it quite easy to use, so easy that most of the circuits in which AVRs are used, just consist of an AVR and a ciuple of other components, nothing COMPLEX.
AVR can be programmed in both Assembly (not for the faint of heart) as well as in C, there are BASIC compilers for AVR as well, which let the user program the AVR in BASIC, my take will be to first see some Assembly in action and then work on its counterpart in C, as my goal is to get the hang of Assembly as well, so you can skip the Assembly part if you want to.
TECHNICAL AVR STUFF
AVRs are 8-bit, they can only work on numbers less then 256, but this should not stop you. AVRs use the RISC architecture, which means that AVRs have less commands (instructions) but performs faster. They have erasable memory, which can be programmed again and again saving MONEY(which matters).
There are many factions with in the AVR family as well, but I will be mostly referring to those having 8-bits and particularly the AVR ATMega Series, not Tiny, nor XMega.
AVRs have many many built-in features, which are the primary reason I like it very much, it has timers, interrupts, watchdog, internal registers, SRAM, program memory, speed, ADC, JTAG, support for USB/Ethernet/LCD, PWM, low power modes, etc, etc… I will be explaining many of these later on, but will not explain those which I don’t know about.
Maybe, you will like this video better then all my yammering, I should have put it up, not down here… :)
What’s in Store:
Next post will have more on the AVR features, with small definitions of all and maybe it will contain some PINS.