Цитата(Ailer @ Jul 28 2010, 06:29)

Для проверки наличия напряжения на пинах пользуюсь конструкцией типа: if(PINA.0==1).
Обычно, кнопки подключаются одним выводом к ноге МК, другим - на землю. При этом включают внутренний Pull-up на ногу, к которой подключена кнопка. При таком подключении, естественно, проверка нажатия кнопки выглятит типа if(PINA.0 == 0). А у Вас?
P.S. 1) Обычно, ещё и с дребезгом контактов борются... Возможно, в Вашей задаче это - излишне. 2) "Прореживать" увеличение/уменьшение значения переменной pwm с помощью задержки - как-то некрасиво: я бы "привязал" сюда таймер.