Olá pessoal! 

Boa Tarde a todos!! 

Pessoal, estou com uma dúvida no PIC(CLP - PIC40). Para programar ele, estou utilizando o mikroC  PRO for PIC 

Se alguém puder me ajudar, agradeceria, estou com um problema em salvar uma variável, exemplo: 

Apertando "S1" incrementa a variável "A" 
Apertando "S2" decrementa a variável "A" 
E um terceiro botão, que serveria como um "ENTER"  salvaria essa variável "A"

Com o novo parâmetro da variável "A" o circuito começaria a seguir por aquele parâmetro.


Acabei dando uma estudada, e vi que utilizando "STRING" seria mais fácil fazer esse tipo de comando, mas ainda estou com dúvidas nessa parte, se alguém poder ao menos esclarecer o como eu poderia fazer, ou livros que eu pudesse consultar, ajudaria muito. 

Exibições: 246

Responder esta

Respostas a este tópico

Boa tarde DH,

não uso muito o MikroC, quando uso PIC prefiro o McLab.

Mas posso tentar ajudar revisando o seu code para MikroC.

faça assim:

Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
com o seu programa.

lembre de comentar as linhas do programa, para que eu possa entender o que cada uma deverá fazer,

pois assim entenderei mais rapidamente seu projeto.

RV

Primeiramente, devo pedir desculas pela demora, estava estudando mais sobre o PIC16F887. 

Ainda sou um iniciante nessa área de programação, estava acostumado a utilizar uma linguagem "básica" como a do Arduino. 

Bem, após ver vários videos e tudo mais, consegui desenvolver algo bem básico, infelizmente não é o que eu quero, mas é algo que preciso fazer para aprender a programar no PIC. Inicialmente, estou fazendo a seguite programação: 

Botão1 = RA.2

Botão2 = RA.3

Algo que fiquei em dúvida, é a forma como configurar os Registradores PORT e TRIS, após pesquisas, defini dessa forma: 

// Dessa forma, configuro TRISA.RB3 e TRISA.RB2 como ENTRADA

TRISA = 0b00001100; 

// Defino que todo o PORTA incie em "LOW" ==> Desligado.

PORTA = 0b00000000

Espero estar certo até aqui. E para configurar o LED1 e LED2, fiz da seguinte forma: 

TRISB = 0b00000000; // Configura todos os TRISB como saída;
// Apenas configurar o PORTB.RB7 e PORTB.RB6
PORTB = 0b00000000; // Configura todo o PORTB para iniciar em 0;

A minha principal dúvida era sobre como configurar eles, e, ao menos, consegui configurar os Registradores, espero que estejam corretos. 

Anexos

Boa tarde DH,

o que você disse sobre TRIS e PORT está correto.

O TRIS define o sentido para o port, 0 significa que o bit correspondente será saída e um o bit 

correspondente será entrada.. Eu uso um recursos simples pra não esquecer isto:

 0 saída  igual a O de Output, e 1 entrada  igual a I de Input.

Assim sendo, se você definir TRISx = 0b00001001, bits 3 e 0 com entrada e o restante como saída,

 o PORTx bits 3 e 0 deverá ser usado como entrada e o restante usados como saída.

Qdo você define uma saída como 0, ele deverá apresentar 0 Volt no  pino do port,

e qdo você define uma saída como 1, ele deverá apresentar +V Volt no  pino do port,

Sobre seu code:  Esta linha está errada : if(Botao1 = 1) 

nela você não está comparando Botao1 com 1 e sim fazendo Botao1 igual a 1.

RV

Opa, Obrigado pela ajuda. 

Código corrigido, havia esquecido que para comprar é "==" 

Vou fazer mais umas pesquisas, pois quero implementar um sensor, um terceiro botão, e então, para finalizar, colocar um Display 20x4 para mostrar os dados recebidos.

Olá, Bom dia! 

Novamente estou com problemas, mas, dessa vez, estou implementando um Display LCD 20x4 no projeto. Fiz um programa base do Display(Um programa a parte) e então o implementei no meu atual programa, ele está compilando sem erros.

Desenvolvi um projeto no Protheus e o coloquei para simular, e infelizmente, não aparece nada no Display. verifiquei o código  e acabei não encontrando erros.

Obs: Os comandos do LCD que utilizei foram em base do próprio "help" do MikroC. 

_____________

Obs²: Por alguma razão, quando coloco para simular esses 2 projetos que envolvem  LCD, o Protheus funciona por alguns minutos(+/- 2 Minutos) e então fecha sozinho logo em seguida, essa problemática é causada por meu computador não estar suportando manter o software + simulação?  Ou, é um erro "padrão" ? 

Os arquivos que desenvolvi estão em anexo; 

Anexos

Bom dia DH,

como não gosto de usar, não uso o prothes para ucontroladores.

Sem dá problemas.

RV

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço