Вот другая картинка. Увеличил времена, чтобы было виднее как уровень сигнала опускается. Наблюдается некий переходный процесс, длящийся несколько миллисекунд. Схема то простая. Если пренебречь сопротивлением кнопки, парой резисторов на 1кОм, защитой от статики подключенной на землю, то получается совсем просто. Выход пика подключен к входу и подтянут к земле через 91кОм. Плюс pulldown на обоих ногах. Выход переключается из состояния (LAT=1, TRIS=0) в (LAT=1, TRIS=1), после чего уровень сначала совсем медленно и печально, после быстрее, за несколько мс опускается в ноль. Если бы была пропущена какая либо команда или ошибка из-за read-modify-write, не было бы ничего подобного на осциллограмме.
Если опускать уровень 1->0 не с помощью TRIS=1 и pulldown, а с помощью LAT=0, или сначала LAT=0 и после TRIS=1, то всё, как будь-то, работает исправно. Убедиться можно только проверкой временем. Но всё-же хотелось бы разобраться.