Olá,
Visitante
. Por favor
Entre
ou
Registe-se
se ainda não for membro.
Perdeu o seu
e-mail de activação?
Janeiro 08, 2009, 21:11:11
Início
Ajuda
Pesquisa
Calendário
Entrar
Registe-se
Electrónica Portugal
>
Electrónica
>
Electronica Digital
>
MicroControladores
>
pwm pic16f628a
Páginas: [
1
]
Ir para o fundo
« anterior
seguinte »
Imprimir
Autor
Tópico: pwm pic16f628a (Lida 608 vezes)
costela
Fusivel
Offline
Mensagens: 3
pwm pic16f628a
«
em:
Agosto 27, 2008, 13:57:59 »
Bom dia.
É minha primeira postagem nesse fórum.
Na universidade aprendi o microcontrolador hc11 mas nunca montei um circuito com microcontrolador, apenas simulávamos.
Agora estou precisando desenvolver um pwm utilizando o pic16f628a. Fiz a programação em C, utilizando o compilador Hi-Tech, simulei no proteus.
No proteus a simulação está ok, conforme desejo, a gravação também funcionou beleza (mandei o icprog verificar várias vezes o código programado e está ok!) o que me leva a descartar problema com o pic ou com o gravador. Também já verifiquei várias vezes a montagem no protoboard e não encontrei ero algum. Estou utilzando um oscilador externo cristal de 10MHz com dois capacitores de 27pF.
Abaixo está o código que desenvolvi. Gostaria de saber se esqueci de considerar alguma coisa que não precisa ser considerada na simulação e deve ser considerada na prática (fusÃveis, registros, etc...)
Obrigado a todos.
#include <pic16f62xa.h>
#include <pic.h>
__CONFIG(WDTDIS & XT & PWRTEN);
unsigned char dc, aux;
void main()
{
TRISA = 0xFF;
PR2 = 0xFF;
CCPR1L = 0x00;
CCP1CON = 0b00001100;
TRISB = 0b11110011;
T2CON = 0b00000101;
dc = 0;
aux = 0;
for(;;)
{
dc = 0;
if(RB5) dc+=0b00000001;
if(RB4) dc+=0b00000010;
if(RB1) dc+=0b00000100;
if(RB0) dc+=0b00001000;
if(RA3) dc+=0b00010000;
if(RA2) dc+=0b00100000;
if(RA1) dc+=0b01000000;
if(RA0) dc+=0b10000000;
if(aux!=dc)
{CCPR1L = dc;
aux=dc;
}
CCP1X = RB7;
CCP1Y = RB6;
}
}
«
Última modificação: Agosto 27, 2008, 16:47:02 por costela
»
Registado
José Flor
José António Flor de Sousa
Chip
Offline
Mensagens: 1 054
OzFlor - José Flor
Re: pwm pic16f628a
«
Responder #1 em:
Agosto 28, 2008, 05:40:22 »
Não será de 4MHz o máximo do cristal. Verifica isso, posso estar errado.
José Flor
Registado
Curso de electrónica básica
José Flor
Grupo discussão Yahoo "Amantes da Electrónica"
costela
Fusivel
Offline
Mensagens: 3
Re: pwm pic16f628a
«
Responder #2 em:
Agosto 28, 2008, 15:49:46 »
não, o máximo é 20MHz para cristal.
a minha saÃda fica sempre em zero, nem ao menos instável ou numa frequencia diferente ela fica.
Registado
costela
Fusivel
Offline
Mensagens: 3
Re: pwm pic16f628a
«
Responder #3 em:
Agosto 28, 2008, 19:42:26 »
bom, substitui o cristal pelo oscilador interno e mesmo assim meu programa continua não funcionando como funciona no proteus. minha saida fica sempre em 0.
abraços
Registado
José Flor
José António Flor de Sousa
Chip
Offline
Mensagens: 1 054
OzFlor - José Flor
Re: pwm pic16f628a
«
Responder #4 em:
Agosto 29, 2008, 05:55:29 »
Muitas das vezes ports não usado têm que ficar com uma resistência ligada em pull-up. Mas isso não é necessário pois podes programar os ports não usados para creio eu saÃda (tenho que confirmar isso). Não sei o teu caso de programação. Tu também tens uma TRISA e TRISB no teu código. O fabricante não garante que isso vai funcionar. Nos projetos que eu fiz com o 84 o TRISA sempre funcionou. No caso do 62X não sei. Já faz muito mais de um ano que não programo porque não tenho nem tempo nem bancada de electrónica e nem mesa para estudar tão pouco. Desde que minha filha nasceu ficou assim.
Aguarda por mais respostas de alguém para te ajudar.
Abraços
José Flor
«
Última modificação: Agosto 29, 2008, 05:57:39 por José Flor
»
Registado
Curso de electrónica básica
José Flor
Grupo discussão Yahoo "Amantes da Electrónica"
maurosmartins
Transistor
Online
Mensagens: 52
Re: pwm pic16f628a
«
Responder #5 em:
Agosto 31, 2008, 22:41:54 »
se na simulação funciona, podias enviar o ficheiro HEX só para confirmar os bits de configuração?! A nÃvel de hardware, se o pino MCLR não for configurado como entrada, é necessária uma resistência de PULL-UP uma vez que funciona como RESET.
Cumps, Mauro.
Registado
Cumps, Mauro.
Páginas: [
1
]
Ir para o topo
Imprimir
« anterior
seguinte »
Ir para:
Por favor seleccione um destino:
-----------------------------
Extra-Electronica
-----------------------------
=> Taberna do Chip
===> Votações
=> Sobre o forum...
-----------------------------
Electrónica
-----------------------------
=> Iniciação à Electrónica
===> Curso básico de electrónica – por José Flor
=> Projectos
===> Projectos Terminados
===> Projectos Em Desenvolvimento
=> Esquemas
=> Robótica
===> Tutoriais
===> Discussão
=> Electronica Digital
===> Programação
===> MicroControladores
=> Lojas
=> Componentes
===> Simbologia
=> Duvidas
=> Material Auxiliar
===> Software
===> Artigos/Tutoriais
===> Revistas
-----------------------------
Electricidade
-----------------------------
=> Iniciação á Electricidade
=> Electricidade Geral
===> Energias Renováveis
=> Projectos
===> Projectos Terminados
===> Projectos Em Desenvolvimento
=> Domótica
=> Automação Industrial
=> Reparações
===> TV
===> Monitores
===> Hifi-Video
===> Electrodomésticos
=> Duvidas