Página 1 de 1

Exemplos de Interrupções CCS

MensagemEnviado: 14 Out 2006 01:30
por Visitante
Tudo bem!
Eu estou iniciando no pic e estou usando o ccs e 12f629.

Alguém poderia me passar exemplos em ccs de interrupções? Estou encontrando dificuldades em achar esse tipo de material.

Obrigado

MensagemEnviado: 16 Out 2006 13:25
por mourao

Re: Exemplos de Interrupções CCS

MensagemEnviado: 16 Out 2006 13:26
por mourao
pelo pouco que sei, o CCS na tela inicial de new project wizzard te dá as opções de habilitação de interrupções.

utilizo o PIC 18F4550 e pelo que vi, para que as interrupções funcionem eu precisei colocar uma condição interna, não sei se neste PIC é igual:

#define contador 22 //interrupts por seg

#int_TIMER0
TIMER0-isr()
{
if(--contador==0)
{
printf(" Hello world!");
}
}

utilize os exemplos do CCS.

TrisA

MensagemEnviado: 31 Out 2006 10:10
por mega.rod
Por favor, me ajudem....

Presciso saber como usar o regitrador TRISA E TRISB...
ex: TRISA=0b10101010;

Este axempo abaixo esta correto ?

cpp code
#define led RA4
TRISA=0b10101010; // ?? não sei como corfigurar este registrador como
// entrade e nem como saida

void main()
{
while(1)
{
led=!led;
delay_ms(500);
}
}


Presciso deste programa apenas para piscas este bendito léd...

Obrigado e aguardo retorno de quem puder me ajdar o mais breve possivel....

Rodrigo Trainotti
msn: engenharia@dytec.com.br
http://www.dhay.com.br

MensagemEnviado: 31 Out 2006 14:10
por Ander_sil
Guest, No diretório do PICC tem uma pasta com varios exemplos do CCS, dê uma olhada para tirar suas duvidas.

Rodrigo, se voçe esta fazendo em "C" no CCS, veja as funções de input/output no help, não precisa configurar o TRISx o compilador já faz
isso sozinho.

ex:
cpp code
#define led = 0xAA; // (10101010b)

void main()
{
while(1)
{
output_a(led);
delay_ms(500);
output_a(!led);
delay_ms(500);
}
}

att.

Anderson

MensagemEnviado: 31 Out 2006 15:11
por mourao
O próprio ccs tem funções:

set_tris_a(0); //configura como saída
set_tris_b(0x0f); //config portb 7,6,5e 4 como saída e 3,2,1 e 0 como entrada.

MensagemEnviado: 31 Out 2006 15:49
por Fábio Pereira
Rodrigo,

Sugiro que você estude melhor os PICs.

O registrador TRISA serve para configurar a direção dos pinos da porta A. Cada bit configura o respectivo pino da porta:

bit em 0 - pino como saída
bit em 1 - pino como entrada

Assim, se você fizer:

TRISA = 0b00000001;

Estará configurando o pino RA0 como entrada e os demais pinos da porta A como saídas.

Até +

MensagemEnviado: 31 Out 2006 16:57
por mourao
Isso mesmo...

a sfunções set_tris_x(0x...) serve para configurar os ports como saídas ou entradas, mas para mandar um determinado valor para saída nas portas utilize a função:

output_a(0x0f); para saída no port A com valor 00001111


ou

output_bit(RA0,1); para setar o pino A0 com valor 1

até!! :lol: