Artigos academicos
Programação processadores da linha microchip. Set de instruções dos microcontorladores pic
A importancia do micro controladores
Um microcontrolador ( MCU) é um computador-num-chip, contendo um processador, memória e periféricos de entrada/saída. É um microprocessador que pode ser programado para funções específicas, em contraste com outros microprocessadores de propósito geral (como os utilizados nos PCs). Eles são embarcados no interior de algum outro dispositivo (geralmente um produto comercializado) para que possam controlar as funções ou ações do produto. Um outro nome para o microcontrolador, portanto, é controlador embutido.
Os microcontroladores se diferenciam dos processadores, pois além dos componentes lógicos e aritméticos usuais de um microprocessador de uso geral, o microcontrolador integra elementos adicionais em sua estrutura interna, como memória de leitura e escrita para armazenamento de dados, memória somente de leitura para armazenamento de programas, EEPROM para armazenamento permanente de dados, dispositivos periféricos como conversores analógico/digitais (ADC), conversores digitais/analógicos (DAC) em alguns casos; e, interfaces de entrada e saída de dados.
Set de 35 instruções da linha 16F - Microchip
Instrução |
Argumentos |
Descrição |
ADDWF |
f,d |
Soma W e F, guardando o resultado em d. |
ANDWF |
f,d |
Lógica "E"entre W e f, guardando o resultado em d. |
CLRF |
f |
Limpa f. |
COMF |
f,d |
Calcula o complemento de f, guardando o resultado em d. |
DECF |
f,d |
Decrementa f, guardando o resultado em d. |
DECFSZ |
f,d |
Decrementa f, guardando o resultado em d, e pula a próxima linha se o resultado for zero. |
|
|
|
INCF |
f,d |
Incrementa f, guardando o resultado em d. |
INCFSZ |
f,d |
Incrementa f, guardando o resultado em d, |
|
|
e pula a próxima linha se o resultado for zero. |
IORWF |
f,d |
Lógica "OU" entre W e f, guardando o resultado em d. |
MOVF |
f,d |
Move f para d(copia ). |
MOVWF |
f |
Move W para f (copia ). |
RLF |
f,d |
Rotaciona f 1 bit para esquerda. |
RRF |
f,d |
Rotaciona f 1 bit para direita. |
SUBWF |
f,d |
Subtrai W de f (f - W ), guardando o resultado em d. |
SWAPF |
f,d |
Executa uma inversão entre as partes alta e baixa de f, guardando o resultado em d. |
|
|
|
XORWF |
f,d |
Lógica "OU exclusivo "entre W e f, guardando o resultado em d. |
|
Operações |
com numeros Literais |
Instrução |
Argumentos |
Descrição |
ADDLW |
k |
Soma um numero k com W, guardando o resultado em W. |
ANDLW |
k |
Lógica "E "entre k e W, guardando o resultado em W. |
IORLW |
k |
Lógica "OU" entre k e W, guardando o resultado em W. |
MOVLW |
k |
Move k para W. |
SUBLW |
k |
Subtrai W de k(k - W), guardando o resultado em W. |
XORLW |
k |
Lógica "OU exclusivo" entre k e W, guardando o resultado em W. |
|
Operações |
com bits |
Instrução |
Argumentos |
Descrição |
BCF |
f,b |
Coloca 0(zero) ao bit b do registrador f. |
BSF |
f,b |
Coloca 1(um) ao bit b do registrador f. |
BTFSC |
f,b |
Testa o bit b do registrador, e pula a próxima linha se ele for 0 (zero ). |
BTFSS |
f,b |
Testa o bit b do registrador, e pula a próxima linha se ele for 1 (um ). |
|
|
Controles |
Instrução |
Argumentos |
Descrição |
CLRW |
|
Limpa W.(deixa W com valor 0) |
NOP |
|
Gasta um ciclo de máquina sem fazer nada.(Operação executada somente para gastar tempo |
CALL |
Rotina X |
Executa a rotina X. |
CLRWDT |
|
Limpa o registrador WDT para não acontecer o reset. |
GOTO |
R |
Desvia para o ponto R, mudando o PC. |
RETFIE |
|
Retorna de uma interrupção. |
RETLW |
k |
Retorna de uma rotina, com k em W. |
RETURN |
|
Retorna de uma rotina, sem afetar W. |
SLEEP |
|
Coloca o PIC em módulo Sleep( dormindo) para economia de energia. |