Escolar Documentos
Profissional Documentos
Cultura Documentos
Circuito de Interface para Microcontroladores - v2
Circuito de Interface para Microcontroladores - v2
Microcontroladores
Adaptao livre de parte do documento AXE001_pic_electronics.pdf
da Revolution Education Ltd.
ndice
1. O que um Microcontrolador PIC ?______________________________________1
2. Interfaceamento do Microcontrolador_____________________________________1
2.1. Circuitos de interface standard____________________________________________1
.1.1. Circuito de interface com trans!stor______________________________________________1
.1.. Circuito de interface com trans!stor "arlin#ton_____________________________________
.1.$. Circuito de interface com rel%s__________________________________________________$
.1.&. Circuito de interface com transistor 'E(__________________________________________$
2.2. Interface com Dispositivos de sada_________________________________________4
..1. LE"_______________________________________________________________________&
... L)mpada de sinali*ao_______________________________________________________+
..$. ,e*ouro ou ,u**er___________________________________________________________+
..&. Altifalantes pie*o-el%ctricos____________________________________________________.
..+. Micromotores_______________________________________________________________.
.... Motor passo-a-passo unipolar___________________________________________________/
..0. Motor passo-a-passo 1ipolar___________________________________________________10
../. 2ervo radio-controlado_______________________________________________________1
..3. 2olen4ides e v5lvulas solen4ides_______________________________________________1$
2.3. Interface com Dispositivos de Entrada_____________________________________14
.$.1. Interruptores_______________________________________________________________1&
Interruptores e ressaltos 6de1ouncer7_______________________________________________1+
.$.. 8otenci4metro______________________________________________________________1+
.$.$. L"R 6Li#9t "ependent Resistor7_______________________________________________1.
.$.&. (ermistor__________________________________________________________________1/
2.4. Interface com Componentes Avanados____________________________________18
.&.1. "ispla: LC" 6Li;uid Cr:stal "ispla:7___________________________________________1/
.&.1.1. Caracteres LC"_________________________________________________________13
.&.1.. Interface de LC" a microcontoladores_______________________________________13
Li#ando o LC" usando < 'RM010 62erial LC" 'irm=are C9ip7_____________________0
Li#ando o LC" usando o AXE0$$ 62erial LC" Module7____________________________0
Li#ando o LC" directamente__________________________________________________1
>m 8ro#rama 2imples para escrever no LC"___________________________________1
>m 8ro#rama mais Avanado________________________________________________
2u1rotinas 2tandard para li#ar o LC" directamente.______________________________
>sando o con?unto de instru@es 6comandos7 do LC".____________________________$
C4di#os das instru@es 6comandos7 para o LC"._________________________________$
EAemplosB_______________________________________________________________&
i
1. O que um Microcontrolador PIC ?
<s e;uipamentos controlados por microprocessadores so normalmente constitu!dos por
v5rios circuitos inte#rados ou c9ipsC cada um com a sua funoC a sa1erB o
microprocessador 6C8>7C uma mem4ria E8R<M com o pro#ramaC uma mem4ria RAM
para arma*enamento de dados e interfaces de entradaDsa!da 6ID< inputDoutput7 para
li#ao ao eAterior. 8elo contr5rioC os sistemas 1aseados em microcontroladores
possuem um Enico c9ip F o microcontrolador. >m microcontrolador 8IC % um circuito
inte#rado de pe;uenas dimens@es e ;ue cont%m num Enico c9ipC a C8>C RAMC R<M e
circuitos de interface. A #rande variedade destes componentes possi1ilita ;ue o mesmo
fa1ricante oferea modelos com mais ou menos RAMC com outros dispositivos como
portos de comunicaoC conversores anal4#icoDdi#itaisC etc.
<s microcontroladores 8IC podem ser utili*ados como Gc%re1roH para controlar uma
enorme variedade de e;uipamentosC desde m5;uinas de lavar a telem4veis ou
autom4veisC etc. EAistem portanto aos mil9@es por todo o ladoC sendo o seu custo muito
redu*ido. 2oC por issoC eAcelentes compan9eiros para a tarefa a ;ue nos propomosB
conce1er um ro1I m4vel aut4nomoC dotado de v5rios sensores. 8ara isso as informa@es
provenientes desses sensoresC de to;ueC de deteco de o1st5culosC de dist)nciaC etcC
devem ser adaptadas de forma a serem interpretadas pelo nosso 8IC. 8or outro ladoC o
controlo de dispositivos como motores ou rel%s tam1%m eAi#e adaptao de sinal. J
desse assunto ;ue iremos tratar nos pr4Aimos cap!tulos.
2. Interfaceamento do Microcontrolador
Keste cap!tulo iremos eAplicar como reali*ar as interfaces para ;ue diferentes
dispositivos de entrada e de sa!da possam ser li#ados ao microcontrolador.
Iremos tratar dos se#uintes dispositivosB
2.1. Circuitos de interface standard
2.1.1. Circuito de interface com transstor
Muitos dos dispositivos de sa!da iro necessitar de um circuito de comutao por
trans!stor. 8ara a maioria dos casos um par "arlin#ton formado por dois trans!stores %
ideal.
ContudoC este circuito necessita de dois trans!stores separados. J poss!vel ad;uirir um
dispositivo contendo os dois trans!stores num Enico encapsulamento. Estes trans!stores
desi#nam-se "arlin#ton e possuem elevado #an9o. >m trans!stor como o ,CX$/,
pode accionar correntes at% /00 mA. Este ser5 o trans!stor utili*ado em todos os
eAemplos deste manual.
1
Kote ;ue % comum colocar um d!odo invertido em paralelo com o dispositivo
controlado 6d!odo de roda-livre7. Isto % essencial para car#as indutivasC como so os
casos de motores e rel%s. 2empre ;ue se desli#a um destes dispositivos cria-se uma
corrente inversa ;ue iria destruir o trans!stor. 8oder5 ser usado um vul#ar d!odo
1K&001.
2.1.2. Circuito de interface com transstor Darlington
2e for necess5rio controlar mais do ;ue um dispositivoC poder5 ser aconsel95vel utili*ar
um inte#rado espec!ficoC o >LK00$ Darlington driver ICC ;ue cont%m 0 trans!stores
"arlin#ton e ainda os d!odos de roda-livre num Enico inv4lucro.
(odos os c4di#os de caracteres e instru@es 6comandos7 tLm / 1it. Como s4 95 & lin9as
de dadosC os / 1it so mandados em duas metadesC uma a se#uir N outra. Cada um dos
;uatro 1it rece1e o nome de Gni11leH 6Sni11le altoT e Sni11le 1aiAoT7.
8ortantoC por cada caracter 6ou comando7 so transmitidos ni11les.
1011 0101 X 10110101
ni11le alto Y ni11le 1aiAo X 1:te
A funo das trLs su1rotinas SstandardT 6init- 'rins e 'rchr7 % levar a ca1o toda esta
tarefa GcomplicadaH ;uando tra1al9amos com displa:s LC".
init: let pins = 0 Todas sadas=0
let b4 = 0 Reset variavel
let dirs = 252 Pins 2-7 como sada (%11111100).
pause 200 200 ms para reset ao LCD.
let pins = 48 Funcionamento LCD a 8-bit.
pulsout 3,1 Envia comando (enable)
pause 10 Espera 10 ms
pulsout 3,1 Envia comando outra vez(enable)
pulsout 3,1 Envia comando outra vez(enable)
let pins = 32 Funcionamento LCD a 4-bit.
pulsout 3,1 Envia comando(enable)
pulsout 3,1 Envia comando outra vez(enable)
let pins = 128 Funcionar em duas linhas
pulsout 3,1 Envia comando (enable).
let b1 = 14 LCD ON e com cursor.
gosub wrins Ecrever instruco no LCD
return
wrchr: let pins = b1 & 240 nibble alto de b1=>fora(ateno RS=0).
high 2 Enviar Caracter=> RS alto
pulsout 3,1 Pulsa enable (envia nibble alto).
let b2 = b1 * 16 nibble baixo de b1=>b2.
let pins = b2 & 240 nibble baixo de b1=>fora(ateno RS=0).
high 2 Caracter=> RS alto
pulsout 3,1 Pulsa enable pin (envia nibble baixo).
Return
wrins: let pins = b1 & 240 nibble alto de b1=>fora(RS=0->instru).
pulsout 3,1 Pulsa enable (envia nibble alto).
Let b2 = b1 * 16 b2=b1 rodado 4x p/ esquerda.
let pins = b2 & 240 nibble baixo de b1=>fora(+RS=0-instru).
pulsout 3,1 Pulsa enable pin (envia nibble baixo).
high 2 Modo character
return
Nota: na subrotina init, o comando let dirs =252(%11111100) vai afectar os
8 pinos e no apenas os usados pelo !"#$ "omo se pode ver, nem wrins
nem wrchr necessitam dos pinos 0 e 1$ %e o nosso pro&rama usar estas
rotinas deve ter em conta 'ue, 'uando retorna da c(amada, o valor de b2
vem alterado (assim como )0)$
3sando o con7unto de instru8es %comandos& do 'CD.
<s c4di#os das instru@es de comando para o LC"C como vimosC devem GirH na vari5vel
11 ;uando se c9ama a su1rotina 'rinsC ;ue se encarre#a de modificar o estado do LC".
$
C9di5os das instru8es %comandos& para o 'CD.
1 Limpa o displa: e move para a primeira lin9a
Move o cursor e a ?anela de displa: para o in!cio da primeira lin9a
& Modo Gescrever da direita para a es;uerdaH
+ Modo Sscroll para a es;uerdaT
. Modo Gescrever da es;uerda para a direitaH
0 Modo Sscroll para a direitaT
10 Misuali*ao do LC" off
1 2em cursor
1$ Cursor a piscar
1& Misuali*ao do LC" 6e cursor7 on
1. Move cursor para a es;uerda uma posio
0 Move cursor para a direita uma posio
& 'a* o scroll da ?anela uma posio para a es;uerda
/ 'a* o scroll da ?anela uma posio para a direita
1/ Move o cursor para o in!cio da primeira lin9a
13 Move o cursor para o in!cio da se#unda lin9a
E:emp$os
Limpar o displa:
clear: let b1 = 1 b1=instruo clear
call wrins Envia para o LCD
Mover o cursor para a se#unda lin9a
clear: let b1 = 192 b1=incio da segunda linha
call wrins Envia para o LCD
8iscar uma menssa#em 10 ve*es
flash:for b3 = 1 to 10 for...next usando variable b3(nunca b1!!)
let b1 = 10 b1= Visualizao do LCD off
gosub wrins Envia para o LCD
pause 200 Pausa de 0.2 segundos
let b1 = 14 b1= Visualizao do LCD on
gosub wrins Envia para o LCD
pause 200 Pausa de 0.2 segundos
next b3 Fim do loop for...next
'a*er scroll a uma mensa#em lon#a 6$0 caracteres7
scroll: for b3 = 1 to 30 for...next usando variable b3(nunca b1!!)
let b1 = 28 b1= Scroll da janela uma posio p/ direita
gosub wrins Envia para o LCD
pause 200 Pausa de 0.2 segundos
next b3 Fim do loop for...next
let b1 = 1 b1=instruo clear
gosub wrins Envia para o LCD
pause 200 Pausa de 0.2 segundos
goto scroll Loop
&