I am using Atmel AT89C5131 64pins. From the Atmel website, I found these programs - Keil uVision and Flip 2.2.4. I would like to confirm whether it is true that I can use the Keil uVision 2 to generate the HEX file and then use the FLIP 2.2.4 to program the HEX file into the microcontroller or I can use the Keil uVision 2 to program into the microcontroller? I intend to use USB connection to program into the microcontroller. Is it true that I can program the HEX into the microcontroller directly through USB or I need special programmer? In the Keil uVision 2 program under AT89C5131 data base, I found this statement:- FLASH="batchisp" (-device $D -hardware RS232 -port COM1 -baudrate 19200 -operation MEMORY FLASH LOADBUFFER %H PROGRAM) I don't know what this statement means. Does it mean that I need to use BatchISP to program or I can use FLIP2.2.4. As far as I am concern, BatchISP uses serial com while I intend to use USB connection. Thank you very much for your response. I know this is a very long question. I appreciate all comments and thank you in advance for your help. Thanks.