Skip to main content

All About AVR Microcontroller

In this Technically advancing world every techie like YOU and ME have many ideas that we want to try and execute. But as we know that car can't be repaired or customized in garden, it needs a garge with tools rather for fast and perfect work Advanced tools. So lets discuss about AVR ,its tools and projects.
A small introduction about AVR. Its a Microcontroller.

Its features:
  • Its Processor is based on RISC architecture.
  • It has onchip ADC.
  • It has onchip PWM and timers.
  • Etc Etc.
In this page I am going to discuss about the tools, softwares, programmers which are used in developing AVR projects. And the basic projects too. 

So make up your mind, lets enjoy the AVR....!!


Lets first look at the various toolsets required for AVR development:

Coding softwares:
  • AVRStudio --> It is free and can be downloaded from ATMEL site.
  • CodeVision AVR --> Its Evalution version is available. Good software if you are shifting from KEIL or MPLab.
  • FLOWCODE-AVR --> Now this is really very intresting software. Easy to use. You just have to draw flow chart and the code will be generated automatically in either C format or directly to HEX file. 
  • BASCOM-AVR -->People who are familier with BASIC have a great opportunity to use their creativity for developing AVR code in BASIC using BASCOM-AVR.


Programming Softwares:
  • AVRDUDE --> Mostly used software. Only problem is you must know how to use command prompt.
  • SinaProg --> My favourite. Its a GUI version of AVRDUDE. Supports every available programmer USBasp and USBtiny too. Its easy to use and program.
  • PonyProg --> It is used for Serial or Parallel Programmer. But nice software. It has helped me in developing my USBasp at home.
 Programmer:

If you have bought AVR Development board, then its well and good. Else if you like tinkering with PCBs, i.e. designing your own, you are on right blog. Here I will tell you how to build your own Evalution board as well as USBasp Programmer at home. You are just going to need some tools for PCB designing, breadboard for testing etc etc.

I personally use three programmers which I feel every programmer should have,
  • USBasp Programmer. -- (Very useful as can be connected to any laptop or PC).
  • Serial Programmer. -- (Required to build USBasp and can be used with old Laptops and all PCs)
  • Parallel Programmer. -- (If you have old PC at home then feel lucky for that, because that machine got this port which has power to unlock the Locked AVR uC. If anytime your friend locks up his AVR just ask him to give it to you for free or you can create some money by unlocking it for him. And if its HER AVR then you got a chance to go on next date. ;-) )

My AVR Board(Dual layer home brewed PCB) (Its just a test board, final Prototype is yet to come):

Features:
  • ATMEGA 16, 32 supported with 16MHz clock.
  • Onboard RF Transmitter, Reciver.
  • Push-buttons, LEDs
  • 4-bit onboard encoder/decoder for RF modules.
  • Onboard USB programming.( ISP slot will be provided for external uC programming in next version)
  • USART through USB-Serial interface.
  • 10cm x 10cm size. ( Will be reduced upto 7x7).
  • Onboard Motor Interface with PWM support.
  • 16x2 LCD.
  • Buzzer.
  • High efficiency, SMD components are used.
  • 2 Power and Ground points for external devices.
  • Direct port interface is also included.
  • 8 of 4-ADC i/p with capacitive filters included.
My home brewed USBasp In-System Programmer:

Features:
  • USB driver support for all windows.( Including Windows 7).
  • AVRdude and its GUI version SINAprog supported.
  • Jumper settings for slower SCKs.
  • USB Powered.
  • Power i/p to external board, if required.
  • LED indicators.
  • Circuit is 4cm x 3cm. ( Its going to be 2cm x 2 cm).
     This much is ok for now will update more info very soon. Till then Enjoy...!!

    Comments

    1. BTW most of the girls dont even know abt avr forget abt going on date :P

      ReplyDelete

    Post a Comment

    Popular posts from this blog

    Website is being updated with new UI!

    Hi E veryone , Pardon me. It took me very long to get back on managing this website. You all during some part of a time in your life, you get so busy that you forget what you actually need to do to keep up. I am moving whole code database on Github so you all will never face any problem with finding codes. Feel free to follow me on Github for updates. My Github: https://github.com/prasadp4009   Stay tuned for updates. Thank you all.

    Blu ShopMart

    A Bluetooth and RFID based Shopping trolly concept designed for today's world. If any company wants to have this product, contact me on: prasadp4009@gmail.com

    VHDL code for Clock Divider

    This is a clock divider code, just set the max-count value as per your requirenment. For ex. If I want 1Hz freq. set the max count to i/p freq value viz. 1sec = 1Hz Then, to get time period of 1sec i.e. 1 Hz frequency set max-count to 240000 as shown below: 1sec  =  24000000  -- for i/p frequency of 24 MHz. To get your desired frequency just calculate the maxcount with the formula given below: max_count = 24000000 * (1/your required frequency) CODE: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 library IEEE ; use IEEE.STD_LOGIC_1164.ALL ; use IEEE.numeric_std.all ; entity clk_div is Port ( Clk : in std_logic ; rst : in std_logic ; op : out std_logic ); end clk_div ; architecture behavioral of clk_div is constant max_count : natural := 24000000 ; -- I used 24MHz clock ...