Ir para conteúdo
  • Cadastre-se

dúvida pic16f722a pisca led

Avalie este tópico:


SystSoftPcCelTv

Posts em destaque

Olá Pessoal!

 

Nesse projetinho de pisca led na protoboard não funciona. Fiz no proteus e o mesmo funciona normal, no entanto na protoboard ele não roda.

Compilei no mplab carreguei no proteus e funcionou. Fiz no ccs c carreguei no proteus e funcionou. No entanto na protoboar não roda.

5V de alimentação.

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 1/2 segundos
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(200); // Aguarda 1/2 segundos
 }
}

 

 

 

image.png

 

 

  

IMG_20191019_074624_7.jpg

Link para o comentário
Compartilhar em outros sites

3 minutes ago, R2-D2 said:

Nao encontrei o fio do GND ligado ao pic, apenas um fio do GND ligado ao led. O microcontrolador precisa ser alimentado com alguma fonte de tensão, precisa receber vcc e gnd nos seus pinos de alimentação. 

Olá ! Pino 19 ou 8? Se for isso já tinha feito.

 

image.png

Link para o comentário
Compartilhar em outros sites

Geralmente,  liga-se todos os GNDs (VSSs)... Questão de EMI, etc... E capacitor de 100nF bem próximo aos pinos de VCC e GND (VSS).

 

E eu particularmente utilizo um resistor de pullup no MCLR, mesmo se nos fuses estiver declarado pra não usar MCRL.

 

Flw...

Editado: por nagkiller
Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz  Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}
 

Link para o comentário
Compartilhar em outros sites

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz  Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}
 

Link para o comentário
Compartilhar em outros sites

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz  Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}
 

Link para o comentário
Compartilhar em outros sites

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz  Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}
 

Link para o comentário
Compartilhar em outros sites

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz  Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}
 

Link para o comentário
Compartilhar em outros sites

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz  Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}
 

Link para o comentário
Compartilhar em outros sites

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz  Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}
 

Link para o comentário
Compartilhar em outros sites

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz  Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}
 

Link para o comentário
Compartilhar em outros sites

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz  Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}
 

Link para o comentário
Compartilhar em outros sites

On 10/19/2019 at 5:57 PM, zazulak said:

Buenas,

 

não manjo de CCS, mas acho que o clock não está configurado corretamente. Experimente adiconar a  linha 

 

#FUSES INTOSCIO

 

no início do programa. 

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz conforme tabela do datasheet.   Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}

Link para o comentário
Compartilhar em outros sites

On 10/19/2019 at 5:57 PM, zazulak said:

Buenas,

 

não manjo de CCS, mas acho que o clock não está configurado corretamente. Experimente adiconar a  linha 

 

#FUSES INTOSCIO

 

no início do programa. 

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz conforme tabela do datasheet.   Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}

Link para o comentário
Compartilhar em outros sites

On 10/19/2019 at 5:57 PM, zazulak said:

Buenas,

 

não manjo de CCS, mas acho que o clock não está configurado corretamente. Experimente adiconar a  linha 

 

#FUSES INTOSCIO

 

no início do programa. 

olá! neste código basta incluir o fuse hs como diretiva de clock para o pré-processador tal como #fuses hs para especificar os fusíveis para o chip e #use delay para especificar a velocidade do relógio. O HS significa alta velocidade. O que significa que é preferível escolher essa opção para cristais maiores ou iguais 4MHz conforme tabela do datasheet.   Ficaria assim:

 

//Carrega a biblioteca para o microcontrolador PIC16F722a
#include <16F722A.h>
 
//Configuracao FUSES
#FUSES NOWDT
#FUSES INTRC_IO
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES NOMCLR
#fuses HS
 
//Define a utilização do clock interno de 16 Mhz
#use delay(clock=16000000)
 
#define PINOLED PIN_B1 //Pino ao qual o led esta ligado
 
void main()
{
while (1)
 {
  output_bit(PINOLED, TRUE); // Liga o Led
  delay_ms(500); // Aguarda 500 miliseg
  output_bit(PINOLED, FALSE); // Desliga o Led
  delay_ms(500); // Aguarda 500 miliseg
 }
}

Link para o comentário
Compartilhar em outros sites

Participe agora da conversa!

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, faça login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restaurar formatação

  Apenas 75 emoticons máximos são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir apenas como um link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Você não pode colar imagens diretamente. Envie ou insira imagens do URL.

SOBRE O ELETRÔNICABR

EletrônicaBR é o melhor fórum técnico online, temos o maior e mais atualizado acervo de Esquemas, Bios e Firmwares da internet. Através de nosso sistema de créditos, usuários participativos têm acesso totalmente gratuito. Os melhores técnicos do mundo estão aqui!
Técnico sem o EletrônicaBR não é um técnico completo! Leia Mais...
×
×
  • Criar Novo...