7
Microcontrolador PIC16F628A O microcontrolador PIC16F628A é um CI digital de arquitetura RISC( conjunto de instruções reduzido) que possui 18 pinos. É fabricado pela Microchip ( www.microchip.com) . Os pinos do CI podem ser configurados como entrada, saida ou ter alguma função especial. Podemos verificar isto pela pinagem do Integrado. Cada pino possui mais de uma função. Diagrama de blocos do PIC Internamente ,para efeito de análise, podemos dividir o PIC nos seguintes blocos internos: O PIC16F628A possui um total de 13 entradas/saida separadas em dois grupos denominados PORTAS. Desta forma temos as Porta A e a Porta B. A

Microcontrolador PIC 16F628A Em Word

  • Upload
    nando

  • View
    3.857

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Microcontrolador PIC 16F628A Em Word

Microcontrolador PIC16F628A

O microcontrolador PIC16F628A é um CI digital de arquitetura RISC( conjunto de instruções reduzido) que possui 18 pinos. É fabricado pela Microchip ( www.microchip.com).

Os pinos do CI podem ser configurados como entrada, saida ou ter alguma função especial. Podemos verificar isto pela pinagem do Integrado. Cada pino possui mais de uma função.

Diagrama de blocos do PIC

Internamente ,para efeito de análise, podemos dividir o PIC nos seguintes blocos internos:

O PIC16F628A possui um total de 13 entradas/saida separadas em dois grupos denominados PORTAS. Desta forma temos as Porta A e a Porta B. A Porta A possui 5 pinos que podem ser configurados como entradas ou saidas e seus nomes são definidos como RA0, RA1, RA2, RA3 e RA4.

A Porta B possui 8 pinos que também podem ser configurados como entrada ou saida, sendo seus nomes RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7.

Para que o microcontrolador possa funcionar é necessária também a sua alimentação: São os pinos Vss( Gnd) e Vdd(+5V). A tensão de alimentação nominal é 5 Volts podendo variar de 2 à 6 Volts.

Page 2: Microcontrolador PIC 16F628A Em Word

O oscilador deve ser ligado aos pinos OSC1 e OSC2. Os tipos de osciladores serão discutidos adiante. Temos ainda o pino MCLR que se refere ao pino de RESET. Toda vez que o pino for colocado em nível baixo (Gnd), o microcontrolador será resetado.

Considerações sobre o hardware do PIC

Todo microcontrolador trabalha em cima de duas bases: Hardware e software. Falaremos agora sobre alguns cuidados especiais antes de projetar o hardware necessário.

1) Existem 2 pinos para alimentação do integrado: pino 14(Vdd) e pino 5(Vss). A alimentação deve estar entre 2 e 6 Volts. O típico é 5 Volts (TTL).

2) Todo microcontrolador possui um pino de Reset. No caso do PIC é o pino 4 (MCLR). Sua função é inicializar o microcontrolador à partir da posição de memória zero. Este pino é ligado ao positivo da fonte (Vdd). Toda vez que é ligado a alimentação o circuito é resetado automaticamente.

3) Oscilador : Podemos utilizar diversos tipos de osciladores. No caso, são do tipo de onda quadrada..

RC: Este tipo de oscilador é feito à partir de um resistor(R) e um capacitor(C). È o sistema mais barato, mas possui a desvantagem de sofrer variação de frequencia com a temperatura.

Page 3: Microcontrolador PIC 16F628A Em Word

CRISTAL: O cristal é um componente cujo funcionamento é parecido com o capacitor. Tanto que sua simbologia é parecida com a do capacitor. Possui uma estabilidade em temperatura muito maior que a do circuito RC. Ao variarmos a temperatura ambiente, o circuito não sofre variação de frequencia. Seu custo é pouco maior que o dos circuitos osciladores normais, mas é o mais preciso.

São utilizados dois pinos para interligação do cristal: pino 16(OSC1) e pino 15(OSC2).

OSCILADOR EXTERNO: Estes circuito podem ser feitos à partir de portas lógicas, 555, transistores, geradores de onda quadrada, etc. Possuem a desvantagem de utilizar muitos componentes e sofrer variação de frequencia com a temperatura.

Nestes casos é utilizado somente o pino 16 (OSC1). Em todos os casos o pino MCLR deve ser ligado ao Vdd (+5 Volts).

4) Programa: Todo microcontrolador necessita para funcionar de um programa colocado internamente em sua memória Flash, ou seja, não adianta comprar o componente e somente substituir no circuito defeituoso pois ele não vai funcionar. Ele necessita de um programa armazenado.

Antes de começarmos a falar sobre programação (Software) devemos nos familiarizarmos com alguns termos utilizados.

Page 4: Microcontrolador PIC 16F628A Em Word

Instrução: Tarefa ou ordem básica dada ao microcontrolador(somar, subtrair, mover, etc).Mnemonico: Abreviação escrita de uma instrução. Mover -> MovRegistrador: Local para armazenar uma informação binária (0 ou 1) de maneira temporária. Pode ser

entendido como um pedaço da memória RAM. No caso o registrador é volátil, ou seja, perde seu conteudo com a queda de energia.

Work: Registrador temporário para operações da ULA. É conhecido pelo nome de acumulador e seu simbolo é a letra W.

File: Referencia a um registrador genérico. Utilizaremos a letra F para representação dos mesmos.Literal: Um numero qualquer que pode ser escrito em uma base qualquer: decimal, binário ou

hexadecimal. Utilizaremos a letra L para sua representação.Bit: Refere-se a um bit específico dentro de um byte. Utilizaremos a letra B para sua representação.Teste: Quando queremos testar o estado de um bit dentro de um byte. Utilizaremos a letra T.Skip: Significa pulo ou salto e é utilizado para criar desvios no programa . Utilizaremos a letra S

para representá-lo.Set: Refere-se ao ato de setar um bit (colocar em nível lógico 1). Utilizaremos a letra S.Clear: Refre-se ao ato de limpar um bit(colocar em nivel lógico 0). Utilizaremos a letra C.Zero: O resultado de uma operação matemática ou atribuição do valor zero a um registrador.

Utilizaremos a letra Z.Todos os demais termos utilizados são auto-explicativos:Add: SomaAnd: Operação lógica EClr: Limpar, zerar (clear)Com: Complemento. Inverte todos os bits de um byte.Dec: Decremento de uma unidade (subtrai um)Inc: Incremento de uma unidade (soma um)IOR: Operação lógica OUMov: Mover, transferir para algum lugarRL: (Rotate Left) Rotacionar um bit para a esquerdaRR: (Rotate Right) Rotacionar um bit para a direitaSub: subtraçãoSwap: Inversão entre as partes altas e baixas de um byte (nibble)XOR: Operação lógica OR Exclusiva

Programação assemblerA programação (software) que iremos desenvolver ao longo do semestre é chamado programação

assembler. É uma linguagem de programação baseada em abreviação de instruções (Mnemonicos).É uma linguagem como outra qualquer mas requer mais cuidados que as outras pois é muito cheia

de detalhes. Construção dos nomes das instruções

O processo de construção de uma instrução baseada em mnemonicos é fácil. Por exemplo, digamos que voce deseja decrementar o valor de um determinado registrador. A instrução que fará isto é composta pelos termos referentes à ação que se deseja:

Decrementar (DEC) um registrador(F) = DECFO contrário também é possível:DECFSZ = Decrementa(DEC) registrador(F) e salta(S), se o resultado for zero(Z).

Exercícios:Baseado nos exemplos anteriores, escrever o mnemonico correspondente:

1)Incrementar registrador2)Decrementar registrador3) Operação lógica OU entre W e registrador4) Limpa registrador W5) Limpa registrador 6) Soma W com um outro registrador qualquer

Page 5: Microcontrolador PIC 16F628A Em Word

7) Rotaciona à direita registrador8) Rotaciona à esquerda registrador9) Move registrador 10)Testa o bit do registrador e salta se ZERO.

Faça o mesmo mas agora escreva o que faz o Mnemonico:

1) CLRW2) BSF3) BCF4) BTFSS5) XORWF6) MOVWF7) MOVF8) RLF9) ANDLW10) XORLW11) XORWF12) ADDWF13) COMF14) ADDLW15) SWAPF