Mapa de memória e registadores especiais
Mapa de memória
IOs PORTA - 6 I/Os, configuração em TRISA PORTB, PORTC e PORTD – 8 I/Os cada. Configuração em TRISB, TRISC e TRISD PORTE – 3 I/Os, configuração em TRISC Os bits dos registradores TRISx devem receber zero para output e um para input. Associar 0 com o e 1 com i. Exemplo: MOVLW B’ ’ MOVWF TRISB
IOs PORTA - 6 I/Os, configuração em TRISA PORTB, PORTC e PORTD – 8 I/Os cada. Configuração em TRISB, TRISC e TRISD PORTE – 3 I/Os, configuração em TRISC Os bits dos registradores TRISx devem receber zero para output e um para input. Associar 0 com o e 1 com i. Exemplo: MOVLW.31 MOVWF TRISB
IOs PORTA - 6 I/Os, configuração em TRISA PORTB, PORTC e PORTD – 8 I/Os cada. Configuração em TRISB, TRISC e TRISD PORTE – 3 I/Os, configuração em TRISC Os bits dos registradores TRISx devem receber zero para output e um para input. Associar 0 com o e 1 com i. Exemplo: MOVLW 0x1F MOVWF TRISB
Timers Podem gerar interrupções(desvios no programa principal) ou serem usados para lógicas diversas. 8 bits ou 16 bits. Timer 0 – TMR0
Configurações do Timer 0 /RBPU – Habilita Pullups internos do PORTb – 0 - Pullups internos para todas as saídas do PORTb – 1 – Pullups do PORTb desabilitados. INTEDG – Configura da borda que gera interrupção externa. – 0 – Borda de descida – 1 – Borda de subida TOC – Incremento pelo clock interno(0) ou pelo sinal do pino RA4/TOCKI(1) TOSE – Configura a borda que incrementará o TMR0 no pino RA4 – 0 – Borda de subida – 1 – Borda de descida
Configurações do Timer 0 Prescale(PSA, PS0,PS1 e PS2) – Divisão do clock para que a funcionalidade opere numa velocidade menor. PSA = 0 – Prescale aplicado ao TMR0 PSA = 1 – Prescale aplicado ao Watchdog
Configuração do timer0 MOVLW B’ ’ MOVWF OPTION_REG – Configura o TIMER0 como: PULL-UPs desabilitados Borda de subida Incrementa pelo ciclo de máquina WDT – 1:128 TIMER – 1:1
Explanação sobre os argumentos de alguns comandos
Registrador STATUS