Escolar Documentos
Profissional Documentos
Cultura Documentos
Pgina
montador ir trabalhar. No
diretiva LIST p=16F877
servem para que em uma
deseja ir no programa. Os
Pgina
rtulos sempre so alinhados na coluna 0 (sem espaos antes do mesmo), enquanto que as
instrues devem ser escritas aps uma margem (obrigatoriamente aps a coluna 0).
COMENTRIOS : So trechos de texto escritos aps um sinal de ponto e vrgula (;). So
teis para que possamos adicionar pequenos lembretes no programa, facilitando a manuteno
futura. No interferem no tamanho do programa binrio gerado.
Outros termos importantes :
MONTADOR : o programa que transforma um programa fonte assembly em um
programa executvel. Um exemplo o MPASM, que faz parte do MPLAB, uma ferramenta de
desenvolvimento distribuda pela MicroChip (fabricante dos microcontroladores PIC)
AS INSTRUES
Por se tratar de um microcontrolador RISC, o PIC oferece um nmero reduzido de
instrues. No entanto, ainda podemos dividir as instrues utilizadas pela famlia 16 dos
microcontroladores PIC em 6 grupos :
Instrues para manipulao de bytes de memria (B)
Instrues para manipulao de bits de memria (b)
Desvios incondicionais (Di)
Desvios condicionais (D)
Instrues com valores constantes (K)
Instrues de controle (G)
Instruo e
Parmetros
Mneumnicos
Descrio
ADDWF
f, d
ANDWF
CLRF
Tipo
Ciclos
Bits de status
afetados
Adio : W + F.
C, DC, Z
f, d
CLRW
COMF
f, d
DECF
f, d
Decrementa F
DECFSZ
f, d
INCF
f, d
Incrementa F
INCFSZ
f, d
IORWF
f, d
MOVF
f, d
MOVWF
Move W para F
NOP
B,Dc
B
B,Dc
1
1
Z
Z
1 (2)
1
1 (2)
1
1
Z
Z
RLF
f, d
RRF
f, d
SUBWF
f, d
Subtrai W de F : (f-W)
C,DC,Z
SWAPF
f, d
Pgina
XORWF
f, d
BCF
f, b
BSF
f, b
BTFSC
f, b
b,Dc
1 (2)
BTFSS
f, b
b,Dc
1 (2)
ADDLW
C,DC,Z
ANDLW
CALL
Di
CLRWDT
GOTO
Di
IORLW
MOVLW
Di
RETFIE
RETLW
B,Di
~TO, ~PD
2
Z
RETURN
Di
SLEEP
~TO, ~PD
SUBLW
C,DC,Z
XORLW
Pgina
volta
btfss PORTA,1
goto deslig
ligado
movlw 0x0F
movwf PORTD
goto volta
deslig
movlw 0xAA
movwf PORTD
goto volta
REGISTRADOR
o nome utilizado para identificar uma posio de memria interna do microcontrolador.
No caso do microcontrolador PIC16F877, possumos capacidade de acesso interno a 512 bytes
de memria. Cada byte (8 bits) um registrador. Temos, portanto, 512 registradores. No
entanto, alguns destes registradores so utilizados para fins especficos, estando diretamente
relacionados a perifricos internos do microcontrolador (como conversores AD, entradas e
sadas digitais, configurao dos perifricos, etc...), e outros destes registradores no so
fisicamente implementados (so "buracos" deixados para futuras melhorias do projeto do
microcontrolador).
Outros registradores so os denominados "General Purpose Registers", ou
"Registradores de Uso Geral". So posies de memria livres, que podem ser utilizados para
armazenamento temporrio de valores (variveis). Como so parte da memria RAM do
microcontrolador, todos os dados armazenados nos registradores so volteis, ou seja,
so perdidos ao se desligar o mesmo.
Observe, na tabela que segue, os FILE REGISTERS (ou Arquivos Registradores) do
PIC16F877
Pgina
Pgina
bcf
bcf
clrf
bsf
movlw
movwf
movlw
movwf
movlw
STATUS, RP0
STATUS, RP1
PORTA
STATUS, RP0
0x06
ADCON1
0xff
TRISA
0x00
comeco
volta1
volta2
tempo
temp1
temp2
movwf
bcf
TRISD
STATUS, RP0
movlw
movwf
movlw
movwf
call
rlf
decfsz
goto
movlw
movwf
call
rrf
decfsz
goto
goto
0x01
PORTD
0x07
CONT
tempo
PORTD,f
CONT,f
volta1
0x07
CONT
tempo
PORTD,f
CONT,f
volta2
comeco
movlw
movwf
movlw
movwf
movlw
movwf
decfsz
goto
decfsz
goto
decfsz
goto
return
0x03
VAR1
0x3F
VAR2
0xFF
VAR3
VAR3,F
$-1
VAR2,F
temp2
VAR1,F
temp1
Pgina