Pisca-pisca MIKROC PIC16F870

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Pisca-pisca MIKROC PIC16F870

Mensagempor Kleber » 10 Jul 2008 09:37

void main() {
PORTB = 0x00; // Initialize PORTB
TRISB = 0x00; // Configure PORTB as output

while(1) {
PORTB.f0 = ~PORTB.f0; // toggle PORTB
Delay_ms(1000); // one second delay
}
}

Neste código, porquê o PORTB fica em "1" sendo que o inicializei com "0"? Utilizo o PIC16F870.
Kleber
Kleber
Nibble
 
Mensagens: 99
Registrado em: 17 Out 2006 20:41
Localização: São Paulo

Mensagempor dreher » 10 Jul 2008 09:49

Cara, tenta mudar de PORTB.f0 para PORTB.F0, com o "F" maiusculo. Não sei se tem a ver, mas em todos os exemplos e no help do compilador, ele sempre se referencia aos bits dessa forma.
dreher
Byte
 
Mensagens: 489
Registrado em: 12 Out 2006 11:10
Localização: Blumenau - SC

Mensagempor Kleber » 10 Jul 2008 12:00

dreher

Fiz por desencargo de consciência, não deu certo. Este compilador não é case sensitive.
Obrigado.
Kleber
Kleber
Nibble
 
Mensagens: 99
Registrado em: 17 Out 2006 20:41
Localização: São Paulo

Mensagempor Sergio38br » 10 Jul 2008 14:23

boa tarde, vc esta medindo com pull-up externo ou esta em aberto as saidas??

vc pode tentar fazer apenas a negação do pino, tipo
Código: Selecionar todos

 PORTB.F0 = ! PORTB.F0



Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor Kleber » 10 Jul 2008 15:00

Sergio

As saídas estão sem resistores de pull-up e o mesmo acontece com o PORTA. Quanto a utilizar ! ou ~, acredito surtir o mesmo efeito. Ainda não testei, assim que fizer posto aqui.
Kleber
Kleber
Nibble
 
Mensagens: 99
Registrado em: 17 Out 2006 20:41
Localização: São Paulo

Mensagempor Kleber » 10 Jul 2008 15:20

Datasheet
Each of the PORTB pins has a weak internal pull-up. A
single control bit can turn on all the pull-ups. This is performed
by clearing bit RBPU (OPTION_REG<7>). The
weak pull-up is automatically turned off when the port
pin is configured as an output.

O pull-up é desligado automaticamente quando a porta é configurada como saída. Vou ligar este bit RBPU pra ver se funciona.
Kleber
Kleber
Nibble
 
Mensagens: 99
Registrado em: 17 Out 2006 20:41
Localização: São Paulo

Mensagempor andre_luis » 10 Jul 2008 15:50

A diferença do seu programa pro que eu fazia, é que eu definia o TRIS antes de acessar a Porta. Experimenta apenas inverter essa sequencia.

+++
"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 ze » 10 Jul 2008 17:00

puts! levando uma surra de 1 bit? e o pior o menos significativo!!! aff!!
+ opções:
RB0^=1;
PORTB^=0b00000001;
PORTB.F0^=1; //ccs? eca!
verif se o danado não é compartilhado com + coisa. iniba esta coisa.

ôch!!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor Jorge_Francisco » 10 Jul 2008 17:50

Ué cadê a minha resposta? Sumiu!!!!

Coloca o TRIS antes do valor na porta!!!
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor Kleber » 10 Jul 2008 21:28

Não adiantou coloca o TRIS antes do valor na porta.
É lellis estou levando um "baile" mesmo.rs Agora, não vale apelar colocando o restante do port como entrada, porque assim funciona. Quero todo o port como saída e somente RB0 piscando.
Notei que RB6 e RB7 comportam-se como o esperado, ou seja, ficam em zero.

Obrigado por enquanto pessoal!!!
Kleber
Kleber
Nibble
 
Mensagens: 99
Registrado em: 17 Out 2006 20:41
Localização: São Paulo

Mensagempor Sergio38br » 11 Jul 2008 08:17

bom dia Kleber, pergunta basica voce esta usando uma placa da mikroelektronika??

Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor Kleber » 11 Jul 2008 09:02

Não, é uma placa da QSP tecnologia.
Kleber
Kleber
Nibble
 
Mensagens: 99
Registrado em: 17 Out 2006 20:41
Localização: São Paulo

Mensagempor andre_luis » 11 Jul 2008 09:19

Sei que é apelação, mas....
Já esperimentou trocar o chip ?

+++
"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 Kleber » 11 Jul 2008 09:26

Ainda não andre_teprom, mesmo porque não tenho outro aqui.
Engraçado que estive usando este port para controle de um display gráfico e funcionou, agora quando quero apenas piscar um led acontece isso.rs
O Daniel Quispe deu a sugestão de colocar o resto do port como entrada, aí funciona, mas quero ver como saída e permanecer em zero.
Kleber
Kleber
Nibble
 
Mensagens: 99
Registrado em: 17 Out 2006 20:41
Localização: São Paulo

Mensagempor Kleber » 11 Jul 2008 09:58

Acabei de testar a alimentação que chega no PIC, 7V !
Irei substitui-lo semana que vem.
Ainda bem que resolvi medir antes de trocar o pic, senão seria mais outro queimado.rs

Obrigado pessoal!!!
obs.: Depois post o resultado quando trocar o pic e acertar a alimentação.
Kleber
Kleber
Nibble
 
Mensagens: 99
Registrado em: 17 Out 2006 20:41
Localização: São Paulo


Voltar para PIC

Quem está online

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

cron

x