A simulator for AVR microcontrollers