SISTEMAS MICROCONTROLADOS - LAB 3
SISTEMAS MICROCONTROLADOS - LAB 3
SISTEMAS MICROCONTROLADOS - LAB 3
R: Por trabalharem com pull-up, são chaves de baixo ativas, eles forçam nível
baixo quando pressionados e não pressionados deixam nível alto.
FLUXOGRAMA DO CONTADOR BCD
CÓDIGO A PARTIR DO FLUXOGRAMA DOCUMENTADO
/*
* File: lab3.c
* Author: Nathan Zavam 2410354
* Rodrigo Méro de Omena 2209152
* Tiago Martelli Souza 2313120
*
* Created on 22 de Outubro de 2024, 14:47
*/
#include <xc.h>
#define _XTAL_FREQ 20000000
void main(void) {
//Instancia Saidas(LEDs)
TRISDbits.TRISD0 = 0;
TRISDbits.TRISD1 = 0;
TRISDbits.TRISD2 = 0;
TRISDbits.TRISD3 = 0;
//Desliga todos os LEDs
PORTDbits.RD0 = 1;
PORTDbits.RD1 = 1;
PORTDbits.RD2 = 1;
PORTDbits.RD3 = 1;
//Instancia Entradas(Botoes)
TRISCbits.TRISC0 = 1;
TRISCbits.TRISC1 = 1;
int contador = 0;
while(1){
//Botao de Incremento e Decremento
if(!PORTCbits.RC0){ //Botão INC
__delay_ms(400); //Delay anti-bouncing
if(contador < 9) { //Verifica limite superior
cont++;
imprime(contador);
}
}
if (!PORTCbits.RC1){ //Botão DEC
__delay_ms(400);
if(contador > 0) { //Verifica limite inferior
cont--;
imprime(contador);
}
}
}
}
EXPLICAÇÃO DO FUNCIONAMENTO
DIFICULDADES