Últimos assuntos
Quem está conectado?
Há 3 usuários online :: 0 registrados, 0 invisíveis e 3 visitantes Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 73 em Qui 1 Fev 2024 - 6:28
Procurar
Tutorial Microchip micro-controlador PIC - PIC16F84A
Fórum de Electrónica - projectos, cursos, tutoriais, compra e venda, etc. em electrónica :: Electrónica :: Cursos e tutoriais de electrónica :: Curso de electrónica por José Flor - OzFlor
Página 1 de 1
Tutorial Microchip micro-controlador PIC - PIC16F84A
Em construção...
Tenham muita paciência com esta matéria, pois ela vai demorar a sair. A vida está muito ocupada, mas aos pouquinhos coloco aqui matéria útil com fiz com o curso de electrónica básica que me demorou mais de um ano a terminar.
Matéria sobre Microchip MPLAM IDE - PIC16F84A
Tutorial micro-controlador PIC - Microchip PIC16F84A
Imagem 1 - Pinagem do PIC16F84A
Imagem 2 - Esquema pisca LED com PIC16F84A
A imagem 3 mostra a minha bancada de teste desta montagem.
Imagem 3 - Bancada de teste
Nota: Podem ver na imagem que o sinal está muito ruidoso. A razão disso é da bancada de teste como podem ver na imagem 3 em cima.
Se fosse dar uma lição desta matéria, neste momento iria pedir ao aluno que escrevesse o código, compilasse o mesmo e fizesse a montagem. O aluno iria dizer que o LED não piscava. Mas você está lendo isto tudo directo e só depois ira passar à prática. Ou talvez seja daqueles que está mais interessado no código e depois desastre, não funciona e perde uma data de horas sem resolver o problema e depois critica que escreveu o código.
De facto se você montar este projecto você mesmo vai dizer que o LED não pisca. Ora nossa, tanto trabalho para nada. Mas dê uma olhada na imagem ao lado. Ela mostra que o LED pisca. Você é que não vê ele piscar porque a velocidade é tão grande que o cérebro não interpreta isso como piscando.
Não desanime, pelo menos por agora. mais para a frente vai fazer o LED a piscar e a ver. E melhor ainda, você mesmo vai piscar ele da forma que quiser.
Porque é que o LED pisca tão rápido?
Bom, o ciclo da montagem é de 1MHZ ou seja no PIC a funcionar com o cristal de 4MHz, o ciclo vai ser de 1MHz. Dividiu por 4. Esta é uma arquitectura do PIC para funcionar dessa forma.
Se olhar na rotina repete vai ver que tem duas linhas. Uma com bsf Bit Set File a outra com bcf Bit Clear File. O bsf Acendo o LED o o bcf apaga o LED. Agora vejamos os tempos. O ciclo máquina é de 1MHz, logo o período é de 1/f ou seja 1/1MHz = 1us (micro-segundo). Então quando a instrução bsf portb,7 é executada, ela demora 1us. Este é o tempo que o LED fica ligado. Logo após vem a instrução bcf portb,7. Esta demora 1us. Como de seguida temos um goto repete, esta instrução demora 2 ciclos. Até que esta instrução seja terminada de executar o nosso LED está desligado. Assim o LED manteve-se 3 ciclos desligados. Essa rotina repete vai se repetir indefinidamente até que a corrente pare no circuito.
POR AGORA É TUDO. CONTINUA...
2a
2b
3
Versão 3 Pisca LED final - Filme do sinal de onda
Tenham muita paciência com esta matéria, pois ela vai demorar a sair. A vida está muito ocupada, mas aos pouquinhos coloco aqui matéria útil com fiz com o curso de electrónica básica que me demorou mais de um ano a terminar.
Matéria sobre Microchip MPLAM IDE - PIC16F84A
Tutorial micro-controlador PIC - Microchip PIC16F84A
Imagem 1 - Pinagem do PIC16F84A
Esta matéria é sobre a programação do PIC16F84A com alguns simples programas. Com alguma modificação você pode fazer mais coisas. Se você não estiver muito familiarizado com o MPLAB IDE aconselho a praticar um pouco com o mesmo pois é com esse software que você vai editar e compilar o código assembler para gravar no PIC16F84A. Como não erei falar sobre o MPLAB IDE, deico aqui um link a essa matéria que um colega meu escrevei com muita qualidade. O link é este Microchip MPLAB IDE - PIC16F84A. Em uma futura oportunidade poderei aqui colocar uma matéria sobre o MPLAB IDE. Também fica de á sua inteira disponibilidade o gravador do PIC16F84A e do software que vai usar. Se alguém quiser pode indicar aqui programadores e software. Eu possuo um programador com bancada de teste para venda. No link em questão sobre a venda tem mais informações.
Neste momento eu estou a usar o MPLAB IDE versão 8.3 disponível no site da Microchip. Clique aqui para ir directo ao site da Microchip. Já agora, aproveite e baixe também o datasheet do PIC16F84A assim como do manual de utilização do MPLAB IDE.
O primeiro programa que vamos aqui fazer vai ser de um pisca LED. Olhando o desenho da pinagem do PIC16F84A ai em cima, pode ver que o 13 é o RB7, dai eu escolhi esse pino para piscar o LED pela simples questão do mesmo ficar próximo do pino 14 VDD oposto ao pino 5 VSS. Também vamos ligar o cristal ao pino 15 e 16 e o pino 4 vai ao VCC. Tudo ligado no meio do chip e tudo por uma questão de "estética". Isto é uma mera informação só por curiosidade. Sempre tem gente que faz este tipo de perguntas. Eu sou um deles.
Este é o esquema da montagem em questão. Acabei de fazer ele á pressa, mas fica assim pelo menos por agora que é o mais importante. Se alguém quiser contribuir pode mesmo fazer ele no PC e enviar-me.
A montagem que usei é essa mesmo do esquema. Os condensadores podem ser de valores entre 15pF e 30pF. Para uso de um LED normal vermelho de 20mA e 2V que foi o que eu usei, a resistência pode ser de 150 ohms. Usei a de 470 ohms para prolongar a vida do LED já que uso sempre os mesmos LEDs nas minha práticas laboratoriais.
Um detalhe importante que eu não usei. O pino 4 do PIC16F84A deve ser ligado da seguinte forma para manter uma boa funcionalidade do projecto. Ligar uma resistência de 10K ohms ao VCC e um condensador de 100nF ao GND
Neste momento eu estou a usar o MPLAB IDE versão 8.3 disponível no site da Microchip. Clique aqui para ir directo ao site da Microchip. Já agora, aproveite e baixe também o datasheet do PIC16F84A assim como do manual de utilização do MPLAB IDE.
O primeiro programa que vamos aqui fazer vai ser de um pisca LED. Olhando o desenho da pinagem do PIC16F84A ai em cima, pode ver que o 13 é o RB7, dai eu escolhi esse pino para piscar o LED pela simples questão do mesmo ficar próximo do pino 14 VDD oposto ao pino 5 VSS. Também vamos ligar o cristal ao pino 15 e 16 e o pino 4 vai ao VCC. Tudo ligado no meio do chip e tudo por uma questão de "estética". Isto é uma mera informação só por curiosidade. Sempre tem gente que faz este tipo de perguntas. Eu sou um deles.
Este é o esquema da montagem em questão. Acabei de fazer ele á pressa, mas fica assim pelo menos por agora que é o mais importante. Se alguém quiser contribuir pode mesmo fazer ele no PC e enviar-me.
A montagem que usei é essa mesmo do esquema. Os condensadores podem ser de valores entre 15pF e 30pF. Para uso de um LED normal vermelho de 20mA e 2V que foi o que eu usei, a resistência pode ser de 150 ohms. Usei a de 470 ohms para prolongar a vida do LED já que uso sempre os mesmos LEDs nas minha práticas laboratoriais.
Um detalhe importante que eu não usei. O pino 4 do PIC16F84A deve ser ligado da seguinte forma para manter uma boa funcionalidade do projecto. Ligar uma resistência de 10K ohms ao VCC e um condensador de 100nF ao GND
Imagem 2 - Esquema pisca LED com PIC16F84A
A imagem 3 mostra a minha bancada de teste desta montagem.
Imagem 3 - Bancada de teste
Para aqueles que quiserem um código HEX do pisca LED é só baixar este simulador no Proteus ARES. Falando por alto, esse pisca é de 100ms ligado e 500ms desligado.
File - Aulas PIC16F84A.DSN
Use esse simulador para as várias versões do pisca LED que aqui vou falar. O Filme em seguida, mostra a sinal do pino RB7. Note que com uma frequência tão baixa, o osciloscópio não retém a imagem parada por muito tempo de forma a mostrar todo o sinal completo.
Pisca LED Ver 1.0
Em baixo deixo o código assembler da primeira versão do Pisca LED. Em vez de copiar e colar o teste, eu aconselho quem for novo nesta coisa de assembler a escrever todo o código. É um treinamento muito bom que está tomando se quiser dominar a programação com alguma ou muita garra.
File - Aulas PIC16F84A.DSN
Use esse simulador para as várias versões do pisca LED que aqui vou falar. O Filme em seguida, mostra a sinal do pino RB7. Note que com uma frequência tão baixa, o osciloscópio não retém a imagem parada por muito tempo de forma a mostrar todo o sinal completo.
Pisca LED Ver 1.0
Em baixo deixo o código assembler da primeira versão do Pisca LED. Em vez de copiar e colar o teste, eu aconselho quem for novo nesta coisa de assembler a escrever todo o código. É um treinamento muito bom que está tomando se quiser dominar a programação com alguma ou muita garra.
| Esta é a imagem do sinal no pino RB7 visto no osciloscópio 1Volt/DIV & 1us Time/DIV 250KHz |
Se fosse dar uma lição desta matéria, neste momento iria pedir ao aluno que escrevesse o código, compilasse o mesmo e fizesse a montagem. O aluno iria dizer que o LED não piscava. Mas você está lendo isto tudo directo e só depois ira passar à prática. Ou talvez seja daqueles que está mais interessado no código e depois desastre, não funciona e perde uma data de horas sem resolver o problema e depois critica que escreveu o código.
De facto se você montar este projecto você mesmo vai dizer que o LED não pisca. Ora nossa, tanto trabalho para nada. Mas dê uma olhada na imagem ao lado. Ela mostra que o LED pisca. Você é que não vê ele piscar porque a velocidade é tão grande que o cérebro não interpreta isso como piscando.
Não desanime, pelo menos por agora. mais para a frente vai fazer o LED a piscar e a ver. E melhor ainda, você mesmo vai piscar ele da forma que quiser.
Porque é que o LED pisca tão rápido?
Bom, o ciclo da montagem é de 1MHZ ou seja no PIC a funcionar com o cristal de 4MHz, o ciclo vai ser de 1MHz. Dividiu por 4. Esta é uma arquitectura do PIC para funcionar dessa forma.
Se olhar na rotina repete vai ver que tem duas linhas. Uma com bsf Bit Set File a outra com bcf Bit Clear File. O bsf Acendo o LED o o bcf apaga o LED. Agora vejamos os tempos. O ciclo máquina é de 1MHz, logo o período é de 1/f ou seja 1/1MHz = 1us (micro-segundo). Então quando a instrução bsf portb,7 é executada, ela demora 1us. Este é o tempo que o LED fica ligado. Logo após vem a instrução bcf portb,7. Esta demora 1us. Como de seguida temos um goto repete, esta instrução demora 2 ciclos. Até que esta instrução seja terminada de executar o nosso LED está desligado. Assim o LED manteve-se 3 ciclos desligados. Essa rotina repete vai se repetir indefinidamente até que a corrente pare no circuito.
POR AGORA É TUDO. CONTINUA...
2a
2b
3
Versão 3 Pisca LED final - Filme do sinal de onda
Tópicos semelhantes
» Microchip MPLAB IDE - PIC16F84A
» AVR - Micro tutorial
» Controlador NES into Mp4
» Controlador carga e descarga energia solar
» Micro Trasmissor de Tv, Faça o Seu
» AVR - Micro tutorial
» Controlador NES into Mp4
» Controlador carga e descarga energia solar
» Micro Trasmissor de Tv, Faça o Seu
Fórum de Electrónica - projectos, cursos, tutoriais, compra e venda, etc. em electrónica :: Electrónica :: Cursos e tutoriais de electrónica :: Curso de electrónica por José Flor - OzFlor
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|
Seg 27 Abr 2015 - 13:24 por Jose Manuel Borges
» Microchip MPLAB IDE - PIC16F84A
Sex 8 Ago 2014 - 19:29 por Electromonkeys
» Ajuda sobre curso de electronica
Seg 4 Ago 2014 - 13:57 por Nunes Pereira
» Procuro: Programdores em C, elaborar circuitos electrónicos. Trabalho remunerado
Qua 11 Jun 2014 - 14:07 por ricardo costa1986
» PORTA NOT
Dom 2 Mar 2014 - 13:40 por yoda
» Ajuda com Monitor Philips190tws
Qui 28 Nov 2013 - 1:28 por kagareu
» Estação de Retrabalho não derrete a solda
Sáb 12 Out 2013 - 17:10 por itacipri
» Plataforma para cálculo de tempo de voo
Sáb 27 Jul 2013 - 4:06 por diogofsousa92
» Prestação serviços projeto eletronica""
Sex 26 Jul 2013 - 15:24 por Mega_Migas
» l7812cv
Seg 15 Jul 2013 - 13:06 por boleiro