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. You can use any
of the many wirings available.