The code 12 is the only code that gives us a clue as to why your car may not be starting...It's likely the CPS wiring, not the CPS itself... try plugging and unplugging the connector a few times, and give it a few good wiggles before you try replacing it.
When cranking the engine, does the tach needle bounce slightly?