Ir ao conteúdo
  • Cadastre-se

PULSOS COM PIC ou RELE


fabriciofg

Posts recomendados

Boa noite amigos. Sou novo no mundo da eletrônica e aqui no forum, mas sou programador a algum tempo. alguém poderia me ajudar em algum circuito que possa gerar um determinado numero de pulsos seja em PIC ou até mesmo em RELE ?

Ex.: Pressionando um botão "X" este dá 2 pulsos, um botão "Y" envia 5 pulsos e assim por diante ?

Abraço

-_-

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

se já é programador pode aproveitar seu conhecimento em fazer no pc. Se for vb pode até fazer com excel. Pode baixar o bom e velho inpout32.dll e ligar e desligar um bit da paralela ou serial em qualquer linguagem (certeza em delphi, borland c++ e vb). Se for pela usb aí o bicho pega.

abç

Link para o comentário
Compartilhar em outros sites

alguém teria algum esquema e/ou algum programa?

Não sei que linguagem voce programa, mas em assembly ficaria assim (sem as configurações):

..................

..................

..................

PULSOS EQU 0CH

#DEFINE BOTAO1 PORTB,0

#DEFINE BOTAO2 PORTB,1

#DEFINE LED PORTB,2

BSF RP0

MOVLW 0X03

MOVWF TRISB

BCF RP0

CLRF PORTB

INICIO:

BTFSS BOTAO1

GOTO FUNCAO1

BTFSS BOTAO2

GOTO FUNCAO2

GOTO INICIO

FUNCAO1:

MOVLW 0X02

MOVWF PULSO

LOOP1:

BSF LED

CALL PAUSA

BCF LED

CALL PAUSA

DECFSZ PULSO

GOTO LOOP1

GOTO INICIO

FUNCAO2:

MOVLW 0X05

MOVWF PULSO

LOOP2:

BSF LED

CALL PAUSA

BCF LED

CALL PAUSA

DECFSZ PULSO

GOTO LOOP1

GOTO INICIO

END

O circuito seria muito simples, era só usar 2 switch, um led e o PIC16F628A, sem esquecer de concluir o programa com as restantes configuraçoes.

Link para o comentário
Compartilhar em outros sites

Programo em delphi. Estou utilizando o MPLAB 8.50 para compilar. Outra coisa. Para alimentação com uma bateria 9V.

Se usas o MPLAB então podes usar o codigo em asm que postei acima.

O PIC suporta apenas 5v, deves usar um regulador (zener) de 5v para reduzir a tensão. Mas o mais fácil é trocar a bateria. E atenção que o PIC16F628A é muito sensivel, ele queima facilmente se exceder a tensão, se houver inversão do sinal, curto-circuito ou mesmo subcarga.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...

Já tenho o programador para pic e vários pics 16F628A aqui sobrando para que eu possa utilizar. Utilizo o MPLab , mas mesmo sendo programador ainda tenho alguma dificuldade em assembler (asm). Como o amigo me passou como poderia ser o programa como seriam estas configurações que ele disse que estaria faltando ? Poderia usar um teclado matricial para colocar o valor dos pulsos que eu desejo ?

Até mesmo pra simplificar e ficar mais claro meu problema: andei me informando aqui....entendam como pulso seria ao pé da litra fechar o contado entre dois fios (um terra mais um outro qualquer) que juntos gera uma ação em outro circuito !

Obs.: O objetivo principal é fazer com que um dispsitivo já instalado no equipamento que gera letras ASCII (A,B,C,D,C....) execute um determinado numero de vezes uma dessas letras.

Ex.: Apertando um botão ele feche dois fios responsáveis por uma letra 'X' 10 vezes....

Grato e abraço

Link para o comentário
Compartilhar em outros sites

Já tenho o programador para pic e vários pics 16F628A aqui sobrando para que eu possa utilizar. Utilizo o MPLab , mas mesmo sendo programador ainda tenho alguma dificuldade em assembler (asm). Como o amigo me passou como poderia ser o programa como seriam estas configurações que ele disse que estaria faltando ?

São as configurações iniciais, está aí o programa completo:

LIST P=16F628A ;INFORMA AO COMPILADOR O TIPO DE PIC USADO

RADIX DEC ;TODO NÚMERO NAO ESPECIFICADO SERA DECIMAL

#INCLUDE<P16F628A.INC> ; INCLUI A BIBLIOTECA PADRÃO DO PIC USADA

__CONFIG _BOREN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_OFF & _INTOSC_OSC_CLKOUT

;-------------------- difiniçao de variaveis e constantes ------------------------------

CBLOCK 20H

PULSOS

ENDC

#DEFINE BOTAO1 PORTB,0

#DEFINE BOTAO2 PORTB,1

#DEFINE LED PORTB,2

BANCO0 MACRO

BCF STATUS,RP0

BSF STATUS,RP1

ENDM

BANCO1 MACRO

BSF STATUS,RP0

BCF STATUS,RP1

ENDM

BANCO2 MACRO

BCF STATUS,RP0

BSF STATUS,RP1

ENDM

BANCO3 MACRO

BSF STATUS,RP0

BSF STATUS,RP1

ENDM

;------------------------------------------------------------------------------------

ORG 0H

GOTO INICIO ; VAI PARA O INICIO DO PROGRAMA

;------------------------------------------------------------------------------------

ORG 4H

RETFIE ; AS INTERRUPÇOES NÃO SERÃO UTILIZADAS

;------------------------------------------------------------------------------------

INICIO

BANCO0

CLRF PORTA

CLRF PORTB

MOVLW 7

MOVWF CMCON ; DEFINIMOS TODOS OS PINOS DO PORTA COMO DIGITAIS.

BANCO1

BSF PCON,3 ; OSCILADOR A 4MHZ

MOVLW 0X03

MOVWF TRISB ; TODOS OS PINOS DO PORT B SERÃ SAIDA

CLRF TRISA ; TODOS OS PINOS DO PORT A SERÃ SAIDA

movlw b'10000111'

movwf option_reg

BANCO0

CLRF INTCON

MAIN:

BTFSS BOTAO1

GOTO FUNCAO1

BTFSS BOTAO2

GOTO FUNCAO2

GOTO INICIO

FUNCAO1:

MOVLW 0X02

MOVWF PULSO

LOOP1:

BSF LED

CALL PAUSA

BCF LED

CALL PAUSA

DECFSZ PULSO

GOTO LOOP1

GOTO INICIO

FUNCAO2:

MOVLW 0X05

MOVWF PULSO

LOOP2:

BSF LED

CALL PAUSA

BCF LED

CALL PAUSA

DECFSZ PULSO

GOTO LOOP1

GOTO INICIO

;---------------------------------------------------------------------------

PAUSA

MOVLW D'100'

MOVWF ATRASO

PAUSA1

CALL DELAY

DECFSZ ATRASO

GOTO PAUSA1

RETURN

;---------------------------------DELAY de 10ms------------------------------

DELAY

movlw d'217'

movwf Tmr0

bcf intcon,T0if

btfss intcon,t0if

goto $-1

return

END

Poderia usar um teclado matricial para colocar o valor dos pulsos que eu desejo ?

Poderia sim, mas a ideia é controlar apenas o numero de pulsos ou tambem a propria letra?

Link para o comentário
Compartilhar em outros sites

Bom dia amigos. Agradeço pela ajuda. Estou aqui andando e aprendendo muito com vocês. Agradeço pel código...show de bola mesmo.

Consegui fazer o programa rodar ja testado no proteus. Agora....gostaria de fazer meu circuito mser alimentado por uma bateria 9V destas alcalinas. Como o integrado é alimentado por até 5V como posso fazer ? o terra desta bateria pode ser usado normalmente ?

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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