Ну, посмотри. Ты заказываеш компилятору разные действия:
-----------------------
char key (char kn){
if ((PINB,kn) == 0) // PINB, char(kn) это одно дело.
------------------------
if(PINB,MINUS==0) // PINB, bit(MINUS) -это другое дело.
----------------
Видимо, надо переписать типа так:
char key (bit kn){