Problema BIZARRO!!!!

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

Problema BIZARRO!!!!

Mensagempor Fenix » 08 Jun 2007 18:45

eu fiz um programa pro AT89S52 e eu quero botar mais coisa nele, ams se eu fizer qualquer coisa ele da problema em uma linha q eu num mexo, e num tem como arrumar, pq a linha ta certa!!!!!!! e esse prog tava compilado, e funcionando!
vo postar o fonte, se vc axarem algum erro avisem plz!!!

#include <at89x52.h>

/* Declaração dos sensores */
#define PORTA_FECHADA !P2_1
#define LATA !P2_7
/* Fim da declaração dos sensores */

/* Declaração dos atuadores */
#define desce P1_0
#define sobe P1_1
/* Fim da declaração dos atuadores */

void tempo(int seg);
void func_sobe(int seg);
void func_desce(int seg);
main(void)
{
P1=P2=P3=P0=0xFF;
sobe=desce=0;
TMOD=0x11;
TCON=0;
func_sobe(3);
while(1)
{
if(PORTA_FECHADA && LATA)
{
tempo(2);
func_desce(3);
func_sobe(3);
while(LATA);
}
}
}

void func_desce(int seg)
{
int contador;
desce=1;
while(seg>0)
{
contador=20;
while(contador>0)
{
TH1=0x3C;
TL1=0xAF;
TR1=1;
while(TF1==0)
{
if(!PORTA_FECHADA)
{
desce=0;
while(!PORTA_FECHADA);
desce=1;
}
}
contador--;
TF1=0;
TR1=0;
}
seg--;
}
desce=0;
}

void func_sobe(int seg)
{
int contador;
sobe=1;
while(seg>0)
{
contador=20;
while(contador>0)
{
TH1=0x3C;
TL1=0xAF;
TR1=1;
while(TF1==0)
{
if(!PORTA_FECHADA)
{
sobe=0;
while(!PORTA_FECHADA);
sobe=1;
}
}
contador--;
TF1=0;
TR1=0;
}
seg--;
}
sobe=0;
}

void tempo(int seg)
{
int contador;
while(seg>0)
{
contador=20;
while(contador>0)
{
TH1=0x3C;
TL1=0xAF;
TR1=1;
while(TF1==0);
TR1=0;
TF1=0;
contador--;
}
seg--;
}
}
Avatar do usuário
Fenix
Bit
 
Mensagens: 7
Registrado em: 26 Nov 2006 09:00

Mensagempor styg » 10 Jun 2007 22:42

nao deu pra t entende nao.. isso ta funcionando, ou mexendo que ele nao funfa??
Lucas
Avatar do usuário
styg
Word
 
Mensagens: 799
Registrado em: 16 Out 2006 08:24
Localização: Floripa abaixo de zero.

Re: Problema BIZARRO!!!!

Mensagempor andre_luis » 11 Jun 2007 12:07

Fenix escreveu: P1=P2=P3=P0=0xFF;


A linguagem 'C' aceita isso ?
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor brasilma » 11 Jun 2007 13:00

Minhas sugestões são as seguintes:

Fazer como "Jack" (o estripador), e ir por partes, ou seja, inicie um novo projeto acrescentando aos poucos as partes do seu programa, até ver a que está dando problema, e ai resolva o problema.

ou

Tentar implementar as rotinas de forma diferente até que o problema suma.

Isto é normal em programação, e o melhor é aprender logo como resolver.

Abraços,
MArcos.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Re: Problema BIZARRO!!!!

Mensagempor Fábio Pereira » 11 Jun 2007 13:26

andre_teprom escreveu:
Fenix escreveu: P1=P2=P3=P0=0xFF;


A linguagem 'C' aceita isso ?


Aceita sim ... ;-)

T+
Fábio Pereira
embeddedsystems.io
Avatar do usuário
Fábio Pereira
Word
 
Mensagens: 674
Registrado em: 16 Out 2006 09:07
Localização: Kitchener, ON

Mensagempor Fenix » 12 Jun 2007 15:52

brasilma escreveu:Minhas sugestões são as seguintes:

Fazer como "Jack" (o estripador), e ir por partes, ou seja, inicie um novo projeto acrescentando aos poucos as partes do seu programa, até ver a que está dando problema, e ai resolva o problema.

ou

Tentar implementar as rotinas de forma diferente até que o problema suma.

Isto é normal em programação, e o melhor é aprender logo como resolver.

Abraços,
MArcos.


Esse fonte não tem problema, compila e não da erro, mas se eu mudar qualquer coisa, por exemplo, se eu colocar: P0=0xFF; P1=0xFF; P2=0xFF; P3=0xFF; em vez de P0=P1=P2=P3=0xFF ,o programa não vai compilar mais, vai dar erro na linha 73, que é essa: "void func_sobe(int seg) ". mas ela não tem erro!

esse é o problema, eu já tentei compilar em outro PC e deu o mesmo erro.

Só pra deixar a coisa mais estranha, eu copiei o fonte q postei aqui pra editar na Escola e agora compilo, com as alterações sem problema!

Achoo que "resolvi" o problemas, se der o erro denovo volto aqui.
Avatar do usuário
Fenix
Bit
 
Mensagens: 7
Registrado em: 26 Nov 2006 09:00


Voltar para 8051

Quem está online

Usuários navegando neste fórum: Bing [Bot] e 1 visitante

x