Pic 16f628

Disponível somente no TrabalhosFeitos
  • Páginas : 11 (2711 palavras )
  • Download(s) : 0
  • Publicado : 3 de dezembro de 2012
Ler documento completo
Amostra do texto
PIC 16F628 - Arquitetura interna
São chips com uma arquitetura muito versátil e multifacetada, tendo por isso um largo campo de aplicabilidade em todas as áreas onde existam dispositivos eletrônicos de comando. Por isso, o diagrama de blocos de um PIC comporta muito mais blocos que um microcontrolador, e obviamente um microprocessador (que já está integrado num PIC).

O  primeiro bloco decomponentes que iremos destacar são as Memórias, teremos então:

FLASH - Program Memory - è a memória onde ficam registrados os programas que o utilizador pretende depois executar. São carregados através dum PC e dum KIT programador, como o analisado na Unidade 4.
RAM File Registers - São os registros internos do processador, que simultaneamente podem ser usados como posições de RAM.
8 - LevelStack - Buffer circular de 8 posições a 13 bits e que constituem o STACK
Program Counter - É o contador de programa e funciona a 13 bits, temos assim 2*13 posições alcançáveis: 8192 posições, ou seja 8Kbytes.
Análise das Input/Output Ports: Trata-se dum dos dispositivos mais importantes do PIC, e neste caso concreto o 16F628, dispõe de 2 Input/Output Ports digitais e, bidirecionais, podendo ospinos ser controlados individualmente, mesmo na direção do fluxo de dados; a port A e a port B, mostradas na figura seguinte:

Os próximos blocos que a serem analisados são: Processador e Registos.
A ordem foi escolhida a fim de analisar conjuntamente estes dois blocos, pois eles estão intimamente ligados, uma vez que muitas das instruções a cumprir pelo processador interno estão diretamenteligadas a funções especiais:

O "Instruction Reg", é onde vão sendo escritos, vindos da FLASH RAM os "opcodes" (códigos de operação) das instruções a executar, que são descodificados no "Instruction Decode & Control", onde é realizada a interface com o bloco de funções especiais, se a instrução em causa utiliza alguma dessas funções.
O registo W, é o registo principal de trabalho do processador(work), e é onde tudo acontece, é sempre um dos operandos e sempre o destino de todas as operações lógicas e aritméticas. Daí como se pode ver recebe directamente os resultados vindos da ALU, que é a Unidade Lógica e Aritmética, onde são realizadas todas as operações lógicas e aritméticas. Ela recebe um ou dois operandos vindos; um do MUX ( Multiplexer de acesso aos buses que recebe informaçãoque do Data Bus, quer dos códigos de instrução), outro do próprio registo W, e deposita semprte o resultado no registo W, afectando também as FLAG's contidas no registo de STATUS.
Conjunto de Instruções do PIC
O microcontrolador PIC16F628A apresenta em seu nível ISA 35 instruções, A maioria das instruções são executadas em apenas um ciclo de máquina, lembrando que o um ciclo de máquina,corresponde ao clock de entrada divido por 4. O Datasheet do PIC16F628A divide o conjunto de instruções do PIC em três tipos:
Orientadas a bit (Bit-Oriented): Operam com bits de um determinado registador;
Orientadas a byte (Byte-Oriented): Operam com registradores completos (bytes);
Literal ou controle (Literal and control): Instruções que usam literais (números ou endereços) como operando.

- Formatodo conjunto de instruções:
Cada instrução do PIC16F628A tem o tamanho de 14 bits, onde alguns destes bits são usados para especificar o OPCODE (nome dado ao "comando" assembly), e de zero até dois operandos. Por conveniência, neste material a ultima categoria foi dividida em literal e controle.
O formato das instruções pode variar de acordo com o tipo, abaixo o formato da instrução do PIC paracada tipo. A figura abaixo mostra os formatos de instrução do PIC16F628A.

As tabelas seguintes apresentam todas as instruções do PIC16F628A, com os seus respectivos operandos.

Orientadas a bit
| | | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Mnemônico | ciclos | Descrição | OPCODE | BIT
(0-7) | REGISTRADOR
(00h - 127h) |
BCF f,b | 1 | Limpa (zera) o bit b do...
tracking img