Ir ao conteúdo
  • Cadastre-se

siltech

Membro Pleno
  • Posts

    24
  • Cadastrado em

  • Última visita

Reputação

0
  1. Ola Guibushido, eu tenho o Pickit3 e o funcionamento deve ser igual, ao conectar o cabo USB o led power deve acender indicando que esta recebendo alimentação pela USB, depois abra o MPLAB IDE, va em programmer, select programmer e selecione PICKIT2, na tela output deve aparecer algo do tipo: PICkit 2 detected Connecting to PICkit 2... Running self test... Self test completed Firmware Suite Version...... 01.28.90 Firmware type......................Midrange
  2. Ola pessoal, to tentando mudar o acionamento de uma sirene por DTMF e não estou conseguindo, no programa abaixo a sirene é ativada pressionando a tecla " *" e desativada com a tecla "#". A tecla "#" sera configurada para chamar uma função de comparar senha para outro acionamento. (estou quase finalizando) O objetivo é acionar apenas com a tecla "*" ou seja, enquanto " * " estiver pressionada, sirene ligada, se tecla "*" solta, sirene desligada. O problema é que apos a interrupção externa eu não consigo aproveitar a informação de STD do MT8870. Ja tentei um jumper entre PORTB.RB0 e PORTA.RA7 configurado como entrada e não consegui. Alguem tem alguma ideia de como resolver esse problema? // Programa decodificador de DTMF // Tecla "*" , liga sirene // Tecla "#", desliga sirene // D 1 2 3 4 5 6 7 8 9 0 * # A B C const int dtmf2ascii[16] = {68, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 42, 35, 65, 66, 67}; // ***************************************************************************************** //===========================Variaveis========================================== int dv = 0; // DTMF valido int dtmf_nibble = 0; char txt[4]; char ascii_char; //===============================interrupção externa============================ void interrupt() { if (INTF_bit == 1) { INTF_bit = 0; dv = 1; } } //============================================================================== void convert(int nibble) { ascii_char = dtmf2ascii[nibble]; // Converte nibble em ascii } //============================================================================== void main() { CMCON = 0x07; TRISA = 0xEF; TRISB = 0x01; PORTB.B1 = 0; OPTION_REG = 0xC0; INTCON = 0xC0; INTE_bit = 1; INTF_bit = 0; do { if (dv == 1){ dtmf_nibble = PORTA; ByteToStr(dtmf_nibble, txt); // converte 4 bit para string dtmf_nibble = dtmf_nibble & 0x0F; convert(dtmf_nibble); if (ascii_char == '*') { portb.rb1 = 1; } if (ascii_char == '#') { portb.rb1 = 0; } dv = 0; } } while(1); } // Fim sirene.bmp
  3. Bom dia, de uma olhada nesse programador que eu montei no passado para programar pic16f84. http://www.lancos.com/e2p/siprog_base.png http://www.lancos.com/e2p/pic16-12sch.png

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

×
×
  • Criar novo...