Dial switch reading high

I have a 8pt dial switch connected to port B (pins 8-11). It is wired for binary coding... 0001, 0011,... 1000. The program is constantly reading 1111 or 15 and the pins will not go to 0 or LOW. I've since put in four 10k resistors to ground between the four leads and the pins. This should ground each pin when they are not given the 5v via one of the four leads. They are still all reading high (15 / 1111 ). What can be done?

BTW - the inputs 8 - 11 have been set to HIGH for the pullups.

Thanks :-/

Well you shouldn't have both the internal pull-ups enable and wired pull-down resistors. Can you draw how the switch is wired? Is the switch common wired to +5vdc ?

Lefty

I'll have an image up shortly (once i figure out how).

Yes, the common is connected to +5vdc.
Maybe I should drop the pullups from the code and stick with the wired pull-down resistors.

Maybe I should drop the pullups from the code and stick with the wired pull-down resistors.

Yes, that is what's needed if the switch common is connected to +5vdc.

Lefty