ATmega16 Programmer

The Atmel ATmega series of microcontrollers are very popular due to the large number of peripherals inbuilt in them. They have features such as internal PWM channels, 10-bit A/D converters, UART/USART and much more, which are useful for a lot of applications and external hardware is reduced as these are built-in. The programmer shown below is a SP
ATmega16 Programmer - schematic

I based in-circuit programmer, meaning that you can program your microcontroller while it is placed in your application circuit, although you`ll have to remove the external connections from the pins used by the programmer (MOSI, MISO, SCK, RESET) while programming. The interface is called "BSD", which is pretty standard, so you won`t have much problem with software support. You can skip the crystal and the two capacitors, since the AVR comes with its built-in oscillator, which is turned on by default. It has 1 MHz frequency and is good enough for general purposes, but is not good for precise timing applications like serial communication. For such applications, you need put the external oscillator and write the proper fuse bits to enable it. After making the programmer, you would need some software to first compile the C code you write to a hex file and then to write this hex file onto the microcontroller. One good part about using AVR devices is that GCC has support for AVR. GCC is available for both Linux and Windows, so you won`t have problems of writing codes in different operating systems. You will need a Makefile to simplify the generation of the hex file to be burnt onto the microcontroller. Take it from here. The Makefile has been taken from and changed a bit for the bsd programmer and the ATmega16 microcontroller. While using it, put your source filename after PRJSRC (line 79). If you are using ATmega32, then you...

Leave Comment

characters left:

New Circuits