SISTEMAS MICROPROCESSADOS - SOFTWARE
Por: YdecRupolo • 31/1/2018 • 2.419 Palavras (10 Páginas) • 340 Visualizações
...
para exemplificar a aplicação das instruções abaixo.
BSF f,b “Setar” (Forçar 1) no bit “b” do endereço “f”
onde: f= Endereço de memória de 00 a 7Fh
b= Bit de 0 a 7
Exemplo: Supondo queira ligar o motor conectado ao bit 1 da porta B do
esquema acima, sabendo-se que o endereço de memória da porta B é 06,
utilizaria no programa a seguinte instrução.
BCF f,b “Clear” (limpa) o bit “b” do endereço “f”
onde: f= Endereço de memória de 00 a 7Fh
b= Bit de 0 a 7
BSF 0x06 , 1
UNIVERSIDADE PAULISTA – UNIP
NOTA DE AULA MICROPROCESSADOS – II Prof. Ms. Marco Antonio Baptista. Pg. 4
Exemplo: Supondo queira desligar o motor conectado ao bit 1 da porta B do
esquema acima, sabendo-se que o endereço de memória da porta B é 06,
utilizaria no programa a seguinte instrução:
COMF “f”,”d” Faz o complemento (inverte os bits) do conteúdo de um
endereço “f” colocando resultado em:
• Caso “d” = 0, resultado vai para W.
• Caso “d” = 1, resultado decrementado volta para “f”.
onde: “f”= Endereço de memória de 00 a 7Fh
“d”= 0 ou 1: onde será armazenado o resultado.
EXEMPLO: Supondo que queiramos inverter os bits do valor guardado
no endereço 31, guardando o resultado em W utilizaríamos a seguinte
instrução:
SWAPF “f”,”d” Inverte os nibles do conteúdo de um endereço “f”
colocando resultado em:
• Caso “d” = 0, resultado vai para W.
• Caso “d” = 1, resultado decrementado volta para “f”.
onde: “f”= Endereço de memória de 00 a 7Fh
“d”= 0 ou 1: onde será armazenado o resultado.
EXEMPLO: Supondo que queiramos inverter os nibles do valor
guardado no endereço 41, guardando o resultado em W utilizaríamos a
seguinte instrução:
BCF 0x06 , 1
SWAPF 0x41,0
End. Valor
41 17
End. Valor
W 71
COMF 0x31,0
End. Valor
31 55
End. Valor
W AA
UNIVERSIDADE PAULISTA – UNIP
NOTA DE AULA MICROPROCESSADOS – II Prof. Ms. Marco Antonio Baptista. Pg. 5
Instruções de Desvios e Decisões
BTFSC f,b Testa bit “b” do endereço “f” e salta a próxima instrução se o bit
“b” estiver em ”ZERO”.
onde: f= Endereço de memória de 00 a 7Fh
b= Bit de 0 a 7
Exemplo: Usando o circuito-exemplo acima, imagine que se queira saber
sobre o botão ligado ao bit 2 da porta A e, caso esteja ligado, o programa
deverá ligar o motor ligado ao bit 1 da porta B, sabendo-se que o endereço de
memória da porta A é 05 e da porta B é 06, utilizaria no programa a seguinte
instrução.
COMO É REPRESENTADO NO FLUXOGRAMA
BIT=1
COMO É REPRESENTADO NO PROGRAMA:
.
BTSFC 0x5,2
BSF 0x06 , 1
CONTINUA: (Aqui o programa continua...)
MOVLW 0x15
etc.
BIT=0
BTFSC 0x05,2
LIGAR
MOTOR
BSF 0x06 , 1
CONTINUA O
PROGRAMA
NORMALMENTE
CONTINUA
UNIVERSIDADE PAULISTA – UNIP
NOTA DE AULA MICROPROCESSADOS – II Prof. Ms. Marco Antonio Baptista. Pg. 6
BTFSS f,b Testa bit “b” do endereço “f” e salta a próxima instrução se o bit
“b” estiver em ”UM”.
onde: f= Endereço de memória de 00 a 7Fh
b= Bit de 0 a 7
Exemplo: Usando o circuito-exemplo acima, imagine que queira-se saber o
estado do botão ligado ao bit 2 da porta A e, caso esteja desligado, o
programa deverá desligar um motor ligado ao bit 1 da porta B, sabendo-se que
o endereço de memória da porta A é 05 e da porta B é 06, utilizaria no
programa a seguinte instrução:
COMO É REPRESENTADO NO FLUXOGRAMA
COMO É REPRESENTADO NO PROGRAMA:
.
BTSFC 0x5,2
BCF 0x06 , 1
CONTINUA:MOVLW 0x15
etc.
BIT=1
BTFSS 0x05,2
...