You're code show a Manchester Encoding/Decoding routine... so it has to work. Maybe not a bad idea to have a bigger $AA preamble before sending your data.
Crystal are always welcome....
You could still waste quite of your time and try to fine tune the internal one with OSCTUNE register.
Bookmarks