Escolar Documentos
Profissional Documentos
Cultura Documentos
Relatorio 4
Relatorio 4
UNIVERSIDADE ESTÁCIO DE SÁ
FACULDADE ESTÁCIO DE SÁ CAMPUS VILA VELHA
LABORATÓRO 01
1 OBETIVO
O objetivo deste experimento é desenvolver um contador digital de tempo. O
contador irá operar baseado no TIMER0 do microcontrolador. Será realizado uma
contagem de 0 a 30s que será mostrado em 4 displays de 7 segmentos.
Introdução Teorica: O microcontrolador PIC18F4520 possuo três timers ou
temporizadores que controlam o tempo do sistema, sendo estes Timer 0 (8bits),
Timer1(16bits) e Timer2(8 obirs ou um modulo PWM de 10 bits). Eles serão
importantes para este experimento.
2 MATERIAIS UTILIZADOS
3 PROCEDIMENTOS
#include <xc.h>
#include <stdlib.h>
#include "../include/proc/pic18f4520.h"
int contagem_decimal = 0;
int estouros = 0;
void configuraTimer(void) {
INTCONbits.GIE = 1; // Habilita interrupção global
INTCONbits.TMR0IE = 1; // Habilita interrupção pelo TIMER0
T0CONbits.TMR0ON = 1; // Habilita o TIMER0
T0CONbits.T08BIT = 1; // Seta operação em 8 bits
T0CONbits.T0CS = 0; // Clock interno (Fosc/4)
T0CONbits.T0SE = 0; // Incremento na borda de subida
T0CONbits.PSA = 0; // Habilita o prescaler
// Prescaler 1:256
T0CONbits.T0PS2 = 1;
T0CONbits.T0PS1 = 1;
T0CONbits.T0PS0 = 1;
}
void main(void) {
configuraTimer();
TRISD = 0; // Configura portD como saída.
PORTD = 0; // Seta todos os pinos do PortD em 0
__delay_ms(3);
PORTAbits.RA2 = 0;
c = (contagem_decimal % 10);
PORTD = mask(c);
PORTAbits.RA5 = 1;
__delay_ms(3);
PORTAbits.RA5 = 0;
}
}
4 RESULTADOS
8
5 CONCLUSÕES
Conclui-se que os objetivos do experimento foram alcançados.