И все же. Было бы неплохо посмотреть на схемку подключения.
Исходя из текста программы, отслеживаются жесткие состояния на портах (да или нет).
Исходя из этого могу посоветовать, использовать компаратор. И, непосредственно ним, отслеживать диапазон состояния на датчике.
И уже с него получать логическую еденицу или ноль (описанную в вашей программе).
Ну, как то, так.