Fórum de Electrónica - projectos, cursos, tutoriais, compra e venda, etc. em electrónica
Este fórum migrou para aqui. Se quiser visitar o novo fórum, deverá clicar nesta frase.

Para serviços neste fórum use os botões em baixo.
Últimos assuntos
» Ajuda para mesa de mistura BEHRINGER Eurorack 2442Fx-Pro
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
Sab 12 Out 2013 - 17:10 por itacipri

» Plataforma para cálculo de tempo de voo
Sab 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

Quem está conectado
2 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 2 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 66 em Qui 6 Jan 2011 - 0:00
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada


Tutorial Microchip micro-controlador PIC - PIC16F84A

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Tutorial Microchip micro-controlador PIC - PIC16F84A

Mensagem  joseflor em Qua 27 Maio 2009 - 11:45

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

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


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.

Código:
list   p=pic16f84a
   radix   dec
   include   
   __config _xt_osc & _cp_off & _wdt_off & _pwrte_on
   
   clrf   portb
   bsf      status,rp0
   clrf   trisb
   bcf      status,rp0
   
repete
   bsf      portb,7
   bcf      portb,7
   goto   repete
   
   end
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
avatar
joseflor
Nível 3
Nível 3

Mensagens : 273
Pontos : 3513
Reputação : 7
Data de inscrição : 08/11/2008
Idade : 53
Localização : Mangerton, NSW, Austrália

Ver perfil do usuário http://www.ozflor.com/eletrokit/

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum