one wire protocol

Why are you mixing direct port manipulation and pinMode calls in the same code?

Why are there no comments indicating what you think the code is doing?

Whyaretheregisternamesoperatorsandoperandsjammedtogether? There is not excuse for deliberately producing unreadable code.