Sie sind auf Seite 1von 3

Aprendendo a usar Microcontroladores PIC

Como o Microcontrolador funciona


Para explicar o funcionamento do Microcontrolador, usarei como modelo o PIC16f628A, pois ser esse o Microcontrolador que irei trabalhar inicialmente.

A imagem acima retrata o Microcontrolador 16f628A, com um chip de 18 pinos. As setas junto a cada pino mostram como esses pinos podem trabalhar, por exemplo, neste Microcontrolador, apenas os pinos 4, 5 e 14 (na realidade tenho dvidas sobre o pino 5, mas at que me ensinem o contrrio, ele apenas entrada de sinal) so apenas entradas de sinal. Todos os outros podem trabalhar como entradas ou sadas. Agora no entrarei em detalhes sobre a funo ou como configurar cada pino para entrada ou sada pois, isso ser revelado aos poucos com o aprendizado, mas falarei dos grupos de pinos existentes. Notem que os pinos 5 e 14 so apenas entrada de sinal, pois eles so responsveis pela alimentao de tenso ao Microcontrolador. Em geral 5 Volts VDD o Positivo e, VSS ou GND, como quiser chamar, o Negativo. Os outros pinos so separados por grupos denominados Port A (Porta) e Port B (Portb). Cada Port possui 8 pinos ligados a eles que so identificados como: Porta - Ra0, Ra1, Ra2, Ra3, Ra4, Ra5, Ra6, Ra7. Portb - Rb0, Rb1, Rb2, Rb3, Rb4, Rb5, Rb6, Rb7. Cada Port, na realidade, um byte (8bits) de memria, onde cada bit deste byte se refere a um pino. Por padro, quando o bit est em nvel alto, ou seja, h tenso em cima do mesmo, ele representado em binrio pelo nmero 1. Caso o nvel esteja baixo, ou seja, no h tenso sobre o mesmo, ele representado em binrio pelo nmero 0. 1

Ex: Portb Rb0, Rb1, Rb2, Rb3, Rb4, Rb5, Rb6, Rb7,
1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1

Todos os pinos do Porb com nvel alto. Todos os pinos do Porb com nvel baixo. Apenas os pinos Rb1, Rb3, Rb5 e Rb7 do

Portb com nvel alto. A mesma situao ocorre para a Porta. Assim, podemos concluir que o que queremos quando programamos o Microcontrolador, ter controle sobre suas portas; por exemplo, note o desenho abaixo.

Segue a descrio do circuito: B1 Quando apertado, pe Ra2 em nvel alto (1). B2 Quando apertado, pe RA4 em nvel baixo (0), fazendo com que o processador entre em Reses (Reinicia). Vss Negativo - para funcionamento do Microcontrolador. Vdd Positivo - para funcionamento do Microcontrolador (5v). R1 e R3 Resistor de controle de corrente. R2 Resistor Pull-UP - (mantm RA4 em nvel alto enquanto B2 no apertado e impede que haja curto quando B2 for apertado). R4 Resistor Pull Down - (mantm RA2 em nvel baixo at que seja apertado o boto B1 e impede que haja curto quando B1 apertado). L1 Led que acender quando Rb5 for para nvel alto.

Talvez voc se pergunte, afinal eu tambm me perguntei: para que usar um Microcontrolador para acender um Led se eu posso liga-lo direto no boto? Acontece que utilizando o Microcontrolador eu posso, alm de ligar o Led, controlar o motivo para ligar, o tempo que leva para ligar, o tempo que vai levar para desligar, ou posso simplesmente faz-lo piscar de forma intermitente e etc... Como ento programar para que o Microcontrolador faa o que eu quero? Como eu disse: iremos controlar, na realidade os seus pinos, e mais ou menos assim: Se eu quero que o Led acenda ao apertar o boto, eu diria o seguinte para ele: Inicio Se Ra2 = 1 (nvel alto Boto apertado) Rb5 = 1 (nvel alto Led aceso) Se no Rb5 = 0 (nvel baixo Led desligado) Volta para inicio Claro, isso tudo em linguagem de programao.

Das könnte Ihnen auch gefallen