Cursos / Eletrônica / Projeto de Sistemas Microcontrolados / Aula

arrow_back Aula 05 - Linguagem Assembly e ambientes de programação

Conjunto de instruções

Após ter visto as principais características dos microcontroladores 16F84, 16F628 e 16F877, vamos agora conhecer o seu conjunto de instruções para programação em Assembly. Lembre-se que quando se programa em C, o compilador C é responsável por converter as instruções da linguagem C, de mais alto nível, em certo número de comandos da linguagem Assembly, de baixo nível e diretamente relacionados à arquitetura do microcontrolador.

Todos os PIC da família 16F apresentam um conjunto de 35 instruções separadas em quatro grupos:

  • instruções de operações com registros;
  • instruções de operações com bits;
  • instruções de operações com literais;
  • instruções de controle.

Para essa família, cada instrução é uma palavra de 14 bits, dividida em um OPCODE (código de operação) que especifica o tipo de instrução e um ou mais argumentos que especificam o(s) operando(s).

Todas as instruções são executadas dentro de um único ciclo de instrução, a menos que um teste condicional seja verdadeiro ou o contador de programa seja mudado como resultado de uma instrução de desvio (neste caso, a execução leva dois ciclos de instrução). Cada ciclo de instrução consiste em quatro períodos de clock. Desse modo, para uma frequência do oscilador de 4 MHz, o tempo de execução de uma instrução normal será de 1 µs. Em caso de ser uma instrução de desvio, para a mesma frequência de clock de 4 MHz, o tempo de execução da instrução será de 2 µs.

Versão 5.3 - Todos os Direitos reservados

Este número aumenta consideravelmente na família 18F (são mais de 80 instruções), no entanto, as dos PIC 16F são comuns às duas famílias, de modo que um programa escrito para um 16F pode ser executado num 18F sem muitas alterações.