Bom Dia Meus amigos tendo visto que vocês tem um grande conhecimento, perante a utilização de PIC, venho aqui para lhes pedir que se puderem me ajudar por favor o faça. o meu problema e o seguinte.
Estou hoje programando em um PIC18F258, estou tendo dificuldades com ele pois tudo o que eu fiz ate hoje não deu certo!
vou te mandar o esquema do circuito e o os códigos que eu já tentei com ele, se você puder me ajudar.
Eu já não sei mais a quem recorrer muito obrigada pela paciência!
Se tiver algo erra ou algum codigo que você achem errado me fala!
Eu estou realmente se saber agora para onde ir.
Outra Duvida o oscilador tem que ser configurado no PIC16
e só usar "#use delay(clock=40000000)", mais no PIC18F258 e MPLAB não aceita este codigo e fala que ele esta incorreto!
******************************o primeiro código foi esse*************************************** ******************************o primeiro código foi esse*************************************** ******************************o primeiro código foi esse*************************************** ******************************o primeiro código foi esse*************************************** ******************************o primeiro código foi esse***************************************
#include
#include
#define LED PORTCbits.RC5 // Renome ando as portas do PIC
******************************o segundo código foi esse*************************************** ******************************o segundo código foi esse*************************************** ******************************o segundo código foi esse*************************************** ******************************o segundo código foi esse*************************************** ******************************o segundo código foi esse*************************************** ******************************o segundo código foi esse***************************************
#include
#pragma config OSC = XT //Configuração do oscilador tipo XT
#define C PORTCbits.RC0 //Renome ando as portas do PIC
#define C1 PORTCbits.RC1
#define C2 PORTCbits.RC2
#define C3 PORTCbits.RC3
#define C4 PORTCbits.RC4
#define C5 PORTCbits.RC5
#define c6 PORTCbits.RC6
#define C7 PORTCbits.RC7
void wait() // tem a função de causar uma pequena interrupção
{
int x;
x = 20000;
Delay10KTCYx(10);
for (;x>0; x--);
}
void pause() // tem a função de causar uma pequena interrupção
{
int x;
x = 20000;
for(;x>0; x--){
B = 1; // determina esta porta para liberar uma corrente
}
if(PORTAbits.RA0)
{
B = 1;
}
else
{
pause(); // tem a função de causar uma pequena interrupção
Delay10KTCYx(10);
B = 0;// acende uma determinada porta RB0
wait(); // tem a função de causar uma pequena interrupção
pause(); // tem a função de causar uma pequena interrupção
}
Observe que você está usando o compilador C18 ao invés do C CCS, por isso que o compilador não aceita o #use delay (clock=4000000). O CCS também suporta a família PIC18, você não precisa necessariamente trabalhar com o C 18 da Microchip.
Outro detalhe é referente aos fusíveis. Acredito que este possa ser o seu problema. Configure o WDT para off, modo LVP off e oscilador para XT. Com esta configuração acredito que o seu projeto venha a funcionar.
Abs,
Cerne
Scoring disabled. You must be logged in to score posts.
O ccs grava com o picstartplus ou o ICD2BR?..e outra pergunta o ccs funciona no win xp?..pq ouvi falar q ele naum roda no winxp!?
vlw
olha o codigo que estou usando agora!
#include <p18f258.h>
#include <delays.h>
#pragma config OSC = XT, OSCS = ON
#pragma config PWRT = OFF
#pragma config BOR = OFF
#pragma config WDT = OFF
//#pragma config CCP2MUX = OFF
#pragma config LVP = OFF
sim cosegui gerar o codigo olha ele mais agora como vou gravar,
o palca que eu estou usando ea picstart plus, eu tava tentando usar o piclab para gravar mais não consegui ele não tem a opção de PIC18F258 só PIC16F! você tem outro recursó para gravar este pic!
o código que estou usando e esse !
#include <18f258.h>
#device adc=10 // Configura o compilador para conversor A/D de 10 bits
#use delay(clock = 4000000)
#fuses XT, NOWDT, PUT, NOBROWNOUT, NOLVP
void delay (void) // faz uma pequena pausa
{
unsigned int i;
Temos um gravador de baixo custo que pode resolver o seu problema, é o gravador GPPIC que pode ser visualizado no site da cerne, www.cerne-tec.com.br na seção gravadores - > PIC.
Att,
Cerne
www.cerne-tec.com.br
Scoring disabled. You must be logged in to score posts.
olha estou com uma duvida se o micro controlador que estou usando esta queimado, pois tudo o que eu tento fazer não funciona, vou falar o que tenho que faze para ligar o LED
1º primeiro fazer um include contendo o biblioteca do PIC no caso "p18f258.h".
2º depois determinar o clock do meu oscilador, falar que ele e do tipo XT.
3º depois se eu for usar delay usar a biblioteca dele que e "delays.h".
4º iniciar o programa usando o void main.
5º declarar que os portos B são de saÃda.
6º declarar que um determinado pino esta recebendo "0".
7º fazer um while para que o programa fique executando infinitamente.
8º dentro do while fazer o pino receber "1" que significa que ele vai emitir uma corrente pelo pino que eu determinei, e "0" que determina o que não vai sair corrente alguma onde eu determinei.
9º usa um contador ou delay para que a execução espere um tempo ou seja depois de ligar e desligar ele fique esperando um tempo para que ele faça outra coisa.
10º fim do programa.
ESTE EO CODIGO QUE AGORA ESTOU USANDO NO C CCS>>>>>>>
#include <18f258.h>
#use delay(clock = 4000000)
#fuses XT, NOWDT, PUT, NOBROWNOUT, NOLVP // So entendi que ele configura o oscilador apra tipo XT isso mais o resto eu não sei
void delay (void) // faz uma pequena pausa "Contador"
{
unsigned int i;
for (i = 0; i < 60000; i++)
;
}
void main()
{
setup_adc_ports(NO_ANALOGS); // Linha adicionada pelo proprio programa durante a criação do projeto.
setup_adc(ADC_OFF);// Linha adicionada pelo proprio programa durante a criação do projeto.
setup_spi(FALSE);// Linha adicionada pelo proprio programa durante a criação do projeto.
setup_wdt(WDT_OFF);// Linha adicionada pelo proprio programa durante a criação do projeto.
setup_timer_0(RTCC_INTERNAL);// Linha adicionada pelo proprio programa durante a criação do projeto.
setup_timer_1(T1_DISABLED);// Linha adicionada pelo proprio programa durante a criação do projeto.
setup_timer_2(T2_DISABLED,0,1);// Linha adicionada pelo proprio programa durante a criação do projeto.
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);// Linha adicionada pelo proprio programa durante a criação do projeto.
// ESSAS LINHAS ADD pelo programa não sei oque elas são e as dechei ond estavam!
SET_TRIS_B(00000000); // seta os pinos como saida
output_low(PIN_B0); // determina um voltagem no pino RB0
delay(); // faz um apequena pausa
delay();
delay();
delay();
while(1)
{
Pergunta? >> o meu paço a paço ai esta correto e isso mesmo sem mais e nem menos! ou tem algo de errado!
Problema!!! o MPLAB não aceita "#use delay(clock = 40000000)" então eu estava tentando usar outro gravador para mais não achei nem um que ajudasse a grava via porta SERIAL isso ou USB isso na placa que eu falei antes.
Segundo antes quando eu gravava pelo MPLAB sem configurara o clock do oscilador todas as pernas do PIC estão saindo mais ou menos 4,5V e eu alimento com 5V, no caso de todos os códigos que eu tentei não consegui restringir nada
no PIC e ate agora a única coisa que eu tenho certeza e que eu não to conseguindo fazer nada do que eu quero com ele e já tem muito tempo que estou com ele o meu chefe já ta doido com migo esse PIC ta muito Complicado!
Scoring disabled. You must be logged in to score posts.