PIC16F877A - Matriz de LEDs - problemas na ativação da saída

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

PIC16F877A - Matriz de LEDs - problemas na ativação da saída

Mensagempor georgevs » 08 Out 2010 00:09

Estou usando o PIC16F877A e a linguagem C através do CCS, tenho uma matriz com 320 LEDs (32x10) que acessa uma eeprom 24C256... O problema é o seguinte, na minha lógica as duas primeiras filas (fila1 e fila 2) não estão funcionando... elas estão declaradas no tipo:
#bit fila1 = portc.0
#bit fila2 = portc.1
#bit fila3 = portd.0
#bit fila4 = portd.1 ... assim por diante até fila10
Quando eu ativo elas logo depois do void main por exemplo elas funcionam normalmente.. mas dentro do void main tenho a estrutura abaixo:

loop:
while(true) // rotina principal
{
for(cont=0;cont<50;cont++)
{
end_low = 1;
mostra_tela();
}
}

E nessa função mostra_tela:

void mostra_tela()
{
for(i=0;i<10;i++)
{
carrega_linha();
//desabilita fila ativa - desliga todas logo sem comparar...
fila1 = 0;
fila2 = 0;
fila3 = 0;
fila4 = 0;
fila5 = 0;
fila6 = 0;
fila7 = 0;
fila8 = 0;
fila9 = 0;
fila10 = 0;
latchclk = 1; //mostra a linha
latchclk = 0;

//habilita fila ativa
if (i==0)
fila1 = 1;
else if (i==1)
fila2 = 1;
else if(i==2)
fila3 = 1;
(...)

Nessa parte a ativação já não dá certo.. Quando eu analiso pela Watch ocorre o seguinte:
-Quando a ativação é feita corretamente:
EXEMPLO: fila1 = 0;
fila 1 ----- 0x10
bit0 ------ 0x00
EXEMPLO: fila1 = 1;
fila 1 ----- 0x11
bit0 ------ 0x01
Até aí tudo bem.. medindo no pino tbm.. 0 e 5v...
-Quando está na minha rotina normal:
EXEMPLO: fila1 = 0;
fila 1 ----- 0x10
bit0 ------ 0x00
EXEMPLO: fila1 = 1;
fila 1 ----- 0x18
bit0 ------ 0x00


Se eu debugo pelo MPLAB SIM vai tudo certinho, mas pelo PicKit2 (em tempo real) acontece isso...

Obs: já experimentei trocar os pinos da fila1 e fila2 por outros da porta E, daí o problema ocorre nas filas 3 e 4.. :x

Se alguém puder dar uma dica do que pode estar originando o erro...
Agradeço desde já...
George Silva
georgevs
 
Mensagens: 1
Registrado em: 16 Set 2010 02:27

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x