Iniciante, não consigo fazer LED piscar

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Iniciante, não consigo fazer LED piscar

Mensagempor Emilio Eduardo » 19 Jan 2011 23:10

Boa noite pessoal,

Estou iniciando nos microcontroladores e portanto ainda estou nos circuitos básicos. Decidi por usar mikroC pois me parece uma alternativa fácil de aprender e também migrar para outros micros.

O meu primeiro projeto consiste em fazer um LED piscar usando um PIC 16F688 com encapsulamento PDIP e uma protoboard. Como alimentação estou utilizando uma fonte de computador.

Fiz o seguinte esquema:

Pino 1 : Vermelho (5v)
Pino 14 : Preto (GND)
Pinos 2 a 13 -> Resistor -> LED -> GND

E utilizei o seguinte código para mikroC:

Código: Selecionar todos
void main() {

  ANSEL  = 0;            // Configure AN pins as digital
  CMCON0 = 0;          // Disable comparators

  TRISA = 0x00;          // set direction to be output
  TRISC = 0x00;          // set direction to be output
 
  do {
    PORTA = 0x00;        // Turn OFF LEDs on PORTA
    PORTC = 0x00;        // Turn OFF LEDs on PORTC
    Delay_ms(1000);      // 1 second delay
   
    PORTA = 0xFF;        // Turn ON LEDs on PORTA
    PORTC = 0xFF;        // Turn ON LEDs on PORTC
    Delay_ms(1000);      // 1 second delay
  } while(1);            // Endless loop
}


Compilei ele para o PIC desejado por meio do build da propria IDE usando as seguintes configurações de projeto:
Device: P16F688
Frequency: 8Mhz
Build Type: Release

Com todos os Fuses off:

Código: Selecionar todos
Oscillator : HS
Watchdog Timer: Off
Power Up Timer: Off
Master Clear Enable: Disabled
Code Protect: Off
Data EE Read Protect: Off
Brown Out Detect: BOD and SBOREN disabled
Internal External Switch Over Mode: Disabled
Monitor Clock Fail-safe: Disabled


Com o arquivo exportado, o programa PICPgm Programmer e o gravador PIC burner, iniciei a gravação.

Quando selecionei o arquivo .hex ele me deu a mensagem dizendo que o arquivo não tinha os bits de configuração dos fuses. Tudo bem, fiz isso manualmente. Mandei gravar e verificar e tudo bem, estava lá, tudo bonitinho.

Porém.. Quando coloquei o chip na proto e liguei, simplesmente não funcionou. Na prática liguei somente um LED e um resistor e fui checando as portas, nenhuma estava ligando, exceto o pino 3 que dava ao led uma intensidade menor do que quando ligado somente com o resistor aos 5v.

Aí fica minha duvida, onde está o problema? Como o microcontrolador não debuga, fica muito difícil saber o que acontece. O pino três dando uma intensidade menor me dá o sentimento de que ele está "exportando" o clock.. Mas não faço ideia!

Espero que alguém possa me ajudar!

Atenciosamente,
Emilio Eduardo
Emilio Eduardo
Bit
 
Mensagens: 44
Registrado em: 13 Jan 2009 19:07

Mensagempor _blackmore_ » 20 Jan 2011 01:13

colocou o cristal oscilador com os devidos capacitores? pelo codigo mostra oscillator HS ... mas no "esquema" não fala de oscilador, os leds nao estao invertidos?
o master clear esta ativado ou nao? se estiver ativado, ligue ele atraves de um resistor de 10k ao +5V.
outra dica .. é simular teu firmware no proteus ... se funcionar lá é muito provável que funcione quando vc montar na placa, sem falar q fica mais prático e dinâmico o estudo.
Ouça mais classic rock
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor Emilio Eduardo » 20 Jan 2011 10:34

Boas Novas!

Realmente eu não tinha acionado o oscilador interno, foi só reconfigurar e voilá, tudo funcionou!!

Hoje vou tentar fazer um contador com um display de 7 segmentos, depois conto como foi a experiencia!

Muito Obrigado pela ajuda,
Emilio Eduardo
Emilio Eduardo
Bit
 
Mensagens: 44
Registrado em: 13 Jan 2009 19:07


Voltar para PIC

Quem está online

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

x