Leitor didático de RFID

Srs especialistas. Sou orientador de um Trabalho de Conclusão de Curso e estamos tentando desenvolver um leitor didático de RFID utilizando um 16F628A com base no link http://memweb.newsguy.com/~rhuang/RFID/rfid.html
Não conseguimos fazer funcionar o código original, mas foi a base para gerar nosso código e avançar até aqui. Quase tudo funciona perfeitamente o PIC gera, por PWM, a freqüência de 125 KHz e alimenta o cartão HID, o qual responde com uma sequência de pulsos modulados em freqüência. Utilizando o módulo comparador analógico e o TMR0 medimos a largura desse pulsos, detectamos se é '0' ou '1' e armazenamos por endereçamento indireto 8 dígitos em cada byte da memória. Até aqui conseguimos chegar, fizemos uma rotina que envia pela serial o conteúdo da memória e exibe no PC a string. O problema é que não conseguimos decodificar e string e obter o código
escrito no cartão. Por exemplo: o cartão nº 45759 envia o código:
1111111111111100000011111111110000000000001111110000001111111111000000
0000001111111111100000000000011111111110000000000001111111000011111110
0000111110000001111100000011111100000111111000000111110000001111100000
0111111000001111110000001111100000011111000000011111111111000000000001
1111000000111110000001111111111100000000000011111111110000000000001111
1111111000001111110000001111100000000000011111111111000000000000111111
1111000000111110000000000001111110000001111111111000000111110000001111
1100000111111000000000000111110000000000000000000111111111111111000000
1111111111000000000000111111000000111111111100000000000011111111111000
00
Achamos que é Manchester ou Manchester Diferencial mas não conseguimos nenhuma relação com o número gravado no cartão. Gostaríamos de saber se alguém pode “clarear” alguma coisa e reforçamos que trata-se de um projeto didático, sem fins lucrativos.
Não conseguimos fazer funcionar o código original, mas foi a base para gerar nosso código e avançar até aqui. Quase tudo funciona perfeitamente o PIC gera, por PWM, a freqüência de 125 KHz e alimenta o cartão HID, o qual responde com uma sequência de pulsos modulados em freqüência. Utilizando o módulo comparador analógico e o TMR0 medimos a largura desse pulsos, detectamos se é '0' ou '1' e armazenamos por endereçamento indireto 8 dígitos em cada byte da memória. Até aqui conseguimos chegar, fizemos uma rotina que envia pela serial o conteúdo da memória e exibe no PC a string. O problema é que não conseguimos decodificar e string e obter o código
escrito no cartão. Por exemplo: o cartão nº 45759 envia o código:
1111111111111100000011111111110000000000001111110000001111111111000000
0000001111111111100000000000011111111110000000000001111111000011111110
0000111110000001111100000011111100000111111000000111110000001111100000
0111111000001111110000001111100000011111000000011111111111000000000001
1111000000111110000001111111111100000000000011111111110000000000001111
1111111000001111110000001111100000000000011111111111000000000000111111
1111000000111110000000000001111110000001111111111000000111110000001111
1100000111111000000000000111110000000000000000000111111111111111000000
1111111111000000000000111111000000111111111100000000000011111111111000
00
Achamos que é Manchester ou Manchester Diferencial mas não conseguimos nenhuma relação com o número gravado no cartão. Gostaríamos de saber se alguém pode “clarear” alguma coisa e reforçamos que trata-se de um projeto didático, sem fins lucrativos.