Берешь, и пишешь что то-типа
while(!bioskey(0))
{
int i,value;
for(i=0;i<value;i++)
outport(0x278,0xFF);
for(i=value;i<256;i++);
outport(0x278,0x00);
};
Это тебе дает простенькую программу, созающую ШИМ на LPT - порте. Частота... ммм... ну, как получится
/
Разводку порта смотри в доке типа thelp.
В качестве ключей рекомендую использовать транзисторы KT850A - очень хороший составной транзистор, при подаче на базу ТТЛ уровней может коммутировать до 2А x 30В практически без обвязки (хотя я бы добавил резистор ом на 100 в цепь базы чтобы порт 'в случае чего' не попалить). Если надо управлять чем-то более мощным - на эти транзисторы вешаешь реле и управляешь.