Últimos assuntos
Quem está conectado?
Há 407 usuários online :: 0 registrados, 0 invisíveis e 407 visitantes :: 1 motor de buscaNenhum
O recorde de usuários online foi de 1034 em Sex 24 Jul 2015, 10:41
Tópicos semelhantes
Anuncios
Nenhum anúncio
(resolvido) Como configurar pino RA4 do PIC16F628A como saída?
2 participantes
Página 1 de 1
(resolvido) Como configurar pino RA4 do PIC16F628A como saída?
Boa noite. Estava fazendo uns testes com LEDS na qual usava todo o PORTB do PIC16F628A e precisava de mais duas saídas do PORTA mas não quis funcionar, todos funcionaram normais menos o RA4, mais estranho é que diz no datasheet que ele é bidirecional. já até resolvi usando no caso o RA2 mas fiquei encucado do porque ele não ter funcionado.
Configurei o registrador TRISA certinho, habilitei o RA4 em nível baixo, desabilitei comparadores, coloquei o programa em while mas não funcionou. Tem alguma configuração especial pra ele.
Configurei o registrador TRISA certinho, habilitei o RA4 em nível baixo, desabilitei comparadores, coloquei o programa em while mas não funcionou. Tem alguma configuração especial pra ele.
Última edição por CACÁ em Seg 27 Nov 2017, 07:30, editado 1 vez(es)
_________________
CACÁ- Administrador Auxiliar
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : 17 anos/ 9 anos
Sexo :
Número de Mensagens : 19804
Idade : 44
Cidade/Estado: : Ritápolis Minas Gerais
Humor : Bom
Data de inscrição : 25/03/2010
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
Qual o compilador utilizado???
E mostre seu código.
Flw...
E mostre seu código.
Flw...
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
Uso o MiKroc.
Para ficar mais fácil criei aqui um programinha simples só pra testar e claro, RA4 não funcionou.
Para ficar mais fácil criei aqui um programinha simples só pra testar e claro, RA4 não funcionou.
- Código:
//Definições
#define LED1 RA4_bit
#define LED2 RB7_bit
#define chave RA0_bit
void main() //Função principal
{
CMCON = 0x07; //Desabolita Comparadores
TRISA.RA4 = 0x00; //RA4 como saida
RA4_bit = 0x00; //RA4 em nível baixo
TRISA.RA0 = 0x01; //RA0 como entrada
TRISB = 0x00; //PORTB como saída
PORTB = 0x00; //PORTB em nível baixo
while(1) //Rotina de repetição
{
if(!chave)
{
LED1 = 0x01;
LED2 = 0x01;
delay_ms(2000);
LED1 = 0x00;
delay_ms(2000);
LED2 = 0x00;
delay_ms(1000);
}
} // Fim da rotina
//Fim da Função
}
_________________
CACÁ- Administrador Auxiliar
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : 17 anos/ 9 anos
Sexo :
Número de Mensagens : 19804
Idade : 44
Cidade/Estado: : Ritápolis Minas Gerais
Humor : Bom
Data de inscrição : 25/03/2010
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
O problema é que o pino RA4 é dreno aberto(Bidirectional I/O port. Output is open drain type., Páginas 35 e 37 do datasheet)... tem que usar um arranjo com transistor e resistor de pullup!!!
Ou ainda fazer Sink.
A única inclusão que fiz automaticamente foi definir o PORTA:
TRISA = 0x01; //PORTA ENTRADA PINO 1
Uma dica (que não teve nada a haver com o seu problema) é usar o INTOSC: IO functiton nos dois pinos RA6 e RA7, caso queira usá-los como Entrada/Saida.
Seu delay está um pouco alto... deixe um valor menor para testes, algo tipo 500 ou 1000ms. Talvez por isso você não está vendo ele funcionar.
Flw...
Ou ainda fazer Sink.
A única inclusão que fiz automaticamente foi definir o PORTA:
TRISA = 0x01; //PORTA ENTRADA PINO 1
Uma dica (que não teve nada a haver com o seu problema) é usar o INTOSC: IO functiton nos dois pinos RA6 e RA7, caso queira usá-los como Entrada/Saida.
Seu delay está um pouco alto... deixe um valor menor para testes, algo tipo 500 ou 1000ms. Talvez por isso você não está vendo ele funcionar.
- Código:
//Definições
#define LED1 RA4_bit
#define LED2 RB7_bit
#define chave RA0_bit
void main() //Função principal
{
CMCON = 0x07; //Desabolita Comparadores
TRISA = 0x01; //PORTA ENTRADA PINO 1
TRISB = 0x00; //PORTB como saída
PORTA = 0x00; //PORTA em nível baixo
PORTB = 0x00; //PORTB em nível baixo
while(1) //Rotina de repetição
{
if(!chave)
{
LED1 = 0x01;
LED2 = 0x01;
delay_ms(500);
LED1 = 0x00;
delay_ms(500);
LED2 = 0x00;
delay_ms(500);
} // Fim do if
} // Fim da rotina
} //Fim da Função
Flw...
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
Compilei e testei o programa com essas mudanças que fez e nada, RA4 não acende o LED, mudando no define para RA2 e mudando no Proteus ele acende normalmente.
Não é preciso definir no PORTA os pinos de saída?
Estou achando que o problema pode ser esse dele ser dreno aberto, inverti tudo e assim ele funcionou acendendo o LED em nível baixo
Não é preciso definir no PORTA os pinos de saída?
Estou achando que o problema pode ser esse dele ser dreno aberto, inverti tudo e assim ele funcionou acendendo o LED em nível baixo
- Código:
//Definições
#define LED1 RA4_bit
#define LED2 RB7_bit
#define chave RA0_bit
void main() //Função principal
{
CMCON = 0x07; //Desabilita Comparadores
TRISA = 0x01; //PORTA ENTRADA PINO 1
TRISB = 0x00; //PORTB como saída
PORTA = 0x10; //RA4 em nível alto
PORTB = 0xff; //PORTB em nível baixo
while(1) //Rotina de repetição
{
if(chave)
{
LED1 = 0x00;
LED2 = 0x00;
delay_ms(500);
LED1 = 0x01;
delay_ms(500);
LED2 = 0x01;
delay_ms(500);
} // Fim do if
} // Fim da rotina
} //Fim da Função
_________________
CACÁ- Administrador Auxiliar
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : 17 anos/ 9 anos
Sexo :
Número de Mensagens : 19804
Idade : 44
Cidade/Estado: : Ritápolis Minas Gerais
Humor : Bom
Data de inscrição : 25/03/2010
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
TRISA = 0x01; //PORTA ENTRADA PINO 1
Faz o pino 1 ser entrada e retante saída...
HEX 0x01 = 00000001 em binário... que é justamente o RA0 setado como entrada e restante saída...
Sobre não funcionar, é assim mesmo esse pino... só tem um mosfet tipo N, quando vc deixa o RA4 em nível logico 0, o mosfet conduz do GND para o pino... mas quando deixa o RA4 em nivel logico 1, ele corta o mosfet, mas como não há o mosfet P, RA4 fica em ponto de flutuação. Observe a diferença dos pinos RA4, RA5 que é só entrada e RA6 que é Bidirecional normal, no caso ele usa uma inversora e não um mosfet.
Observe o pinos do PORTB como são diferentes, há um mosfet P.
Você ainda pode deixar em modo LED Source e adicionar um resistor de pullup no valor calculado para o LED acender, que funciona...
Flw...
Faz o pino 1 ser entrada e retante saída...
HEX 0x01 = 00000001 em binário... que é justamente o RA0 setado como entrada e restante saída...
Sobre não funcionar, é assim mesmo esse pino... só tem um mosfet tipo N, quando vc deixa o RA4 em nível logico 0, o mosfet conduz do GND para o pino... mas quando deixa o RA4 em nivel logico 1, ele corta o mosfet, mas como não há o mosfet P, RA4 fica em ponto de flutuação. Observe a diferença dos pinos RA4, RA5 que é só entrada e RA6 que é Bidirecional normal, no caso ele usa uma inversora e não um mosfet.
Observe o pinos do PORTB como são diferentes, há um mosfet P.
Você ainda pode deixar em modo LED Source e adicionar um resistor de pullup no valor calculado para o LED acender, que funciona...
Flw...
Última edição por nagkiller em Dom 26 Nov 2017, 11:23, editado 1 vez(es)
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
Ah entendi esclarecido então. Quanto ao fuses que esqueci de responder depois eu me liguei mesmo que estava errado, valeu mas até por algumas dicas que li qualquer teste hoje que levo pra protoboard, mesmo com LEDS, eu uso XT, um cristal de 4MHZ e dos capacitores de 27nF.
Quanto ao TRISA sério kkkkk comecei a rir aqui quando vi sua resposta kkkkk eu dei um fora nem me liguei a esse detalhe kkk
Aproveitando a chance qual compilador acha melhor para aprender? Mikroc ou CCS? Vi um pessoal falando mal do CCS dizendo que ele não usa a linguagem C ANSI como no Mikroc e algumas coisas serem automáticas como essa configuração de portas.
Quanto ao TRISA sério kkkkk comecei a rir aqui quando vi sua resposta kkkkk eu dei um fora nem me liguei a esse detalhe kkk
Aproveitando a chance qual compilador acha melhor para aprender? Mikroc ou CCS? Vi um pessoal falando mal do CCS dizendo que ele não usa a linguagem C ANSI como no Mikroc e algumas coisas serem automáticas como essa configuração de portas.
_________________
CACÁ- Administrador Auxiliar
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : 17 anos/ 9 anos
Sexo :
Número de Mensagens : 19804
Idade : 44
Cidade/Estado: : Ritápolis Minas Gerais
Humor : Bom
Data de inscrição : 25/03/2010
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
O melhor pra aprender na minha opinião é o MikroC, pois ele segue o padrão que mais se assemelha ao Assembly, ainda mais pra quem aprendeu microcontroladores em ASM primeiro.
CCS tem muita coisa pronta, e contrário do que dizem, ele também dá acesso à registradores. Para isso tem que saber o endereço dele, via datasheet se tem a informação.
Exemplo acessar o PORTA seria assim: #byte REG_PORTA=0x05 então poderá acessar o PORTA com a variável REG_PORTA ou outro nome que atribuir.
Usei por muito tempo o Hitech C, mas hoje eu utilizo mais o CCS do que o MikroC, embora tenho instalado, mas as três são excelentes ferramentas.
A melhor ferramenta vai ser a que você souber usar com mais facilidade e que tenha suporte (no caso dos compiladores C as duas são bem recheadas de informações em fóruns, etc...).
Flw...
CCS tem muita coisa pronta, e contrário do que dizem, ele também dá acesso à registradores. Para isso tem que saber o endereço dele, via datasheet se tem a informação.
Exemplo acessar o PORTA seria assim: #byte REG_PORTA=0x05 então poderá acessar o PORTA com a variável REG_PORTA ou outro nome que atribuir.
Usei por muito tempo o Hitech C, mas hoje eu utilizo mais o CCS do que o MikroC, embora tenho instalado, mas as três são excelentes ferramentas.
A melhor ferramenta vai ser a que você souber usar com mais facilidade e que tenha suporte (no caso dos compiladores C as duas são bem recheadas de informações em fóruns, etc...).
Flw...
Última edição por nagkiller em Dom 26 Nov 2017, 11:45, editado 1 vez(es)
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
nagkiller escreveu:O melhor pra aprender na minha opinião é o MikroC, pois ele segue o padrão que mais se assemelha ao Assembly, ainda mais pra quem aprendeu microcontroladores em ASM primeiro.
CCS tem muita coisa pronta, e contrário do que dizem, ele também dá acesso à registradores. Para isso tem que saber o endereço dele, via datasheet se tem a informação.
Exemplo acessar o PORTA seria assim: #byte REG_PORTA=0x05 então poderá acessar o PORTA com a variável REG_PORTA ou outro nome que atribuir.
Usei por muito tempo o Hitech C, mas hoje eu utilizo mais o CCS do que o MikroC, embora tenho instalado, mas as três são excelentes ferramentas.
A melhor ferramenta vai ser a que você souber usar com mais facilidade e que tenha suporte (no caso dos compiladores C as duas são bem recheadas de informações em fóruns, etc...).
Flw...
Entendi. Muito obrigado por mais essa.
_________________
CACÁ- Administrador Auxiliar
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : 17 anos/ 9 anos
Sexo :
Número de Mensagens : 19804
Idade : 44
Cidade/Estado: : Ritápolis Minas Gerais
Humor : Bom
Data de inscrição : 25/03/2010
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
Aqui há um vídeo explicando algumas coisas:
Aos 15:00 de vídeo ele fala que não seta TRISB e realmente não precisa, mas é possível fazer isso com o comando:
Flw...
Aos 15:00 de vídeo ele fala que não seta TRISB e realmente não precisa, mas é possível fazer isso com o comando:
- Código:
set_tris_a(0x00); // Tudo entrada 00000000
set_tris_b(0x80); // Tudo Saida 10000000 exceto RB7 entrada
output_a(0x00); // Tudo em nível logico zero
output_b(0x00); // Tudo em nível logico zero
Flw...
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
Eu cheguei a ver esse vídeo mesmo aliás estou acompanhando todos os vídeos do Wagner Rambo, a única coisa que não gosto muito dos vídeos dele é que em certas partes ele é muito direto, deixando partes sem explicar (ponteiros e vetores em variáveis por exemplo)
Aproveitando o post deixa te perguntar, pela biblioteca do display LCD do Mikroc em padrão vem:
RS no RB4,
EN no RB5,
RW aterrado,
D4 no RB0,
D5 no RB1,
D6 no RB2,
D7 no RB3,
Posso alterar usando uma configuração parecida com o PIC C Compiler da CCS deixando no caso
EN no RB0,
RS no RB1,
RW aterrado,
D4 no RB4,
D5 no RB5,
D6 no RB6,
D7 no RB7,
Em simulador testei isso e deu certo e também na protoboard mas não sei em longo prazo. (Ainda falando do PIC16F628A)
Aproveitando o post deixa te perguntar, pela biblioteca do display LCD do Mikroc em padrão vem:
RS no RB4,
EN no RB5,
RW aterrado,
D4 no RB0,
D5 no RB1,
D6 no RB2,
D7 no RB3,
Posso alterar usando uma configuração parecida com o PIC C Compiler da CCS deixando no caso
EN no RB0,
RS no RB1,
RW aterrado,
D4 no RB4,
D5 no RB5,
D6 no RB6,
D7 no RB7,
Em simulador testei isso e deu certo e também na protoboard mas não sei em longo prazo. (Ainda falando do PIC16F628A)
_________________
CACÁ- Administrador Auxiliar
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : 17 anos/ 9 anos
Sexo :
Número de Mensagens : 19804
Idade : 44
Cidade/Estado: : Ritápolis Minas Gerais
Humor : Bom
Data de inscrição : 25/03/2010
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
Sim, pode.
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: (resolvido) Como configurar pino RA4 do PIC16F628A como saída?
Valeu, assunto encerrado então.
_________________
CACÁ- Administrador Auxiliar
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : 17 anos/ 9 anos
Sexo :
Número de Mensagens : 19804
Idade : 44
Cidade/Estado: : Ritápolis Minas Gerais
Humor : Bom
Data de inscrição : 25/03/2010
Tópicos semelhantes
» [Resolvido]Como configurar switch?
» (RESOLVIDO ) Como configurar rotedor TP-LINK TL WR340GD.
» [RESOLVIDO]moden D-link wi-fi dsl-2730r como configurar
» (RESOLVIDO ) Como configurar rotedor TP-LINK TL WR340GD.
» [RESOLVIDO]moden D-link wi-fi dsl-2730r como configurar
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Ontem à(s) 17:46 por antonio benedito de queir
» Akai AA-A35 Display apagado
Ontem à(s) 17:32 por city2010
» TV STI DL3270 A W , sem audio
Ontem à(s) 14:00 por valdircp
» Caixa de Som Amplificada CSR 4000A Som Distorcido e Pouca Potência!!!
Sáb 23 Nov 2024, 18:05 por prva
» OU O FÓRUM ACABOU OU NINGUÉM PARTICIPA DO FÓRUM MAIS.
Sáb 23 Nov 2024, 09:09 por Paranista
» Tv lcd,marca Aoc, modelo- LE 39D0330 -defeito,só liga depois de um tempo(quando aquece)
Sáb 23 Nov 2024, 08:28 por jailton da silva santos
» Notbook asus mod. X44C K43L versão 1 preciso do esquema
Sáb 23 Nov 2024, 02:30 por willian8952
» ameaçado por nao consertar aparelho por falta de peças
Sex 22 Nov 2024, 22:19 por joaquimrosadesouza
» Componentes estourados Fonte Usina Spark 120A
Sex 22 Nov 2024, 21:13 por antonio carlos bitti
» fonte usina 60 amperes cai tensao qdo conecta bateria
Sex 22 Nov 2024, 21:04 por antonio carlos bitti
» Tv Philips 50pug6654/78 sem imagem
Sex 22 Nov 2024, 16:02 por SEBCICM
» PS2 Slim 90k testar entradas do memory card
Sex 22 Nov 2024, 11:51 por gamemaniaco
» Procuro a placa lateral do sistema de som Sony MHC-GTX88 e Ci BD3451KS
Sex 22 Nov 2024, 10:16 por Silas Silva Nogueira
» fonte taramps tef 60 amperes ci estourado
Qui 21 Nov 2024, 19:27 por antonio carlos bitti
» [Resolvido] TV PLASMA SAMSUNG PL51F4900AG Não liga , led stand by piscando ( RESOLVIDO )
Qui 21 Nov 2024, 13:28 por Paranista
» TV LG MODELO 42LB5600 ACENDE O LED MAS NÃO LIGA
Qua 20 Nov 2024, 18:27 por Tales g
» Compro placa principal da LG 42lh45ed ou 42lh40ed
Seg 18 Nov 2024, 11:22 por Paulo Costa II
» Som Philips fw c 505 Ajuda entender o esquema
Sáb 16 Nov 2024, 10:03 por nagkiller
» (Resolvido) AIWA NSXF959 SEM SOM MÉDIOS AGUDOS
Sáb 16 Nov 2024, 00:31 por ZACREAL
» como descartar TRC
Sex 15 Nov 2024, 08:32 por jailton da silva santos
» cliente que não busca os aparelhos consertados, o que fazer
Sex 15 Nov 2024, 00:59 por MARIO Y. SEGAWA
» compro placa pricipal tv lg 50pb560
Qua 13 Nov 2024, 11:11 por Eletronica Manoel
» Modulo Taramps t800.1 com os resistores r32 e r5 torrados
Seg 11 Nov 2024, 10:41 por prisma eletronica
» Akai AA-A35 Seletor de Tensão
Seg 11 Nov 2024, 08:34 por city2010
» [RESOLVIDO] TV LCD UN50FH5303G Componentes danificados
Seg 11 Nov 2024, 00:54 por nagkiller
» TV PANASONIC TC- 32A400B Imagem travando
Dom 10 Nov 2024, 16:01 por ramon figueiredo
» ATENÇÃO de todos os usuários da 2002! (Nova regra).
Dom 10 Nov 2024, 12:00 por robsonseixas
» Microondas MEF-41 Eletrolux, não acende luz da porta quando abre, e quando fecha não liga
Sex 08 Nov 2024, 22:30 por joaquimrosadesouza
» Caixa som Ciclotron mult 500 Preciso do esquema
Sex 08 Nov 2024, 21:34 por prisma eletronica
» Pessoal tenho placa barato.
Sex 08 Nov 2024, 20:47 por francisco carlos de jesus