If you are using NXP Microcontrollers like LPC2xxx Series... there is a feature called ISP (in - System programming).. with this you can program without any external circuit..
you have to use UART0 and PO.14 pin to Program the Microcontroller... Pulling Down P0.14 pin on Boot-up makes the Microcontrollet to enter ISP Mode... u can use Flash Magic Software or Flash Utility to program via UART0
Refer LPC2XXX Manual for ISP programming...
and if you are using ATmel AT91SAM7sXXX series.. it has in-built SAMBA Bootloader ... with which u can program without any external circuit... i dont ave Much idea on this...
if you are yet to select your Microcontroller use NXP Microcontroller.. it will be simple to develop as a Newbie