pic - capitulo 6 - exemplos

Upload: nando

Post on 30-May-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    1/27

    MicrocontroladoresPICon-lineGRTIS!

    IndiceSistema de desenvolvimentoContacte-nos

    CAPTULO 6

    Exemplos

    Introduo

    6.1 Alimentando o microcontrolador

    6.2 Utilizao de macros em programas

    6.3 Exemplos

    Introduo

    Os exemplos que se mostram neste captulo, exemplificam como se deve ligar o microcontrolador PIC aperifricos ou a outros dispositivos quando projectamos o nosso prprio sistema de microcontrolador. Cadaexemplo contm uma descrio detalhada do hardware com o esquema elctrico e comentrios acerca doprograma. Todos os programas podem ser copiados da pgina da internet da i-magazine.

    6.1 Alimentando o microcontrolador

    De um modo geral, uma tenso de alimentao correcta da maior importncia para o bom funcionamento dosistema de microcontrolador. Pode comparar-se este sistema a um homem que precisa de respirar. provvelque um homem que respire ar puro viva mais tempo que um que viva num ambiente poludo.

    Para que um microcontrolador funcione convenientemente, necessrio usar uma fonte de alimentao estvel,uma funo de reset ao ligar fivel e um oscilador. De acordo com as especificaes tcnicas fornecidas pelofabricante do microcontrolador PIC, em todas as verses, a tenso de alimentao deve estar compreendidaentre 2,0V e 6,0V. A soluo mais simples para a fonte de alimentao utilizar um regulador de tensoLM7805 que fornece, na sua sada, uma tenso estvel de +5V. Uma fonte com estas caractersticas, mostra-sena figura em baixo.

    Teclado Optoacopladores Optoacoplador numa linha de entrada Optoacoplador numa linha de sada O Rel Produzindo um som Registos de deslocamento Registo de deslocamento de entrada 74HC597 Registo de deslocamento de sada paralela Displays de 7-Segmentos (multiplexagem) DISPLAY LCD Macros para LCD Conversor Analgico-Digital de 12 bits Comunicao Srie

    Pgina 1 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-agazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    2/27

    Para que o circuito funcione correctamente, de modo a obter-se 5V estveis na sada (pino 3), a tenso de

    entrada no pino 1 do LM7805 deve situar-se entre 7V e 24V. Dependendo do consumo do dispositivo, assimdevemos usar o tipo de regulador LM7805 apropriado. Existem vrias verses do LM7805. Para um consumo decorrente at 1A, deve usar-se a verso TO-220, com um dissipador de calor apropriado. Se o consumo forsomente de 50mA, pode usar-se o 78L05 (regulador com empacotamento TO92 de menores dimenses paracorrentes at 100mA).

    6.2 Utilizao de macros em programas

    Os exemplos que se apresentam nas seces seguintes deste captulo, vo utilizar frequentemente as macrosWAIT, WAITX e PRINT, por isso elas vo ser explicadas com detalhe.

    Macros WAIT, WAITX

    O ficheiro Wait.inc contm duas macros WAIT e WAITX. Atravs destas macros possvel conseguir diferentesintervalos de tempo. Ambas as macros usam o preenchimento do contador TMR0 como intervalo de tempobsico. Modificando o valor do prescaler, ns podemos variar o intervalo de tempo correspondente aoenchimento do contador TMR0.

    Pgina 2 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    3/27

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    4/27

    Ao contrrio da macro WAIT, a macro WAITX tem mais um argumento que serve para atribuir um valor aoprescaler. Os dois argumentos da macro WAITX so :

    Timeconst_2 um nmero entre 0 e 255. Multiplicando esse nmero pelo tempo de enchimento, obtemos otempo total:

    TIME=timeconst_1 x 1,02mS x PRESCext

    PRESCext um nmero entre 0 e 7 que estabelece a relao entre o clock e o temporizador TMR0.

    Exemplo: WAITX .100, 7

    O exemplo mostra como gerar um intervalo de tempo de 100x65,3 mS, ou seja, de 6,53S.

    MACRO PRINT

    A Macro PRINT encontra-se no ficheiro Print.inc. Esta macro facilita o envio de uma srie de dados ou caracterespara dispositivos de sada tais como: display LCD, RS232, impressora matricial, ...,etc. A melhor maneira deformar a srie, usar uma directiva dt (definir tabela). Esta instruo guarda uma srie de dados na memriade programa, na forma de um grupo de instrues retlw cujos operandos so os caracteres da cadeia de

    caracteres.

    O modo como uma sequncia formada usando uma instruo dt, mostra-se no seguinte exemplo:

    org 0x00

    goto Main

    String movwf PCL

    String1 dt esta a cadeia ASCII

    String2 dt Segunda srie

    End

    Main

    movlw .5

    call String

    Pgina 4 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    5/27

    A primeira instruo depois do rtulo Main, escreve a posio de um membro da cadeia (string) no registo w. Aseguir, com a instruo call saltamos para o rtulo string, onde a posio de um membro da sequncia adicionada ao valor do contador de programa: PCL=PCL+W. A seguir, teremos no contador de programa umendereo da instruo retlw com o membro da cadeia desejado. Quando esta instruo executada, o membroda cadeia vai ficar no registo w e o endereo da instruo a executar depois da instruo call estar guardado

    no contador de programa. O rtulo END um mdulo elegante de marcar o endereo em que a cadeia termina.A Macro PRINT possui cinco argumentos:

    PRINT macro Addr, Start, End, Var, Out

    Addr um endereo onde uma ou mais cadeias (que se seguem uma aps outra) comeam.

    Start o endereo do primeiro caracter da cadeia.

    End o endereo em que a cadeia termina

    Var a varivel que tem o papel de mostrar (apontar) os membros da cadeia

    Out um argumento que usamos para enviar o endereo do subprograma que trabalha com os dispositivos desada, tais como: LCD, RS-232 etc.

    A macro PRINT escreve uma srie de caracteres ASCII, correspondentes a MikroElektronika no display LCD. Acadeia ocupa uma parte da memria de programa a comear no endereo 0x03.

    6.3 Exemplos

    Dodos Emissores de Luz - LEDs

    Os LEDs so seguramente uns dos componentes mais usados em electrnica. LED uma abreviatura para LightEmitting Diode (Dodo emissor de luz). Quando se escolhe um LED, vrios parmetros devem ter-se emateno: dimetro, que usualmente de 3 ou 5mm (milmetros), corrente de funcionamento, habitualmente decerca de 10mA (pode ser menor que 2mA para LEDs de alta eficincia alta luminosidade) e, claro, a cor quepode ser essencialmente vermelha ou verde, embora tambm existam amarelos, laranjas, azuis, etc.

    Os LEDs, para emitirem luz, tm que ser ligados com a polaridade correcta e a resistncia de limitao decorrente tem tambm que ter o valor correcto para que o LED no se estrague por sobreaquecimento. O plopositivo da alimentao deve estar do lado do nodo e o negativo do lado do ctodo. Para identificar osterminais do led, podemos ter em ateno que, normalmente, o terminal do ctodo mais curto e, junto deste,a base do LED plana. Os LEDs s emitem luz se a corrente fluir do nodo para o ctodo. Se for ao contrrio, ajuno PN fica polarizada inversamente e, a corrente, no passa. Para que o LED funcione correctamente, deveser adicionada uma resistncia em srie com este, que vai limitar a corrente atravs do LED, evitando que estese queime. O valor desta resistncia determinado pelo valor da corrente que se quer que passe atravs doLED. A corrente mxima que pode atravessar um LED est estabelecida pelo fabricante. Os LEDs de altorendimento podem produzir uma sada muito satisfatria com uma corrente de 2mA.

    Para determinar o valor da resistncia em srie, ns necessitamos de saber o valor da alimentao. A este valorvamos subtrair a queda de tenso caracterstica no LED. Este valor pode variar entre 1,2v e 1,6v, dependendoda cor do LED. O resultado desta subtraco a queda de tenso na resistncia Ur. Sabendo esta tenso e acorrente, determinamos o valor da resistncia usando a frmula R=Ur/I .

    Pgina 5 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    6/27

    Os LEDs podem ser ligados ao microcontrolador de duas maneiras. Uma faze-los acender com o nvel lgicozero e a outra com o nvel lgico um. O primeiro mtodo designado por lgica NEGATIVA e o outro por lgicaPOSITIVA. O diagrama de cima, mostra como se faz a ligao utilizando lgica POSITIVA. Como em lgicaPOSITIVA se aplica uma voltagem de +5V ao dodo em srie com a resistncia, ele vai emitir luz sempre que opino do porto B fornea um valor lgico 1 (1 = sada Alta). A lgica NEGATIVA requer que o LED fique com onodo ligado ao terminal positivo da alimentao e o ctodo ligado ao pino porto B, atravs da resistncia.Neste caso, quando uma sada Baixa do microcontrolador aplicada resistncia em srie com o LED, esteacende.

    Ligao dos dodos LED ao Porto B do microcontrolador

    O exemplo que se segue, define o porto B como de sada e pe a nvel lgico um todos os pinos deste porto,acendendo os LEDs.

    Pgina 6 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    7/27

    Teclado

    As teclas de um teclado, so dispositivos mecnicos usados para desfazer ou estabelecer as ligaes entre paresde pontos. As teclas podem aparecer com vrios tamanhos e satisfazer vrios propsitos. As teclas ou

    interruptores que vamos usar so tambm designadas por teclas-dip. Elas so muito usadas em electrnica eso soldadas directamente na placa de circuito impresso. Possuem quatro pinos (dois para cada contacto), oque lhes confere uma boa estabilidade mecnica.

    Pgina 7 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    8/27

    Exemplo de ligao de teclas, aos pinos do microcontrolador

    O modo como funcionam simples. Quando pressionamos uma tecla, os dois contactos so curto-circuitados e estabelecida uma ligao. No entanto, isto no to simples como parece. O problema reside no facto de atenso ser uma grandeza elctrica e na imperfeio dos contactos mecnicos. Quer dizer, antes que o contactose estabelea ou seja interrompido, h um curto perodo de tempo em que pode ocorrer uma vibrao(oscilao) como resultado do desajuste dos contactos, ou da velocidade diferente de accionamento das teclas(que depende da pessoa que usa o teclado). O termo associado a este fenmeno designado por BOUNCE(ressalto) do interruptor. Se no o considerarmos quando estivermos a escrever o programa, pode ocorrer umerro, ou seja, o programa pode detectar vrios impulsos apesar de a tecla ter sido pressionada uma nica vez.Para evitar isto, um mtodo introduzir um curto perodo de espera quando se detecta que um contacto fechado. Isto assegura que a uma nica presso de tecla, corresponde um nico impulso. O tempo de espera(tempo de DEBOUNCING), produzido por software e o seu valor depende da qualidade da tecla e do servioque est a efectuar. Este problema pode ser parcialmente resolvido por exemplo, colocando um condensadorentre os contactos da tecla, mas, um programa bem feito resolve melhor o problema. Ao escrever esteprograma vai-se fazendo variar o tempo de debouncing at se verificar que a hiptese de uma deteco fica

    completamente eliminada.

    Nalguns casos, uma simples espera pode ser adequada, mas, se quisermos que o programa execute vriastarefas ao mesmo tempo, uma espera significa, que o microcontrolador no faz mais nada durante um longoperodo de tempo, podendo falhar outras entradas ou, por exemplo, no activar um display no momentoadequado.

    A melhor soluo ter um programa que detecte quando se pressiona e em seguida se liberta a tecla. A macroem baixo, pode ser usada para fazer o debouncing de uma tecla.

    Pgina 8 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    9/27

    A macro de cima tem vrios argumentos que necessitam de serem explicados:

    BUTTON macro HiLo, Port, Bit, Delay, Address

    HiLo pode ser 0 ou 1 e representa o impulso, descendente ou ascendente produzido quando se pressionauma tecla e que faz com que o subprograma seja executado.

    Port o porto do microcontrolador ao qual a tecla est ligada. No caso do PIC16F84 s pode ser o Porto A ou oPorto B.

    Bit a linha do porto qual a tecla est ligada.

    Delay um nmero entre 0 e 255, usado para obter o tempo necessrio para que as oscilaes nos contactosparem. calculado pela frmula TEMPO = Delay x 1ms.

    Address o endereo para onde o microcontrolador vai depois de a tecla premida, ter sido solta. A subrotinasituada neste endereo contm a resposta a este movimento.

    Exemplo 1: BUTTON 0, PORTA, 3, .100, Tester1_above

    Chave1 est ligada a RA3 (bit 3 do porto A), usa um tempo de debouncing de 100 milisegundos e zero onvel lgico activo. O subprograma que processa o movimento desta tecla encontra-se a partir do endereo como rtulo Tester1_above.

    Exemplo2: BUTTON 1, PORTA, 2, .200, Tester2_below

    Chave-2 est ligada a RA2 (bit 2 do porto A), usa um tempo de debouncing de 200 milisegundos e 1 o nvellgico activo. O subprograma que processa o movimento desta tecla encontra-se a partir do endereo com ortulo Tester2_below.

    O exemplo que se segue, mostra como se usa esta macro num programa. O programa TESTER.ASM acende eapaga um LED. O LED est ligado ao bit 7 do porto B. A tecla 1 usada para acender o LED. A tecla 2 apaga oLED.

    Pgina 9 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    10/27

    Optoacopladores

    Os optoacopladores incluem um LED e um fototransistor juntos no mesmo encapsulamento. O propsito dooptoacoplador manter duas partes do circuito isoladas entre si.

    Isto feito por um certo nmero de razes:

    Interferncia. Uma parte do circuito pode estar colocada num stio onde pode captar um bocado deinterferncia (de motores elctricos, equipamento de soldadura, motores a gasolina, etc.). Se a sada destecircuito estiver ligada atravs de um optoacoplador a um outro circuito, somente os sinais desejados passampelo optoacoplador. Os sinais de interferncia no tm fora suficiente para activar o LED do optoacopladore assim so eliminados. Exemplos tpicos so unidades industriais com muitas interferncias que afectam ossinais nas linhas. Se estas interferncias afectarem o funcionamento da seco de controle, podem ocorrererros e a unidade parar de trabalhar.

    Pgina 10 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    11/27

    Isolamento e amplificao de um sinal em simultneo. Um sinal de amplitude baixa, por exemplo de3V, capaz de activar um optoacoplador e a sada do optoacoplador pode ser ligada a uma linha de entradado microcontrolador. O microcontrolador requer uma entrada de 5v e, neste caso, o sinal amplificado de3v para 5v. Pode tambm ser utilizado para amplificar um sinal de corrente. Ver em baixo como se podeusar uma linha de sada de um microcontrolador para amplificar a corrente.

    Tenso de isolamento elevada. Os optoacopladores possuem intrinsecamente uma grande tenso deisolamento. Como o LED est completamente separado do fototransistor, os optoacopladores podem exibiruma tenso de isolamento de 3kv ou superior.

    Os optoacopladores podem ser usados como dispositivos de entrada e de sada. Alguns, fornecem funesadicionais tais como Schmitt trigger (a sada de um Schmitt trigger 0 ou 1 ele transforma sinais

    descendentes ou ascendentes de baixo declive em sinais zero ou um bem definidos). Os optoacopladores soempacotados numa nica unidade, ou em grupos de dois ou mais num nico encapsulamento. Eles podemtambm servir como fotointerruptores, uma roda com ranhuras gira entre o LED e o fototransistor, sempre quea luz emitida pelo LED interrompida, o transistor produz um impulso.

    Cada optoacoplador necessita de duas alimentaes para funcionar. Ele pode ser usado s com umaalimentao mas, neste caso, a capacidade de isolamento perde-se.

    Optoacoplador numa linha de entrada

    O modo como trabalha simples: quando o sinal chega, o LED do optoacoplador conduz e ilumina ofototransistor que est na mesma cpsula. Quando o transistor comea a conduzir, a tenso entre o colector e oemissor cai para 0,5V ou menos o que o microcontrolador interpreta como nvel lgico zero no pino RA4.

    O exemplo em baixo, aplicvel em casos como um contador usado para contar items numa linha de produo,determinar a velocidade do motor, contar o nmero de rotaes de um eixo, etc.

    Vamos supor que o sensor um microinterruptor. Cada vez que o interruptor fechado, o LED iluminado. OLED transfere o sinal para o fototransistor fazendo este conduzir, assim produzido um sinal BAIXO na entradaRA4 do microcontrolador. No microcontrolador deve existir um programa que evite uma falsa contagem e umindicador ligado s sadas do microcontrolador, que mostre o estado actual da contagem.

    Exemplo de um optoacoplador ligado a uma linha de entrada

    Pgina 11 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    12/27

    Optoacoplador numa linha de sada

    Um optoacoplador pode ser usado para separar o sinal de sada de um microcontrolador de um dispositivo desada. Isto pode ser necessrio para isolar o circuito de uma tenso alta ou para amplificar a corrente. A sada

    de alguns microcontroladores est limitada a 25mA. O optoacoplador pode servir-se do sinal de corrente domicrocontrolador para alimentar um LED ou rel, como se mostra a seguir:

    Exemplo de um optoacoplador ligado a uma linha de sada

    O programa para este exemplo simples. Fornecendo um nvel lgico 1 ao pino 3 do porto A, o LED vai seractivado e o transistor do optoacoplador vai conduzir. A corrente limite para este transistor de cerca de250mA.

    Pgina 12 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    13/27

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    14/27

    Ligando o optoacoplador e um rel a um microcontrolador

    Um rel pode tambm ser activado atravs de um optoacoplador que actua como buffer de corrente e aomesmo tempo aumenta a resistncia de isolamento. Estes optoacopladores capazes de fornecerem uma

    corrente muito grande, contm normalmente um transistor Darlington na sada.A ligao atravs de um optoacoplador recomendada especialmente em aplicaes de microcontroladores quecontrolam motores, j que o rudo provocado pela actuao dos comutadores, pode regressar aomicrocontrolador atravs das linhas da alimentao. O optoacoplador faz actuar o rel e este activa o motor.

    A figura em baixo, um exemplo de um programa de activao do rel e inclui algumas macros anteriormenteapresentadas.

    Pgina 14 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    15/27

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    16/27

    O outro tipo requer, para que possa funcionar, que lhe seja aplicado um sinal. Dependendo da frequncia da

    forma de onda, a sada pode ser um tom, uma melodia, um alarme ou mesmo mensagens de voz.Para o pormos a funcionar, vamos fornecer-lhe uma forma de onda constituda por nveis Alto e Baixosucessivos. a mudana de nvel ALTO para BAIXO ou de BAIXO para ALTO que faz com que o diafragma semova para produzir um pequeno som caracterstico. A forma de onda pode corresponder a uma mudanagradual (onda sinusoidal) ou uma variao rpida (onda rectangular). Um computador um instrumento idealpara produzir uma onda quadrada. Quando se utiliza a onda quadrada produz-se um som mais spero.

    Ligar um diafragma pizoelctrico uma tarefa simples. Um pino ligado massa e o outro sada domicrocontrolador, como se mostra na figura em baixo. Deste modo, aplica-se uma forma de onda rectangular de5v ao pizo. Para produzir um alto nvel de sada, a forma de onda aplicada tem que ter uma maior grandeza, oque requer um transistor e uma bobina.

    Ligao de um diafragma pizoelctrico a um microcontrolador

    Como no caso de uma tecla, podemos utilizar uma macro que fornea uma ROTINA BEEP ao programa, quandofor necessrio.

    BEEP macro freq, duration:

    freq: frequncia do som. Um nmero maior produz uma frequncia mais alta.

    duration: durao do som. Quanto maior o nmero, mais longo o som.

    Exemplo 1: BEEP 0xFF, 0x02

    Nesta caso, a sada do dispositivo pizoelctrico, tem a maior frequncia possvel e a durao de 2 ciclos de65,3mS o que d 130,6mS.

    Exemplo 2: BEEP 0x90, 0x05

    Aqui, a sada do diafragma pizoelctrico, tem uma frequncia de 0x90 e uma durao de 5 ciclos de 65,3mS. melhor experimentar diversos argumentos para a macro e seleccionar aquele que melhor se aplica.

    A seguir, mostra-se a listagem da Macro BEEP:

    Pgina 16 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    17/27

    O exemplo que se segue, mostra o uso de uma macro num programa. O programa produz duas melodias que so obtidas, premindo T1 ou T2.Algumas das macros apresentadas anteriormente so utilizadas no programa.

    Pgina 17 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    18/27

    Pgina 18 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    19/27

    Pgina 19 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    20/27

    Pgina 20 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    21/27

    Pgina 21 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    22/27

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    23/27

    Var varivel para onde os estados lgicos dos pinos de entrada do registo de deslocamento de entradaparalelo, so transferidos

    Var1 contador de ciclos

    Exemplo: HC597 dados, contador

    Os dados provenientes dos pinos de entrada do registo de deslocamento so guardados na varivel dados. O

    contador/temporizador usado como contador de ciclos.

    Listagem da macro:

    Um exemplo de como usar a macro HC597 mostra-se no programa seguinte. Neste programa, suposto que obyte de dados recebido nas entradas paralelo do registo de deslocamento, a partir deste, os bits saem emsrie e entram no microcontrolador onde so guardados na varivel RX. Os LEDs ligados ao Porto B visualizam apalavra de dados.

    Pgina 23 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    24/27

    Registo de deslocamento de entrada paralelaOs registos de deslocamento de entrada srie e sada paralela, transformam dados srie em dados paralelo.Sempre que ocorre um impulso ascendente de clock, o registo de deslocamento l o estado lgico da linha dedados, guarda-o num registo temporrio e repete oito vezes esta operao. Quando a linha latch activada, osdados so copiados do registo de deslocamento para o registo de sada (registo latch) onde ficam disponveisem paralelo.

    Pgina 24 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    25/27

    As ligaes entre um registo de deslocamento 74HC595 e um microcontrolador, mostram-se no diagrama embaixo.

    Ligao de um registo de deslocamento de sada paralelo a um microcontrolador

    A macro usada neste exemplo o ficheiro hc595.inc e designada por HC595.

    A macro HC595 tem dois argumentos:

    HC595 macro Var, Var1

    Var varivel cujo contedo transferido para as sadas do registo de deslocamento.

    Var1 contador de ciclos (loops)

    Exemplo: HC595 Dados, contador

    O dado que queremos transferir, guardado na varivel dados e a varivel contador usada como contador deciclos.

    Pgina 25 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    26/27

    Um exemplo de como usar a macro HC595 mostra-se no programa que se segue. Os dados provenientes davarivel TX so transferidos em srie para o registo de deslocamento. Os LEDs ligados s sadas paralelo do

    registo de deslocamento indicam os nveis lgicos destas linhas. Neste exemplo, enviado o valor 0xCB (11001011) e, portanto, os LEDs ligados aos bits sete, seis, trs, um e zero, vo acender.

    Pgina 26 de 27CAP TULO 6 - Exemplos

    12/8/2003http://www.i-magazine.com.br

  • 8/14/2019 PIC - Capitulo 6 - Exemplos

    27/27

    Copyright 2003. i-magazine e mikroElektronika. All Rights Reserved.

    Pgina 27 de 27CAP TULO 6 - Exemplos