Ir ao conteúdo
  • Cadastre-se

Ajuda com display de 7 seguimentos pic16f84


heliopiracicaba

Posts recomendados

Recebi o seguinte exercício para fazer :

Escrever uma aplicação que conte e exiba em um display de 7

segmentos de 9 à 0 com 3 segundos entre cada um dos dígitos, e

depois conte de 0 à 9 com 10 segundos entre os dígitos

para elaborar o exercício eu usei o Dev C++, e o seguinte código vou postar abaixo abaixo, porém, ao tentar compilar com o Sdcc, ele não gera os arquivos que deveriam ser gerados. Aparecem algumas mensagens no prompt... Gostaria de saber o que estou fazendo errado, e se alguem poderia ajudar a solucionar esse problema. Detalhe sou iniciante nessa área de programar para microcontroladores! Sem mais agradeço!

//   sdcc -mpic14 -p16f84 01.c
//
#include "stdio.h"
#include "stdlib.h"
#include "windows.h"
#include "time.h"

//#include "pic16f84.h"
//#define __16F84A


void tres_seg()
{
int mseconds=3000;
clock_t goal = mseconds + clock();
while (goal > clock());
}

void dez_seg()
{
int mseconds=10000;
clock_t goal = mseconds + clock();
while (goal > clock());
}


main()
{
//TRISA = 0;
//PORTA = 0;
//TRISB = 0;
//PORTB = 0;
int i;

while(1)

for(i=0;i<19;i++)


switch(i)

{
case 0:
//PORTA = 0b00111111; // 0
tres_seg();
printf("0");
break;

case 1:
//PORTA = 0b00000110; // 1
tres_seg();
printf("1");
break;

case 2:
//PORTA = 0b01011011; // 2
tres_seg();
printf("2");
break;


case 3:
//PORTA = 0b01001111; // 3
tres_seg();
printf("3");
break;


case 4:
//PORTA = 0b01100110; // 4
tres_seg();
printf("4");
break;


case 5:
//PORTA = 0b01101101; // 5
tres_seg();
printf("5");
break;


case 6:
//PORTA = 0b01111101; // 6
tres_seg();
printf("6");
break;


case 7:
//PORTA = 0b00000111; // 7
tres_seg();
printf("7");
break;


case 8:
//PORTA = 0b01111111; // 8
tres_seg();
printf("8");
break;


case 9:
//PORTA = 0b01011111; // 9
tres_seg();
printf("9");
break;


case 10:
//PORTA = 0b01011111; // 9
dez_seg();
printf("9");
break;


case 11:
//PORTA = 0b01111111; // 8
dez_seg();
printf("8");
break;

case 12:
//PORTA = 0b00000111; // 7
dez_seg();
printf("7");
break;


case 13:
//PORTA = 0b01111101; // 6
dez_seg();
printf("6");
break;


case 14:
//PORTA = 0b01101101; // 5
dez_seg();
printf("5");
break;


case 15:
//PORTA = 0b01100110; // 4
dez_seg();
printf("4");
break;


case 16:
//PORTA = 0b01001111; // 3
dez_seg();
printf("3");
break;


case 17:
//PORTA = 0b01011011; // 2
dez_seg();
printf("2");
break;


case 18:
//PORTA = 0b00000110; // 1
dez_seg();
printf("1");
break;


case 19:
//PORTA = 0b00111111; // 0
dez_seg();
printf("0");
break;

}
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!