You don't really mix speeds. The bios will read the sticks and set itself to the slowest speed so all will be compatible.
As for mixing sticks, yes you can. If you leave the 2 512's where they are and add the 1 gig you may get lucky and the 2x512 will run dual channel, the new stick will run single channel. If you aren't lucky the three sticks will all run single channel. It depends on you bios. Read the manual, if you lost it you can download a copy from your manufacturer.
My new laptop is running a 512 and a 1 gig and the 512 that over laps is running dual channel. The newer the computer the better it will handle dual channel.
If you run different speed or different timings some bioses may have problems getting the settings right. You should put the slowest stick in the "0" slot to get around this.
If your computer is high performance check your manufacturer website for ram compatibility. Some motherboards are finicky about some ram brands.