Вы находитесь на странице: 1из 3

Word - Trata-se de um registrador temporrio para as operaes da ULA. Ele conhecido como W.

. File - Referncia a um registrador (posio de memria) propriamente dito. Utilizaremos a letra F para sua representao nos nomes de instrues e f nos argumentos delas. Literal - Um nmero qualquer que pode ser escrito na forma decimal, hexa e binria. Utilizaremos a letra L para sua representao nos nomes das instrues e k nos argumentos delas. Destino - O local onde ser armazenado o resultado da operao. Existem somente dois destinos possveis: F, que guardar o resultado no prprio registrador, ou W, que colocar o resultado em Work, o destino deve ser expresso pelos nmeros 0(W) ou 1(F). Bit - Refere-se a um bit especifico dentro de um byte. Utilizaremos a letra B para sua representao nos nomes das instrues e b nos argumentos delas. Set - Refere-se ao ato de setar um bit, isto , torn-lo equivalente a UM. Utilizaremos a letra S para representa-lo nos nomes das instrues. Skip: Significa "pulo", e utilizado para criar desvios, pulando para prxima linha. Utilizaremos a letra S para representa-los nos nomes das instrues. Clear - Refere-se ao clear de um bit, isto , torna-lo equivalente a ZERO. Utilizaremos a letra C para representa-lo nos nomes das instrues. ADD: Soma AND: Lgica E CLR: Limpar, zerar (CLEAR) COM: Complemento DEC: Decrementar INC: Incrementar IOR: Lgica OU MOV: Mover, transferir para algum lugar RL: Rotacionar 1 bit para a esquerda (rotation Left) RR: Rotacionar 1 bit para a direita (rotation right) SUB: Subtrao SWAP: Inverso entre as partes alta e baixa de um registrador XOR: Logica OU EXCLUSIVO Exemplo: Decrementar (DEC) um registrador (F) = DECF DECFSZ = Decrementa (DEC) o registrador (F) e pula (S) se o resultado for zero; Definies: #DEFINE LED PORTB,1 ;LED o nome da definio, e PORTB, 1 o que ser considerado toda vez que o nome for utilizado durante o programa. END Essa diretriz deve ser sempre colocada ao final do programa, pois quando o compilador encontra-la, a compilao ser terminada. Trabalhando com a memria:

Conhecendo o banco de memria (BANK0 e BANK1): O PIC possui dois bancos de memria para os registradores SFR. A memria para variveis do sistema disponvel somente no banco 0. Com objetivo de tornar esta tarefa muito mais fcil, criamos dois comandos virtuais chamados BANK0 e BANK1, que so definidos no arquivo-modelo da seguinte maneira: #DEFINE BANK0 BCF STATUS,RP0 ;Seta bank 0 de memria #DEFINE BANK1 BCF STATUS,RP0 ;Seta bank 1 de memria Desta forma, quando escrevemos BANK0, estaremos na verdade mandando limpar o bit RP0 do registrador STATUS, e quando escrevemos BANK1, estaremos mandando setar esse mesmo bit. Recomendamos no entanto, que, aps efetuadas as alteraes necessrias no banco1, o sistema retorne sempre para o banco0 Lidando com Dados (MOVLW, MOVWF, MOVF, CLRF, CLRW): MOVLW: Move (MOV) uma literal(L) para o registrador work(W) MOVWF: Move (MOV) o valor de work(W) para um registrador(F) MOVF: Move (MOV) o valor de um registrador(F) para um local de destino passado como argumento (f ou w) Ex: MOVLW k MOVWF f MOVF f,d ;em que k o nmero que ser colocado em W ;em que f o endereo da memria onde ser guardado o valor de W ;em que f o registrador que ser movido para o destino d ;Lembre-se que existem dois destinos possveis: W e F

Assim sendo; Para guardar um nmero em uma posio de memria: 1- mov-lo para a work (MOVLW) 2- mov-lo do work para o registrador propriamente dito (MOVWF) Instruo MOVF utilizada para movermos o contedo outro. Exemplo: Escrever em TEMPO2 o mesmo valor existente em TEMPO1 MOVF TEMPO1,W MOVWF TEMPO2 ;move o valor de TEMPO1 para o work ;move o valor de w (TEMPO1) para TEMPO2 de um registrador para

CLRF: Limpa (CLR) o registrador (F) CLRF f ;em que f o endereo de memria que se deseja limpar

Definindo as entradas e sada: Para facilitar pode-se dar nomes aos pinos por meio da diretriz #DEFINE Exemplo: Pino RA0 - Boto Pino RA1 - Buzzer Pino RB0 a RB7 - LED's #DEFINE BOTAO PORTA,0 ;BOTAO DE START DO SISTEMA (PINO 17 - RA0) ;0-> BOTO SOLTO - 1 -> BOTAO PRESSIONADO

#DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE #DEFINE BSR atual. d -

SOM LED0 LED1 LED2 LED3 LED4 LED5 LED6 LED7

PORTA,1 PORTB,0 PORTB,1 PORTB,2 PORTB,3 PORTB,4 PORTB,5 PORTB,6 PORTB,7

;BUZZER ;LED0 ;LED1 ;LED2 ;LED3 ;LED4 ;LED5 ;LED6 ;LED7 -

(PINO (PINO (PINO (PINO (PINO (PINO (PINO (PINO (PINO

18 - RA1) 6 - RB0) 7 - RB1) 8 - RB2) 9 - RB3) 10 - RB4) 11 - RB5) 12 - RB6) 13 - RB7)

selecionar banco registro Usado para selecionar o banco de RAM Selecionar destino do Bit d = 0: armazena o resultado em WREG d = 1: armazena o resultado em arquivo registo f

f fs fd k label WREG -

Вам также может понравиться