Boa noite pessoal.

Estou com uma dificuldade na programação do pic, primeiro sou leigo no assunto estou aprendendo a usar pic agora e vou descrever o problema.

Estou realizando a programação do pic no compilador microC e para o meu projeto teria que acionar duas portas simultâneas do pic, exemplo porta A0 e a porta A1 como saída, mas não estou conseguindo não sei como realizar a programação fiz alguns caminhos mas não deram vejam:

porta.f0=1.f1=1;

delay_ms(100);

porta.f0=1;porta.f1=1;

delay_ms(100);

porta.f0=1 porta.f1=1;

delay_ms(100);

quando envio para o pic o resultado da 2° tentativa e que só tenho nível alto na porta A1 como se o programa não entendesse a porta anterior A0.

se alguém sabe usar esse compilador e puder ajudar-me eu agradeço.

juliano cc

 

Exibições: 1832

Responder esta

Respostas a este tópico

Ola Juliano ve se este exemplo te ajuda.

//Programa : Pisca LED com PIC16F628A

 
//Carrega a biblioteca para o microcontrolador PIC16F628A
#include <16F628A.h>
 
//Configuracao FUSES
#FUSES NOWDT,INTRC_IO,NOPUT,NOPROTECT,NOBROWNOUT,NOMCLR,NOLVP,NOCPD
 
//Define a utilização do clock interno de 4 Mhz
#use delay(clock=4000000)
 
#define PINOLED0 PIN_A0 //Pino ao qual o led esta ligado
#define  PINOLED1 PIN_A1 
 
void main()
{
while (1)
 {
  output_bit(PINOLED0, TRUE); // Liga o Led
  output_bit(PINOLED1, TRUE); // Liga o Led
  delay_ms(5000); // Aguarda 3 segundos
  output_bit(PINOLED0, FALSE); // Desliga o Led
   output_bit(PINOLED1, FALSE); // Desliga o Led
  delay_ms(2000); // Aguarda 2 segundos
 }
}

ajudou sim obrigado !!

Meu to com outro problema estudo na ETEC são Carlos faço mecatrônica mas os professores que tive aula não eram muito bons em programação meu problema e que preciso repetir 14 vezes uma programação e mais 20 vezes outra e mais 14 outra depois volta no inicio pensei em usar o comando for mas usando só uma comando da certo quando tento colocar mais de um não lê só lê o primeiro como devo programar:

while(1){

for(i=0; i<14; i++)

 {

programa 

}

delay_ms(500);

{

for(m=0; m<20; m++)

{

programa

}

delay_ms(500);

{

for(v=0; v<14; v++)

{

programa 

}

delay_ms(500);

}}

sera que pode me ajudar nesta 

Oi JCC, boa noite,

o seu code para a função "for"

tem 2 abre chaves e um fecha chave indevidos:

Abre chave indevidos:  após o primeiro e o segundo delay_ms(500);

Fecha chave indevidos:  após o terceiro delay_ms(500).

Rui

Como o Rui disse retire essas três chaves que estão amais e teste seu código.

Bom dia Juliano! Cara faz assim:

Para configurar os pino como saida escreve assim:

TRISA0_BIT=0;

TRISA1_BIT=0;

E para colocar um valor nelas:

RA0_BIT=1;

RA1_BIT=1;

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço