Ir para conteúdo
View in the app

A better way to browse. Learn more.

EletrônicaBR.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

pic16f722a pisca led

Featured Replies

Postado

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

Postado

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. 

Postado

Lembrando que para simulação no Proteus nao se faz necessário alimentar o pic pois o software ja faz isso

Postado
  • Autor
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

Postado
  • Autor
5 minutes ago, R2-D2 said:

Lembrando que para simulação no Proteus nao se faz necessário alimentar o pic pois o software ja faz isso

certissimo

Postado
53 minutos atrás, SystSoftPcCelTv disse:

agora foi , pino 8 ou 19.

Funcionô?

Postado

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

Postado

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. 

Editado: por zazulak

  • 3 semanas depois...
Postado
  • Autor

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
 }
}
 

Postado
  • Autor

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
 }
}
 

Postado
  • Autor

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
 }
}
 

Postado
  • Autor

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
 }
}
 

Postado
  • Autor

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
 }
}
 

Postado
  • Autor

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
 }
}
 

Postado
  • Autor

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
 }
}
 

Postado
  • Autor

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
 }
}
 

Postado
  • Autor

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
 }
}
 

Postado
  • Autor
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
 }
}

Postado
  • Autor
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
 }
}

Postado
  • Autor
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
 }
}

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

Conteúdo Similar

Account

Navigation

Pesquisar

Pesquisar

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.