-
Posts
115 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que DELPITEC postou
-
Arduino código de programação de módulo ponte h
DELPITEC respondeu ao tópico de Twannysants em Microcontroladores
Ué...colocar mais peso em cima dele. Kkkkkk Ok, agora que já fiz a piadinha posso perguntar? Cadê seu código? Seu diagrama? Você já fez algo? -
PIC 12F675 nao grava na eprom no isis proteus mikroc?
DELPITEC respondeu ao tópico de Blumer Celta em Microcontroladores
Só pra não deixar passar em branco...eu não sei se esse pic tem o bit HLVDCON Caso tenha, só colocar um capacitor na fonte que mantenha o pic alimentado o tempo suficiente para testar o bit e se ele detectar tensão baixa, grava o dado que for na eeprom, correto @Isadora Ferraz ? Abs -
PIC 12F675 nao grava na eprom no isis proteus mikroc?
DELPITEC respondeu ao tópico de Blumer Celta em Microcontroladores
O exemplo do datasheet é em assembly mas é simples de converter para C. É antes do código em asm (no datasheet) tem um explicação passo a passo do que deveria ser feito. Abs -
PIC 12F675 nao grava na eprom no isis proteus mikroc?
DELPITEC respondeu ao tópico de Blumer Celta em Microcontroladores
Em qualquer compilador, prefiro eu mesmo escrever a função de gravar dados na eeprom. Essas bibliotecas não desativam o flag de gravação da EEPROM e nem apontam o registrador EEADR para um endereço vazio e ao executar em um power down os dados podem ser perdidos (já passei por isso na prática, um pic em um sistema com muitas quedas de energia perdia os dados na eeprom, pesquisa por EEPROM Lost data em fóruns gringo e verá que muitos passam por isso). Isso acontece pelo que citei acima: porque as bibliotecas não desativam os flags de escrita e nem zeram o registrador que aponta o endereço de memória que será gravado. A melhor coisa é você escrever na mão essa biblioteca. Pesquisa no datasheet por EEPROM write e EEPROM read e lá tem os comandos para fazer escrita e leitura. Não vai dar mais que 5 linhas de código cada uma. Abraço -
PIC programando no pic18f4550 - timer
DELPITEC respondeu ao tópico de Leonardo_1709 em Microcontroladores
Dá pra fazer de vários jeitos, aqui vai um: 1) Configura o TIMER 0 como temporizador e que incremente uma variável global contador_estouros a cada 1ms 2) Crie eu próprio delay Ex: void my_delay_ms(char estouros){ start_timer0(); // você terá que criar a função que inicializa o timer0 com o valor de 0 while(estouros > contador_estouros_timer0); // ficará aqui enquanto seu valor em ms for maior que o contador do TMR0 stop_timer0(); // você terá que criar uma função que pare o timer0, para ele não ficar contando infinitamente } 3) Substitua seus delays antigos por my_delay_ms(); Existem vários artigos de como configurar o timer 0 do PIC. Aqui tem um bem didático. http://microcontrolandos.blogspot.com.br/2012/11/utilizando-o-timer0-do-pic.html Abraço -
Olá. Eu sempre utilizo portB porque eles já vem com resistor de pull up interno, e eles só compartilham a função de PGM/PGD/PGC. Já o portA compartilha funções de entrada analógica, comparador, master clear, etc... além de não possuir pull up interno. Mas você pode usar como digital i/o qualquer uma das portas. Abs
-
PIC Botão temporizado com PIC16F84A como fazer?
DELPITEC respondeu ao tópico de Blumer Celta em Microcontroladores
Já que você já sabe como fazer, vou só dar a lógica...os periféricos você faz... #define BOTAO PORTBbits.RB0 if (BOTAO){ start(timer0); while (BOTAO); if (timer0 > 2 segundos) piscaled(2); // a função para piscar o led voce faz fora else piscaled(1); stop(timer0); reset(timer0; } As funções é com você. Abraço -
Grande Isa. Pois é. Até vi alguns circuitos de adaptação, mas preferi investir em um hardware com i2c e spi em portas separadas
-
aproveitando o tópico: Como faço para ligar um shield SPI e 12C no mesmo pino? Pois queria ligar um RTC i2C e o módulo enc28j60 em um PIC.
-
lcd ligado pinos port_a e port_e pic16f877a
DELPITEC respondeu ao tópico de jacktaylor em Microcontroladores
Olá. Não analisei profundamente, até poruqe o jeito que foi feita a postagem ficou meio confuso. Mas n pino RA4 é coletor aberto (tens que colocar um resistor de puul-up nele) Boa sorte! -
Utilizar o Arduino(mega 2560) como conversor usb para serial(TTL)
DELPITEC respondeu ao tópico de Viníciuscdst em Microcontroladores
Já fiz esse tipo de circuito (não com arduino) Existe um CI chamado FT232 que converte o serial do teu arduino para o USB. Nunca usei arduino mas já me informaram de um problema ao utilizar este CI com o arduino (não lembro qual): A porta serial do arduino já está sendo utilizada para comunicar com o PC, e é a mesma porta que é utilizada no conector preto, o que se usa para soquetar com jumpers. Não sei como resolveu esse problema, mas eu imagino que a solução seja desconectar do PC o usb do arduino ou , selecionar outra porta serial do PC para ler o conversor. Abs -
TMR0 do PIC16F628A não funciona
DELPITEC respondeu ao tópico de Anonymous Programmer em Microcontroladores
Não esqueceu de deixar o pino do mclr em high? -
Olá. Claro que pode. Olhei beeem por cima. Parece que o código já sai contando e quando pressionado e mantido, ele pausa e depois de solto ele zera e ao pressionar de novo inicia a contagem. Acho que algo funcional seria: while(1) { if(Zerar){ Timer0_Init(); Timer1_Init(); zerar_flag = 1; while (Zerar); zerar_flag = 1; Crono.minutos = 0; Crono.segundos = 0; Crono.mSegundos = 0; MicroSegundos = 0; } Lcd_Chr( 2, 5, Crono.minutos/10 + '0' ); Lcd_Chr_CP( (Crono.minutos%10) + '0' ); Lcd_Chr_CP(':'); Lcd_Chr_CP( Crono.segundos/10 + '0' ); Lcd_Chr_CP( (Crono.segundos%10) + '0' ); Lcd_Chr_CP(':'); Lcd_Chr_CP( Crono.mSegundos/100 + '0' ); Lcd_Chr_CP( (Crono.mSegundos/10%10) + '0' ); Lcd_Chr_CP( (Crono.mSegundos%10) + '0' ); Lcd_Chr_CP(':'); Lcd_Chr_CP( MicroSegundos/100 + '0' ); Lcd_Chr_CP( (MicroSegundos/10%10) + '0' ); Lcd_Chr_CP( (MicroSegundos%10) + '0' ); } } OBS: ACHOOO nunca trabalhei com mikroc Mas a ideia é que ao pressionar, acione o timer e aguarde ser solta ( while (Zerar) ) e ao soltar, pare o timer e zere as variáveis. Mas olhei bem por cima, mas não é nada muito complicado. E já digo que essa não é uma maneira correta de se fazer (didaticamente até é aceitável) Abs
-
No mplab acusa erro. Pois sempre que quero aproveitar o código de um uC para outro e tem algum registrador que tem em um e não tem no outro, na hora de mandar compilar ele acusa erro. No mais, o melhor é testar em simulador para ter certeza de que não há pullup
-
Configure os registradores de pullup tanto para porta D como para b. Caso algum deles não exista, o compilador acusará erro (sendo assim, tu vai poder concluir se existe pull up em ambas ou não) Caso o compilador não acuse erro, é porque tem pullup para as portas Abs
-
Olá amigo. Sem ler o datasheet inteiro é difícil, mas o melhor que tens a fazer é testar. Configura os registradores para ambas as portas e veja o que acontece Abs
-
Projeto com microcontrolador pic18f4550
DELPITEC respondeu ao tópico de Dayvsion kepler em Microcontroladores
Pesquisa na internet meu caro, tem muita coisa pronta -
Número de ciclos de cristal para uma instrução
DELPITEC respondeu ao tópico de ilovepic em Microcontroladores
Não consigo entender...estudar um pic16f690 (8 bits que não deve ter 1 k de flash e que não tem serial e nem EEPROM) e estar preocupado com número de ciclos do cristal? Pega qualquer um de 16 bits pra cima e seja feliz hahaha -
Pino RA4 do PIC16F628A não liga
DELPITEC respondeu ao tópico de Anonymous Programmer em Microcontroladores
@Isadora Ferraz Boa!! É só a situação do pull-up mesmo. Abraço -
Pino RA4 do PIC16F628A não liga
DELPITEC respondeu ao tópico de Anonymous Programmer em Microcontroladores
@Anonymous Programmer Olá! Esse pino faz parte das portas analógicas. Tem que setar esse pino para digital i/o nós registradores analógicos. Se não me engano é ANSEL. Tem que ver no datasheet. E esse pino é coletor aberto, tem que colocar um resistor de pull up nele para utilizar como saída. Avise se deu certo. Abs [email protected] -
Utiliza a IDE mplab e o compilador XC8 (que é um "plugin" do MPLAB) Motivo 1: É da própria microchip Motivo 2: Não precisa de licença Motivo 3: É muito mais poderoso que o CCS Na minha experiência com o CCS, quando comecei a me aprofundar e fazer códigos mais sofisticados, tinha que fazer uma série de "gambiarras" para utilizar coisas como ponteiro para função, função em estrutura de dados e etc. Então migrei para o CCS e foi um parto até eu me adaptar. Sofra apenas uma vez hahaha Abs
-
Ler variável de outro pic no mesmo projecto
DELPITEC respondeu ao tópico de ilovepic em Microcontroladores
Com certeza. Existe uma infinidade de possibilidades. A mais fácil é por usart (comunicação serial), i2c , spi , usb, etc. Pesquise sobre esses assuntos e já terá com o que brincar por uns 6 meses Abraço -
problema no modulo ccp(capture) 18f4550
DELPITEC respondeu ao tópico de Jardas Fernandes em Microcontroladores
Se você configurou seu modo CCP para interromper a cada subida de pulso sim. As renovações da variável do CCP (em um pic 16F) podem ser: Capture mode, every falling edge (a cada borda de descida) Capture mode, every rising edge (a cada borda de subida) Capture mode, every 4th rising edge (a cada 4 bordas de descida) Capture mode, every 16th rising edge (a cada 16 bordas de descida) Daí essa seleção é feita na função: setup_ccp1(CCP_CAPTURE_RE) DICA: Digita setup_ccp1 no help do ccs que ele explica direitinho o que faz (help do ccs é muito rico de informações) OBS: pelo que li um pouco, o trexo do código no ccs para entrar em uma interrupção é: #int_CCP1 void CCP1_isr(void) { sub=ccp_1; set_timer1; } abs -
problema no modulo ccp(capture) 18f4550
DELPITEC respondeu ao tópico de Jardas Fernandes em Microcontroladores
Sim. Ele vai armazenar um valor. Você deverá converter esse valor Tire os ifs nesse bloco e veja se muda algo. o que me parece é que ele não está atribuindo os valores de ccp_1 à variável sub. Você está simulando no proteus? Se sim, rode no modo de depuração e veja se a cada volta no loop main o TMR1 está alterando e se a cada chamada da interrupção do CCP1 ele está atribuindo aquele valor ao sub. #INT_CCP1 void pulsos_encolder(){ sub=ccp_1; set_timer1(0); } -
problema no modulo ccp(capture) 18f4550
DELPITEC respondeu ao tópico de Jardas Fernandes em Microcontroladores
Pelo pouco que lembro do CCP como capture, ele armazena o valor do timer em duas variáveis de 16 bits. (CCP1 high e CCP1 low). Utilizei ele uma vez para medir frequência. Tem que configurar um timer e a cada estouro do CCP, gera uma interrupção que salva o valor do tempo entre subidas, por exemplo. Abs
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais