your description doesn't say what you really want, nor how your circuits look like or why you want to reinvent the wheel and set up a curious communication.
but I can ask you
while(rxPin==0){digitalWrite(1,1);}
what do you expect that this line should do?
rxPin was defined as pin 8 ... so it will never become 0.
digitalWrite(1 ... ... will influence the pins used for Serial communication. This makes no sense for me.
conventional asynchronous (without a clock) serial receivers use start/stop bit to guarantee and change in state indicating the start of transmission of a limited # of bits. the stop bit value (e.g. 1) is typically the opposite of the start bit.
the 2nd thing to consider is that when the start bit is recognizes, reading the first bit, the start bit, requires a delay of half a bit period to read the bit in its' center, but all subsequent bit read require a full bit period delay.
consider
the long BitPeriod allows me to test by toggling a button switch
Be sure to set your warning level to "All" in Preferences. That will get you a number of helpful warnings showing places where your code may not be doing what you want.
4:16: warning: initializer-string for array of chars is too long [-fpermissive]
char Byte[8] = "________";
^~~~~~~~~~
In function 'void ler()':
37:13: warning: invalid conversion from 'const char*' to 'int' [-fpermissive]
Bit = "1";
^~~
51:13: warning: invalid conversion from 'const char*' to 'int' [-fpermissive]
Bit = "0";
^~~