I use an STK500v2 programmer to program my Arduino Mega 2560 board, since I did a mistake and my atmega16u2(USB/serial) chip broke, so using the external programmer is the only way to program it, that works fine. My problem is that I really need to use the serial monitor to print then read the values from a MPU6050 gyro. I made the program, downloaded it, then open the serial monitor but nothing on the screen, before I broke the chip and use only the usb cabel and programmed the Arduino it works fine. I think the problem is that the STK500 uses the Mosi, Miso, SCK pins (connected by http://www.kanda.com/images/avr_isp_6way_header.jpg ISP6 header) to communicate with the atmega2560 chip, and not the RX0, TX0 line as the on board chip did. I don't know how to solve this, could you help me ?
If that doesn't fix the ATmega16u2 you will need some other way to connect the RX and TX pins of your Arduino to a USB serial port. You can buy a USB-to-TTL Serial cable (a.k.a. FTDI Cable) for about $20 or you can use another Arduino that has a working ATmega16u2 (UNO or MEGA) or FTDI chip (Diecimila or Duemilanove). To use a second Arduino as a USB-to-TTL Serial cable you remove the processor or jumper the Reset pin to the Ground pin. Then connect RX to RX and TX to TX. This will allow your MEGA to receive the serial communications going to the other Arduino's USB connector.