UISP is a tool for AVR (and AT89S) microcontrollers which can interface to many hardware in-system programmers. UISP allows you to program your microcontroller through the parallel or serial port of your computer.