18 de mai. de 2016

Adicionando Microcontrolador PIC16F886 no Programador k150

Microcontrolador 16F886 e Programador  k150

  Mais uma dica deste programador K150.
Olá a todos.
 Já faz mais de um ano que eu adquiri um  programador de PIC K150, e me deu um maior trabalho para colocar a funcionar.
 Depois de ter resolvido o problema gravei vários PICS das famílias 12F,16Fe18F sem problemas,mas nunca tive que utilizar  PICS acima de 28 pinos.
 Já li em alguns fóruns que dependendo da serie se tem problemas para se utilizar PICS de 40 pinos, havendo a necessidade de se fazer alguns cortes nas trilhas, devido um curto no VPP1 com o VPP2 erro de  leiaute da placa impossibilitando de se fazer gravações no soquete ZIF.
Mas este assunto não será abordado aqui nesta pagina, é só uma informação que eu adquiri e estou repassando.
Retornando ao nosso assunto do microcontrolador 16F886 e o programador K150, eu senti em meus projetos a nesecidade de migrar para ele.
 Eu usava o antigo 16F876A e eu precisei de mais uns PORTS a mais  e um CLOCK  interno, e isto o antigo microcontrolador não tem, e para a minha surpresa não encontrei o 16F886 na listagem do software Microbrn V150807 que é a versão que uso no momento.
Pesquisando em alguns fóruns encontrei em um Blog Japonês uma dica, usando é claro o tradutor do Google.
Lá estava postado toda a configuração para o PIC 16F 883,886 e 887, copiei todo o conteúdo e adicionei no meu chipdada.cid  mas não adiantou de nada ficou foi pior , porque dai o software nem abria mais aparecendo vários erros em hexadecimal.
Então para descobrir as linhas com erros e tentar consertar, eu instalei o Notepad++ v6.22 com ele as linhas ficam numeradas no lado esquerdo da tela facilitando a localização mais rápida do erro.
Abaixo esta a configuração original do 16F 883,886 e 887 que copiei de um Blog Japonês , mas esta configuração foi escrita para uma outra versão de software que eu acredito que seja a v141204 .
Eu andei dando uma olhada nos arquivos dele, e tem o CHIPINFO.cid  é praticamente  igual ao que esta escrito abaixo.

CHIPname=16F883
INCLUDE=Y
SocketImage=28Npin
EraseMode=2
FlashChip=Y
PowerSequence=VccVpp1
ProgramDelay=40
ProgramTries=1
OverProgram=1
CoreType=bit14_B
ROMsize=001000
EEPROMsize=00000100
FUSEblank=3FFF
CPwarn=N
CALword=N
BandGap=N
ICSPonly=N
ChipID=2020
LIST1 FUSE1 "WDTimer" "Enabled"=3FFF "Disabled"=3FF7
LIST2 FUSE1 "PowerUpTimer" "Disabled"=3FFF "Enabled"=3FEF
LIST3 FUSE1 "Brownout Detect" "Enabled"=3FFF "BORXSLP"=3EFF "SWBOREN"=3DFF "Disabled"=3CFF
LIST4 FUSE1 "Low V Program" "Enabled"=3FFF "Disabled"=2FFF
LIST5 FUSE1 "MCLR pin" "Enabled"=3FFF "Disabled"=3FDF
LIST6 FUSE1 "CPD" "Disabled"=3FFF "Enabled"=3F7F
LIST7 FUSE1 "ICD2 DEBUG" "Disabled"=3FFF "Enabled"=1FFF
LIST8 FUSE1 "Osc Mode" "EXTCLK"=3FFF "EXTIO"=3FFE "INTCLK"=3FFD "INTIO"=3FFC "EC"=3FFB "HS"=3FFA "XT"=3FF9 "LP"=3FF8
LIST9 FUSE1 "Code Protect" "Disabled"=3FFF "Enabled"=3FBF
LIST10 FUSE1 "Clock Failsafe" "Disabled"=37FF "Enabled"=3FFF
LIST11 FUSE1 "Clock Switchover" "Disabled"=3BFF "Enabled"=3FFF

CHIPname=16F886
INCLUDE=Y
SocketImage=28Npin
EraseMode=2
FlashChip=Y
PowerSequence=VccVpp1
ProgramDelay=40
ProgramTries=1
OverProgram=1
CoreType=bit14_B
ROMsize=002000
EEPROMsize=00000100
FUSEblank=3FFF
CPwarn=N
CALword=N
BandGap=N
ICSPonly=N
ChipID=2060
LIST1 FUSE1 "WDTimer" "Enabled"=3FFF "Disabled"=3FF7
LIST2 FUSE1 "PowerUpTimer" "Disabled"=3FFF "Enabled"=3FEF
LIST3 FUSE1 "Brownout Detect" "Enabled"=3FFF "BORXSLP"=3EFF "SWBOREN"=3DFF "Disabled"=3CFF
LIST4 FUSE1 "Low V Program" "Enabled"=3FFF "Disabled"=2FFF
LIST5 FUSE1 "MCLR pin" "Enabled"=3FFF "Disabled"=3FDF
LIST6 FUSE1 "CPD" "Disabled"=3FFF "Enabled"=3F7F
LIST7 FUSE1 "ICD2 DEBUG" "Disabled"=3FFF "Enabled"=1FFF
LIST8 FUSE1 "Osc Mode" "EXTCLK"=3FFF "EXTIO"=3FFE "INTCLK"=3FFD "INTIO"=3FFC "EC"=3FFB "HS"=3FFA "XT"=3FF9 "LP"=3FF8
LIST9 FUSE1 "Code Protect" "Disabled"=3FFF "Enabled"=3FBF
LIST10 FUSE1 "Clock Failsafe" "Disabled"=37FF "Enabled"=3FFF
LIST11 FUSE1 "Clock Switchover" "Disabled"=3BFF "Enabled"=3FFF

CHIPname=16F887
INCLUDE=Y
SocketImage=40pin
EraseMode=2
FlashChip=Y
PowerSequence=VccVpp1
ProgramDelay=40
ProgramTries=1
OverProgram=1
CoreType=bit14_B
ROMsize=002000
EEPROMsize=00000100
FUSEblank=3FFF
CPwarn=N
CALword=N
BandGap=N
ICSPonly=N
ChipID=2080
LIST1 FUSE1 "WDTimer" "Enabled"=3FFF "Disabled"=3FF7
LIST2 FUSE1 "PowerUpTimer" "Disabled"=3FFF "Enabled"=3FEF
LIST3 FUSE1 "Brownout Detect" "Enabled"=3FFF "BORXSLP"=3EFF "SWBOREN"=3DFF "Disabled"=3CFF
LIST4 FUSE1 "Low V Program" "Enabled"=3FFF "Disabled"=2FFF
LIST5 FUSE1 "MCLR pin" "Disabled"=3FDF "Enabled"=3FFF
LIST6 FUSE1 "CPD" "Disabled"=3FFF "Enabled"=3F7F
LIST7 FUSE1 "ICD2 DEBUG" "Disabled"=3FFF "Enabled"=1FFF
LIST8 FUSE1 "Osc Mode" "INTIO"=3FFC "INTCLK"=3FFD "EXTIO"=3FFE "EXTCLK"=3FFF "EC"=3FFB "HS"=3FFA "XT"=3FF9 "LP"=3FF8
LIST9 FUSE1 "Code Protect" "Disabled"=3FFF "Enabled"=3FBF
LIST10 FUSE1 "Clock Failsafe" "Disabled"=37FF "Enabled"=3FFF
LIST11 FUSE1 "Clock Switchover" "Disabled"=3BFF "Enabled"=3FFF


Aqui eu vou explicar como eu resolvi o problema , e conseguindo assim fazer funcionar a configuração acima na versão do meu software que é a V150807,que são três pontos na verdade a serem modificados.
Na figura abaixo estão os três pontos assinalados .

 
 Eu percebi que na minha versão todos os PICS 12F,16F e 18F estes três pontos eram iguais, e diferentes destes acima assinalados.
O que eu fiz foi só copiar os pontos da minha versão e colar, modificando assim a configuração do 16F886 que encontrei no Blog Japonês , e repeti a mesma no 16F 883 e 887 .  
Abaixo esta uma figura de como ficou.




 Depois que modifiquei estes três pontos, ai  aparecerão  na lista de seleção, e já gravei vários PICS 16F886 sem nenhum problema .
 Abaixo esta uma figura de como ficou.



 Eu acredito que para o PIC 16F883 vai funcionar sem problemas, mas para o 16F887 como já comentei acima, talvez não funcione em todas as placas de programador K150.
Abaixo vou postar as configurações para o PIC 16F 883,886 e 887 já modificada para a versão do Microbrn  v150807 .

CHIPname=16F883
INCLUDE=Y
KITSRUS.COM=28Npin
EraseMode=2
FlashChip=Y
PowerSequence=VccVpp1
ProgramDelay=40
ProgramFlag2=1
PanelSizing=0
CoreType=bit14_B
ROMsize=001000
EEPROMsize=00000100
FUSEblank=3FFF
CPwarn=N
CALword=N
BandGap=N
ICSPonly=N
ChipID=2020
LIST1 FUSE1 "WDT" "Enabled"=3FFF "Disabled"=3FF7
LIST2 FUSE1 "PWRTE" "Disabled"=3FFF "Enabled"=3FEF
LIST3 FUSE1 "Brownout Detect" "Enabled"=3FFF "BORXSLP"=3EFF "SWBOREN"=3DFF "Disabled"=3CFF
LIST4 FUSE1 "LVP" "Enabled"=3FFF "Disabled"=2FFF
LIST5 FUSE1 "MCLR pin" "Enabled"=3FFF "Disabled"=3FDF
LIST6 FUSE1 "CPD" "Disabled"=3FFF "Enabled"=3F7F
LIST7 FUSE1 "ICD2 DEBUG" "Disabled"=3FFF "Enabled"=1FFF
LIST8 FUSE1 "Oscillator" "EXTCLK"=3FFF "EXTIO"=3FFE "INTCLK"=3FFD "INTIO"=3FFC "EC"=3FFB "HS"=3FFA "XT"=3FF9 "LP"=3FF8
LIST9 FUSE1 "Code Protect" "Disabled"=3FFF "Enabled"=3FBF
LIST10 FUSE1 "Clock Failsafe" "Disabled"=37FF "Enabled"=3FFF
LIST11 FUSE1 "Clock Switchover" "Disabled"=3BFF "Enabled"=3FFF

CHIPname=16F886
INCLUDE=Y
KITSRUS.COM=28Npin
EraseMode=2
FlashChip=Y
PowerSequence=VccVpp1
ProgramDelay=40
ProgramFlag2=1
PanelSizing=0
CoreType=bit14_B
ROMsize=002000
EEPROMsize=00000100
FUSEblank=3FFF
CPwarn=N
CALword=N
BandGap=N
ICSPonly=N
ChipID=2060
LIST1 FUSE1 "WDTimer" "Enabled"=3FFF "Disabled"=3FF7
LIST2 FUSE1 "PowerUpTimer" "Disabled"=3FFF "Enabled"=3FEF
LIST3 FUSE1 "Brownout Detect" "Enabled"=3FFF "BORXSLP"=3EFF "SWBOREN"=3DFF "Disabled"=3CFF
LIST4 FUSE1 "Low V Program" "Enabled"=3FFF "Disabled"=2FFF
LIST5 FUSE1 "MCLR pin" "Enabled"=3FFF "Disabled"=3FDF
LIST6 FUSE1 "CPD" "Disabled"=3FFF "Enabled"=3F7F
LIST7 FUSE1 "ICD2 DEBUG" "Disabled"=3FFF "Enabled"=1FFF
LIST8 FUSE1 "Osc Mode" "EXTRC"=3FFF "EXTRCIO"=3FFE "INTCLKIO"=3FFD "INTCLK"=3FFC "EC"=3FFB "HS"=3FFA "XT"=3FF9 "LP"=3FF8
LIST9 FUSE1 "Code Protect" "Disabled"=3FFF "Enabled"=3FBF
LIST10 FUSE1 "Clock Failsafe" "Disabled"=37FF "Enabled"=3FFF
LIST11 FUSE1 "Clock Switchover" "Disabled"=3BFF "Enabled"=3FFF

CHIPname=16F887
INCLUDE=Y
KITSRUS.COM=40pin
EraseMode=2
FlashChip=Y
PowerSequence=VccVpp1
ProgramDelay=40
ProgramFlag2=1
PanelSizing=0
CoreType=bit14_B
ROMsize=002000
EEPROMsize=00000100
FUSEblank=3FFF
CPwarn=N
CALword=N
BandGap=N
ICSPonly=N
ChipID=2080
LIST1 FUSE1 "WDT" "Enabled"=3FFF "Disabled"=3FF7
LIST2 FUSE1 "PWRTE" "Disabled"=3FFF "Enabled"=3FEF
LIST3 FUSE1 "Brownout Detect" "Enabled"=3FFF "BORXSLP"=3EFF "SWBOREN"=3DFF "Disabled"=3CFF
LIST4 FUSE1 "LVP" "Enabled"=3FFF "Disabled"=2FFF
LIST5 FUSE1 "MCLRE pin" "Disabled"=3FDF "Enabled"=3FFF
LIST6 FUSE1 "CPD" "Disabled"=3FFF "Enabled"=3F7F
LIST7 FUSE1 "ICD2 DEBUG" "Disabled"=3FFF "Enabled"=1FFF
LIST8 FUSE1 "Oscillator" "INTIO"=3FFC "INTCLK"=3FFD "EXTIO"=3FFE "EXTCLK"=3FFF "EC"=3FFB "HS"=3FFA "XT"=3FF9 "LP"=3FF8
LIST9 FUSE1 "Code Protect" "Disabled"=3FFF "Enabled"=3FBF
LIST10 FUSE1 "Clock Failsafe" "Disabled"=37FF "Enabled"=3FFF
LIST11 FUSE1 "Clock Switchover" "Disabled"=3BFF "Enabled"=3FFF



 Abaixo eu coloquei uma figura com o arquivo CHIPDATA.CID assinalado , que no meu PC esta na pasta K150_programmer_GUI, é so abrir com o bloco de notas e adicionar as configurações acima para a versão v150807 que ira funcionar .





  






 Bom eu acho que esta bem explicado, mas se tiverem alguma duvida posta ai os comentarios, se eu puder ajudar estamos ai, se não pior eu acho que não vai ficar.

8 comentários:

  1. Boa noite tentei modificar aqui mas quando vou salvar não salva.

    ResponderExcluir
  2. Muito obrigado pela excelente explicação e por compartilhar a solução encontrada! Assim como vc, deparei também com esse problema quando senti a necessidade usar o pic16f886 em um projeto, fui consultar o gravador K150 com software de mesma versão que a sua (é o que uso como gravador de Pics) e lá faltava o 16f886!! Fiquei desapontado! Comecei então a correr atrás de alguma solução e deparei com sua dica!! Fiz os passos como orientado e o programa passou a listar os mesmos!!!! Só ainda não realizei a gravação por ainda não ter chegado os cis que comprei, mas estou confiante que dará certo!!!! Parabéns!!! E mais uma vez OBRIGADO!!

    ResponderExcluir
  3. MUCHAS GRACIAS, PROBARÉ CON EL PIC 16F887, COMENTARÉ APENAS LOGRE PROBARLO

    ResponderExcluir
  4. Muchas Gracias por la solución, ya he podico programar el PIC16F887 con el programador K150 con el arreglo mencionado en el archivo chipdata.cid
    Saludos desde México, Raúl Quintero

    Thank you for this solution, I have been able to program a PIC16F887 with the K150 programmer with the mentioned fix on the file chipdata.cid
    Greetings from Mexico, Raul Quintero

    ResponderExcluir
  5. boa tarde brigado pela orientaçâo valeu

    ResponderExcluir
  6. Muchas gracias. Nececitaba programar el 16F886. Saludos desde Cuba

    ResponderExcluir
  7. Obrigado pelas informações acima. fiz o procedimento e consegui gravar o Pic16f886.

    ResponderExcluir