Hi,
is it EFI?
what does the exhaust gas look like?
Check your idle control valve (stepper motor at the rear of the plenum chaber). it should adjust automatically to get the idle speed to about 850 rpm and is controlled from the ecu. The ecu needs to have good inputs from the TPS, coolant temp and Fuel temp. The MAF also plays a part, check for vacuum leaks the MAF should read about 1.7volts at tickover, if there is a leak it will show here.
Check base idle is about 525 rpm ish, the stepper then should be free to open up and close to keep the revs constant, sometimes they get sticky and need a good clean out.
sometimes the temperature senders (or connectors) get poorly and need looked at. It might be that you have a bad coolant temp sender which is not working and when the car gets hot the ecu thinks it is still cold and you get too much fuel making it run slow and smokey.
check the other things other folk have said also , cos they all pretty much go together.
cheers,
Stephen