Como Steven disse, os PICs não têm números de série exclusivos incorporados no momento da fabricação. Vamos deixar claro que estamos falando de um número que varia entre dois chips do modelo idêntico.
A maioria dos PICs possui um ID de chip codificado neles. Isso pode ser lido por um programador PIC para determinar o tipo de PIC ao qual está conectado. Até onde eu sei, apenas os PICs principais de 12 bits não têm esse ID de chip. Todos os outros PIC podem ser identificados eletricamente, embora existam várias maneiras diferentes de colocá-los no modo de programação e depois ler o ID do chip. O software do programador PIC que pode identificar um PIC arbitrário não é trivial.
Se você realmente quis dizer o número de série, isso deve ser programado na peça após a produção. Fizemos isso muitas vezes. Durante o processo de teste de produção, quando o firmware é programado no PIC, você o configura para obter também um número de série exclusivo e também o programa. Uma maneira fácil é começar com um arquivo HEX mestre, produzido pelas ferramentas de firmware. Este contém um número de série em branco. Você escreve um pequeno programa que pega um novo número de série de acordo com sua estratégia, lê o arquivo HEX principal, substitui o novo número de série pelo branco e grava um arquivo HEX temporário. O arquivo HEX temporário é usado para programar a peça e, em seguida, excluído.
Para uma melhor robustez, você armazena o estado do número de série na EEPROM no gabarito de produção, não em um arquivo de disco. O sistema solicita ao gabarito um novo número, e esse gabarito foi projetado para nunca fornecer o mesmo número duas vezes. Quando o intervalo de número de série atribuído está esgotado, ele se recusa a trabalhar. Isso é especialmente útil se você tiver um fabricante remoto construindo unidades para você. Dessa forma, se eles atrapalharem algo no computador e restaurarem a partir do backup, ele também não redefinirá o intervalo do número de série. Sim, isso realmente aconteceu.
Se o número de série tiver que ser lido de fora, os locais de ID do usuário que a maioria das PICs possui pode ser o local apropriado para armazená-lo. Eles diferem da memória geral do programa ou da EEPROM, pois podem ser lidos mesmo quando o chip está protegido por código.
Se você programar seus PICs pelo Microchip ou por um distribuidor, geralmente poderá ser serializado de alguma forma. No entanto, a programação de fábrica é apenas para produtos maduros de alto volume. Se você acha que atualizará o firmware regularmente, não use a programação de fábrica. Os prazos de entrega são longos e você ficará preso às versões antigas do pipeline. Seu dispositivo terá que ser testado depois de ser construído de qualquer maneira, portanto, adicionar uma etapa para programar o PIC geralmente é um fardo extra muito pequeno.