Problemas no portE do 16F877A

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Problemas no portE do 16F877A

Mensagempor lpagano » 27 Dez 2006 14:29

Pessoal,

Estou fazendo um programa em C (via CCS) para usar o portE como saída digital do 16F877A, mas não há meio de fazer sair os 5 volts no RE0 e RE1. Quando fiz o teste no RA0 e RA1 funcionou sem problemas.
Já declarei no programa que todas os pinos dos ports A e E são digitais, mas mesmo assim não funcionou. Veja abaixo como fiz as declarações:


setup_adc(adc_off);
setup_adc_ports(no_analogs);
set_tris_b(0b11110000);
set_tris_c(0b11111000);
set_tris_d(0b11110000);
set_tris_e(0b00000000);

Nota: também testei o trisE como sendo declarado: set_tris_e(0b000) pois o portE tem somente 3 portas nesse PIC.

Alguém saberia me dizer se precisa fazer mais alguma coisa?

Valeu!
lpagano
Byte
 
Mensagens: 393
Registrado em: 06 Nov 2006 14:23

Re: Problemas no portE do 16F877A

Mensagempor andre_luis » 27 Dez 2006 15:06

confere no datasheet se o port E pode ser open colector
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor lpagano » 27 Dez 2006 17:57

Cara, procurei no datasheet mas não encontrei informação referente à open collector no PORTE.

Valeu!
lpagano
Byte
 
Mensagens: 393
Registrado em: 06 Nov 2006 14:23

Mensagempor Hermecildes » 28 Dez 2006 09:01

Tente configurar os registros ADCON1 e 0 diretamente, talves um pequeno programa em assembly para testar as portas, se funcionar, o arquivo .INC do compilador pode estar alterado.
Atitude em tempo real.
Avatar do usuário
Hermecildes
Nibble
 
Mensagens: 64
Registrado em: 13 Dez 2006 19:01

Mensagempor microeletronica » 28 Dez 2006 09:40

Obrserve que os REs acumulam algumas funcoes...:

RE0/RD/AN5
RE1/WR/AN6
RE2/CS/AN7


Observe que o registrador "REGISTER 4-1: TRISE REGISTER (ADDRESS 89h)"

bit 4 PSPMODE: Parallel Slave Port Mode Select bit
1 = PORTD functions in Parallel Slave Port mode
0 = PORTD functions in general purpose I/O mode

Vc tem obrigatoriamente colocar o TRISE bit 4 em 0!

bit 0, 1 e 2 em 0 -> para Output.
------

Coloque "REGISTER 11-2: ADCON1 REGISTER (ADDRESS 9Fh)"

bit 3-0 PCFG3:PCFG0: A/D Port Configuration Control bits
em 0110

--------

Em "REGISTER 11-1: ADCON0 REGISTER (ADDRESS 1Fh)"

coloque 0 em bit 0 - ADON: A/D On bit


Boa sorte, e tomeara que funcione.
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Re: Problemas no portE do 16F877A

Mensagempor andre_luis » 28 Dez 2006 09:45

Só tem uma explicacao:

Ou voce está fazendo include errado, ou o resto do programa está acessando essa porta .

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor microeletronica » 28 Dez 2006 10:12

é verdade...
Tenta colocar os Regiostradores na mao.

[]/s/;
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22

Mensagempor lpagano » 28 Dez 2006 12:02

Valeu a força pessoal!!!
Vou tentar botar essas declaarações no assembler para ver se dá certo. Mas o resto do programa não acessa a porta. Inclusive eu medi os pinos do portE com voltímetro e está tudo em LOW.

Depois eu coloco os resultados aqui.

Valeu!
lpagano
Byte
 
Mensagens: 393
Registrado em: 06 Nov 2006 14:23

Mensagempor andre_luis » 28 Dez 2006 12:27

Uma dica besta....coloca 0xFF no port E.
Voce tentou em outro microcontrolador ? Pode ser que ESSE aí esteja queimado.

+++
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor lpagano » 29 Dez 2006 16:30

Seguinte, consegui fazer funcionar da seguinte maneira: botei 2 leds nos pinos E0 e E1. Eles acenderam com o comando output(pin_e0) e output(pin_e1).
Depois eu implementei no meu código o comando acima ao invés de output_e( ) e funcionou. Acho que é porque o output_E( ) lança uma palavra de 8 bits e no portE só tem e pinos (bits).

É isso!!!

Valeu!
lpagano
Byte
 
Mensagens: 393
Registrado em: 06 Nov 2006 14:23

Mensagempor microeletronica » 29 Dez 2006 19:49

Que bom!!!
:)
microeletronica
Byte
 
Mensagens: 158
Registrado em: 05 Dez 2006 18:22


Voltar para PIC

Quem está online

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

x