Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

27/04/2010 #1


Problemas Con Pic Doorbell
¡ Buenas un saludo para todos en el foro ! Como veran este es la primera vez que participo en el foro de la web.
Bueno, mi problema es el siguiente: yo he intentado montar el Circuito del Pic Doorbell que yo creo que ya todos saben que esta como uno de los ejemplos en Proteus; el cual consiste en generar dos melodias dependiendo de que botón pulses. Lo monte en una protoboard y resulta ser que apenas conecto la alimentación de 5v al Pic 16f84A este activa la melodia sin tener que pulsar el botón o pulsador. Yo Pense que era la protoboard que me estaba fastidiando el circuito por eso lo monte en una vaquelita pero me pasa lo mismo.

Como veran en la imagen se supone que cuando se presiona cualquier pulsador este hace contacto a tierra y luego comienza la melodia, pero revisando con un tester o multimetro la continuidad de los pines del 16f84A sin haberlo montado en nada, me percate de que el pin 5 que es tierra y los 17, 18 tienen continuidad; ¿osea que puede que de allí sea el problema cuando apenas conecto los 5v empiece a sonar ya que el pulsador no está haciendo nada?
Bueno les agradesco mucho si me pueden ayudar con esto.

Saludos...
27/04/2010 #2

Avatar de aguevara

Respuesta: Problemas Con Pic Doorbell
Como configuraste los pines 17 y 18 ??
27/04/2010 #3


Respuesta: Problemas Con Pic Doorbell
Hola, gracias por la pronta respuesta.
En realidad yo no tengo mucho conocimiento sobre esto pero ahí te dejo el archivo .asm que tiene el Proteus:

Código:
              LIST    p=16F84 ; PIC16F844 is the target processor

              #include "P16F84.INC" ; Include header file

              CBLOCK 0x10   ; Temporary storage
              tempo
              tptrl
              tptrh
              note
              length
              pitch
              temp              
              dl1
              dl2              
              ENDC


              ORG   0
entrypoint    goto  initialise

              ORG   4
intvector     goto    toggle

initialise    ; Register set up:
              clrw                    ; Zero.
              movwf   PORTA	      ; Ensure PORTB is zero before we enable it.		
              movwf   PORTB           ; Ensure PORTB is zero before we enable it.
              bsf     STATUS,RP0      ; Select Bank 1
              clrf    TRISB	      ; Port B is outputs              

	      ; Set up timer 0 for tone generation
	      movlw   0x02            ; Prescaler on, internal clocking, divide by 4            
	      movwf   OPTION_REG
              bcf     STATUS,RP0      ; Back to bank 0                              
              
                                
	      ; Poll for a button
wait	      clrf    PORTB
wloop	      btfss   PORTA,0
	      goto    playtune0
	      btfss   PORTA,1
	      goto    playtune1
	      goto    wloop                                   

;Routines to play the tunes
playtune0     movlw   0x13
	      movwf   PORTB
	      movlw   0x50
    	      movwf   tempo
	      movlw   tune0 / 0x100
	      movwf   tptrh
	      movlw   tune0 % 0x100
	      movwf   tptrl
	      goto    playtune

playtune1     movlw   0x23
	      movwf   PORTB
	      movlw   0xA0
    	      movwf   tempo
	      movlw   tune1 / 0x100
	      movwf   tptrh
	      movlw   tune1 % 0x100
	      movwf   tptrl
	      goto    playtune
                  
;Subroutine to play a tune
playtune      call    gettunedata       ; Lookup note from tune table
	      movwf   note              ; Store the note code
	      btfsc   note,7		; Bit 7 set => end of tune
	      goto    wait		; Back to waiting for a button press
 	      incf    tptrl,F           ; Increment the tune pointer
	      call    gettunedata       ; Get the note length
	      movwf   length            ; Store it
                                                                             
; Play the stored note
; The tune table supports two octaves and 8 note lengths.
playnote      btfsc   note,6	 	; Bit 6 set => rest
              goto    playwait          ; Silence ensues...     
	      movf    note,W		; Retrieve the note	      
              andlw   0x3F              ; Mask off the pitch index
	      call    pitchtable        ; and look it up in the pitchtable
 	      movwf   pitch             ; Transfer the value to Timer 0
 	      movwf   TMR0
 	      bcf     INTCON,T0IF       ; Clear Timer Interrupt
	      bsf     INTCON,T0IE       ; Enable interrupts for Timer 0
	      bsf     INTCON,GIE
playwait      movf    length,W          ; Retrieve the note length
	      movwf   dl1               ; and store it in delay counter 1
loop1	      movf    tempo,W  	        ; This value sets the timing resolution
	      movwf   dl2
loop2         nop                       ; Inner delay loop delay
	      nop      
	      decfsz  dl2,F             
              goto    loop2
              decfsz  dl1,F             ; Outer delay loop 
              goto    loop1
              bcf     INTCON,T0IE       ; Timer interrupts off            

;Fetch next note/length pair:
   	      incf    tptrl,F           ; Increment tune ptr   	      
 	      btfsc   STATUS,Z     	; Test for low byte rollover
 	      incf    tptrh,F           ; Inc high byte
              goto    playtune	        ; Loop for next note

; Routine to fetch data from the tune tables
gettunedata   movf    tptrh,W         ; Set up PCLATH for the jump
              movwf   PCLATH                      
	      movf    tptrl,W	      ; Get low address of tptr
	      movwf   PCL	      ; Jump off to the table entry                                   

; Pitch lookup function		                             
pitchtable    clrf    PCLATH           ; Clear PCLATH for zero page
	      addwf PCL,F
	      retlw 0x11               ;C5  // Midi Code 60
	      retlw 0x1F               ;C#
	      retlw 0x2B               ;D
	      retlw 0x37               ;D#
	      retlw 0x42               ;E
	      retlw 0x4D               ;F
	      retlw 0x57               ;F#
	      retlw 0x61               ;G
	      retlw 0x6A	       ;G#
	      retlw 0x72               ;A (440)
	      retlw 0x7A               ;Bb
	      retlw 0x81               ;B
	      retlw 0x89               ;C6 // Midi Code 72
	      retlw 0x8F               ;Db
	      retlw 0x96               ;D
	      retlw 0x9C               ;Eb
	      retlw 0xA1               ;E
	      retlw 0xA7               ;F
	      retlw 0xAC               ;F#
	      retlw 0xB0               ;G
	      retlw 0xB5               ;Ab
	      retlw 0xB9               ;A (880)
	      retlw 0xBD               ;Bb
	      retlw 0xC1               ;B
	      retlw 0xC4               ;C7 // Midi Code 84
	      retlw 0xC8               ;Db
	      retlw 0xCB               ;D
	      retlw 0xCE               ;Eb
	      retlw 0xD1               ;E
	      retlw 0xD3               ;F
	      retlw 0xD6               ;F#
	      retlw 0xD8               ;G
	      retlw 0xDA               ;Ab
	      retlw 0xDC               ;A (1760)
      	      retlw 0xDE	       ;Bb
	      retlw 0xE0               ;
	      retlw 0xE2               ;C8 // Midi Code 96

                                                                    
              

;Interrupt service - toggle the drive polarity to the sounder
;Note that this does not preserve the status bits - be careful,
;and that there is an assumption we are addressing bank 0.
toggle        movwf   temp
              movf    pitch,W
              movwf   TMR0
	      movf    PORTB,W
              xorlw   0x0F
              movwf   PORTB
	      bcf     INTCON,T0IF
	      movf    temp,w
	      retfie

;Tune Tables             
;Must be on even byte boundary                        
                        
	      org 0x0080

; Tune 0 Data
; Bach 'Badinerie' from Suite No 2
tune0	retlw 0x17	;B
	retlw 0x78	;240
	retlw 0x1A	;D
	retlw 0x3C	;120
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0xF0	;480
	retlw 0x06	;F#
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0x3C	;120
	retlw 0x0D	;C#
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0x3C	;120
	retlw 0x0D	;C#
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0x3C	;120
	retlw 0x0A	;A#
	retlw 0x3C	;120
	retlw 0x0D	;C#
	retlw 0x3C	;120
	retlw 0x10	;E
	retlw 0x3C	;120
	retlw 0x0D	;C#
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x0B	;B
	retlw 0x78	;240
	retlw 0x17	;B
	retlw 0x78	;240
	retlw 0x1A	;D
	retlw 0x3C	;120
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x0E	;D
	retlw 0x3C	;120
	retlw 0x0B	;B
	retlw 0xF0	;480
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x0E	;D
	retlw 0x78	;240
	retlw 0x17	;B
	retlw 0x78	;240
	retlw 0x0E	;D
	retlw 0x78	;240
 	retlw 0x10	;E
	retlw 0x3C	;60
	retlw 0x0E	;D
	retlw 0x3C	;30
	retlw 0x0D	;C#
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x78	;240
	retlw 0x1A	;D
	retlw 0x78	;240
	retlw 0x12	;F#
	retlw 0x78	;220
	retlw 0x12	;F#
	retlw 0x3C	;30
	retlw 0x14	;G#
	retlw 0x3C	;65
	retlw 0x11	;F
	retlw 0x78	;270
	retlw 0x0D	;C#
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x15	;A
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x11	;F
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x15	;A
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x15	;A
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x15	;A
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x11	;F
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x11	;F
	retlw 0x39	;115
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x19	;C#
	retlw 0x3E	;125
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x11	;F
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x39	;115
	retlw 0x1A	;D
	retlw 0x3E	;125
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x11	;F
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;120
	retlw 0x1A	;D
	retlw 0x3C	;120
	retlw 0x19	;C#
	retlw 0x3C	;120
	retlw 0x17	;B
	retlw 0x3C	;120
	retlw 0x19	;C#
	retlw 0x3C	;120
	retlw 0x15	;A
	retlw 0x3C	;120
	retlw 0x14	;G#
	retlw 0x3C	;120
	retlw 0x12	;F#
	retlw 0x3C	;130
	retlw 0x15	;A
	retlw 0x78	;210
	retlw 0x14	;G#
	retlw 0x3C
	retlw 0x12	;F#
	retlw 0x3C	;
	retlw 0x12	;F#
	retlw 0xE0	;480
	retlw 0xFF	
	retlw 0

; Tune 1 
; Mozart Eine Klein Nachtmusik

	
tune1	      	

	retlw 0x13	;G
	retlw 0x43	;538
	retlw 0x40	;REST
	retlw 0x4D	;617
	retlw 0x0E	;D
	retlw 0x18	;193
	retlw 0x40	;REST
	retlw 0x1D	;232
	retlw 0x13	;G
	retlw 0x3E	;498
	retlw 0x40	;REST
	retlw 0x48	;582
	retlw 0x0E	;D
	retlw 0x1B	;218
	retlw 0x40	;REST
	retlw 0x18	;192
	retlw 0x13	;G
	retlw 0x15	;168
	retlw 0x40	;REST
	retlw 0x19	;207
	retlw 0x0E	;D
	retlw 0x15	;168
	retlw 0x40	;REST
	retlw 0x15	;172
	retlw 0x13	;G
	retlw 0x17	;188
	retlw 0x40	;REST
	retlw 0x18	;197
	retlw 0x17	;B
	retlw 0x17	;188
	retlw 0x40	;REST
	retlw 0x1B	;222
	retlw 0x1A	;D
	retlw 0x3B	;478
	retlw 0x40	;REST
	retlw 0x83	;1052
	retlw 0x18	;C
	retlw 0x47	;568
	retlw 0x40	;REST
	retlw 0x4A	;597
	retlw 0x15	;A
	retlw 0x15	;168
	retlw 0x40	;REST
	retlw 0x1D	;237
	retlw 0x18	;C
	retlw 0x3C	;483
	retlw 0x40	;REST
	retlw 0x52	;657
	retlw 0x15	;A
	retlw 0x16	;183
	retlw 0x40	;REST
	retlw 0x16	;177
	retlw 0x18	;C
	retlw 0x1C	;228
	retlw 0x40	;REST
	retlw 0x12	;147
	retlw 0x15	;A
	retlw 0x16	;183
	retlw 0x40	;REST
	retlw 0x18	;197
	retlw 0x12	;F#
	retlw 0x18	;198
	retlw 0x40	;REST
	retlw 0x14	;167
	retlw 0x15	;A
	retlw 0x1D	;238
	retlw 0x40	;REST
	retlw 0x18	;192
	retlw 0x0E	;D
	retlw 0x39	;458
	retlw 0x40	;REST
	retlw 0x82	;1042
	retlw 0x13	;G
	retlw 0x27	;313
	retlw 0x40	;REST
	retlw 0x3E	;497
	retlw 0x13	;G
	retlw 0x6B	;858
	retlw 0x40	;REST
	retlw 0x1E	;242
	retlw 0x17	;B
	retlw 0x31	;395
	retlw 0x15	;A
	retlw 0x21	;268
	retlw 0x40	;REST
	retlw 0x07	;57
	retlw 0x13	;G
	retlw 0x16	;183
	retlw 0x40	;REST
	retlw 0x18	;197
	retlw 0x13	;G
	retlw 0x16	;180
	retlw 0x15	;A
	retlw 0x13	;155
	retlw 0x13	;G
	retlw 0x12	;145
	retlw 0x12	;F#
	retlw 0x10	;133
	retlw 0x40	;REST
	retlw 0x22	;272
	retlw 0x12	;F#
	retlw 0x68	;833
	retlw 0x40	;REST
	retlw 0x1F	;252
	retlw 0x15	;A
	retlw 0x2C	;355
	retlw 0x18	;C
	retlw 0x1B	;218
	retlw 0x40	;REST
	retlw 0x14	;162
	retlw 0x12	;F#
	retlw 0x13	;158
	retlw 0x40	;REST
	retlw 0x19	;202
	retlw 0x15	;A
	retlw 0x2F	;380
	retlw 0x13	;G
	retlw 0x13	;158
	retlw 0x40	;REST
	retlw 0x22	;272
	retlw 0x13	;G
	retlw 0x78	;963
	retlw 0x40	;REST
	retlw 0x1D	;237
	retlw 0x17	;B
	retlw 0x2A	;343
	retlw 0x40	;REST
	retlw 0x03	;27
	retlw 0x15	;A
	retlw 0x22	;278
	retlw 0x40	;REST
	retlw 0x0C	;102
	retlw 0x13	;G
	retlw 0x16	;183
	retlw 0x40	;REST
	retlw 0x1A	;212
	retlw 0x13	;G
	retlw 0x19	;205
	retlw 0x15	;A
	retlw 0x12	;150
	retlw 0x13	;G
	retlw 0x11	;140
	retlw 0x12	;F#
	retlw 0x12	;148
	retlw 0x40	;REST
	retlw 0x1F	;252
	retlw 0x12	;F#
	retlw 0x5B	;728
	retlw 0x40	;REST
	retlw 0x27	;317
	retlw 0x15	;A
	retlw 0x2D	;365
	retlw 0x18	;C
	retlw 0x1A	;208
	retlw 0x40	;REST
	retlw 0x13	;152
	retlw 0x12	;F#
	retlw 0x14	;163
	retlw 0x40	;REST
	retlw 0x19	;207
	retlw 0x13	;G
	retlw 0x14	;163
	retlw 0x40	;REST
	retlw 0x19	;207
	retlw 0x13	;G
	retlw 0x13	;153
	retlw 0x40	;REST
	retlw 0x1A	;212
	retlw 0x13	;G
	retlw 0x1C	;225
	retlw 0x12	;F#
	retlw 0x15	;175
	retlw 0x10	;E
	retlw 0x1E	;240
	retlw 0x12	;F#
	retlw 0x12	;150
	retlw 0x13	;G
	retlw 0x18	;198
	retlw 0x40	;REST
	retlw 0x16	;177
	retlw 0x13	;G
	retlw 0x10	;128
	retlw 0x40	;REST
	retlw 0x23	;287
	retlw 0x17	;B
	retlw 0x17	;190
	retlw 0x15	;A
	retlw 0x0D	;105
	retlw 0x13	;G
	retlw 0x1F	;255
	retlw 0x15	;A
	retlw 0x0F	;125
	retlw 0x17	;B
	retlw 0x18	;193
	retlw 0x40	;REST
	retlw 0x1A	;212
	retlw 0x17	;B
	retlw 0x10	;128
	retlw 0x40	;REST
	retlw 0x20	;257
	retlw 0x1A	;D
	retlw 0x19	;200
	retlw 0x18	;C
	retlw 0x0F	;125
	retlw 0x17	;B
	retlw 0x1F	;250
	retlw 0x18	;C
	retlw 0x10	;135
	retlw 0x1A	;D
	retlw 0x59	;713
	retlw 0x40	;REST
	retlw 0x7B	;987
	retlw 0x0E	;D
	retlw 0xBA	;1495
	retlw 0x10	;E
	retlw 0x7C	;998
	retlw 0x40	;REST
	retlw 0x48	;577
	retlw 0x0E	;D
	retlw 0x19	;205
	retlw 0x0C	;C
	retlw 0x16	;183
	retlw 0x40	;REST
	retlw 0x31	;397
	retlw 0x0C	;C
	retlw 0x14	;163
	retlw 0x40	;REST
	retlw 0x4C	;612
	retlw 0x0C	;C
	retlw 0x17	;190
	retlw 0x0B	;B
	retlw 0x12	;148
	retlw 0x40	;REST
	retlw 0x39	;457
	retlw 0x0B	;B
	retlw 0x13	;153
	retlw 0x40	;REST
	retlw 0x43	;537
	retlw 0x0B	;B
	retlw 0x17	;190
	retlw 0x09	;A
	retlw 0x13	;153
	retlw 0x40	;REST
	retlw 0x37	;447
	retlw 0x09	;A
	retlw 0x16	;178
	retlw 0x40	;REST
	retlw 0x41	;522
	retlw 0x07	;G
	retlw 0x2E	;375
	retlw 0x06	;F#
	retlw 0x33	;410
	retlw 0x04	;E
	retlw 0x2D	;363
	retlw 0x40	;REST
	retlw 0x01	;12
	retlw 0x06	;F#
	retlw 0x35	;428
	retlw 0x40	;REST
	retlw 0x02	;22
	retlw 0x07	;G
	retlw 0x16	;178
	retlw 0x40	;REST
	retlw 0x50	;642
	retlw 0x09	;A
	retlw 0x10	;133
	retlw 0x40	;REST
	retlw 0x4C	;612
	retlw 0x0B	;B
	retlw 0x0E	;113
	retlw 0x40	;REST
	retlw 0xB4	;1442
	retlw 0x0E	;D
	retlw 0xBA	;1495
	retlw 0x10	;E
	retlw 0x82	;1043
	retlw 0x40	;REST
	retlw 0x39	;462
	retlw 0x0E	;D
	retlw 0x2D	;360
	retlw 0x0C	;C
	retlw 0x16	;178
	retlw 0x40	;REST
	retlw 0x1E	;242
	retlw 0x0C	;C
	retlw 0x10	;128
	retlw 0x40	;REST
	retlw 0x1F	;252
	retlw 0x0C	;C
	retlw 0x10	;133
	retlw 0x40	;REST
	retlw 0x1C	;227
	retlw 0x0C	;C
	retlw 0x2C	;355
	retlw 0x0B	;B
	retlw 0x13	;153
	retlw 0x40	;REST
	retlw 0x1E	;247
	retlw 0x0B	;B
	retlw 0x0D	;108
	retlw 0x40	;REST
	retlw 0x23	;282
	retlw 0x0B	;B
	retlw 0x10	;133
	retlw 0x40	;REST
	retlw 0x1E	;247
	retlw 0x0B	;B
	retlw 0x2F	;380
	retlw 0x09	;A
	retlw 0x13	;158
	retlw 0x40	;REST
	retlw 0x1B	;222
	retlw 0x09	;A
	retlw 0x13	;153
	retlw 0x40	;REST
	retlw 0x1E	;242
	retlw 0x09	;A
	retlw 0x10	;128
	retlw 0x40	;REST
	retlw 0x23	;282
	retlw 0x07	;G
	retlw 0x2B	;350
	retlw 0x06	;F#
	retlw 0x2F	;380
	retlw 0x04	;E
	retlw 0x31	;395
	retlw 0x06	;F#
	retlw 0x35	;428
	retlw 0x40	;REST
	retlw 0x05	;47
	retlw 0x07	;G
	retlw 0xB4	;468
	retlw 0xFF
	

              END
27/04/2010 #4

Avatar de pepechip

Respuesta: Problemas Con Pic Doorbell
asegurate que las resistencias R1 y R2 estan conectadas correctamente a +5v, y que los pulsadores estan normalmente abiertos.
27/04/2010 #5

Avatar de aguevara

Respuesta: Problemas Con Pic Doorbell
Bueno de inicio veo que configuras el puerto B como salidas pero.... jamas has configurado el puerto A, te recomiendo que mientras estes en el banco 1 configures los pines 17 y 18 (relativos al puerto A) como entradas y los demas pines del mismo puerto como salidas.
28/04/2010 #6


Respuesta: Problemas Con Pic Doorbell
Hola de nuevo.
Las resistencias están correctamente en su lugar. Y sobre lo de la programación, hice esto:
initialise ; Register set up:
clrw ; Zero.
movwf PORTA ; Ensure PORTB is zero before we enable it.
movwf PORTB ; Ensure PORTB is zero before we enable it.
bsf STATUS, ; Select Bank 1
movlw b'00011' ; Port A 17 y 18 Entrada
movwf TRISA
movlw b'00000000' ; Port B is outputs
movwf TRISB
No se si estara bien aunque el mplab no me dio ningún error.¡Pero no cambio nada porque continua existiendo el mismo problema!
29/04/2010 #7


Respuesta: Problemas Con Pic Doorbell
Hola, Snakenaldo!
Este tambien es mi primer proyecto con Pic. Mis conocimientos sobre circuitos son escasos... tengo esta clase en la universidad que involucra microcontroladores, pero realmente soy nuevo en esto!
Mi pregunta es:
Como se llama el "sounder" en español? Traté buscandolo como generador de sonido, pero no lo consigo.
Entonces quedó el circuito? Lo pudiste montar con exito?
Gracias, de antemano.

-Armenta
30/04/2010 #8
Moderador

Avatar de Chico3001

Respuesta: Problemas Con Pic Doorbell
El sounder es un altavoz Piezoelectrico (como un buzzer pero cuando lo conectas no zumba), lo puedes encontrar en radios baratas o en tarjetas para regalo con sonido o en series navideñas con sonidos, tambien lo podrias reemplazar con ajustes menores por una bocina y su respectivo amplificador...
30/04/2010 #9


Respuesta: Problemas Con Pic Doorbell
Chico3001 dijo: Ver Mensaje
El sounder es un altavoz Piezoelectrico (como un buzzer pero cuando lo conectas no zumba), lo puedes encontrar en radios baratas o en tarjetas para regalo con sonido o en series navideñas con sonidos, tambien lo podrias reemplazar con ajustes menores por una bocina y su respectivo amplificador...
Muchisimas gracias Chico3001!
Me sirve mucho la información.... ahora antes de comprar todo tengo 3 preguntas mas:
Espero puedas contestarlas!

1. De cuantos MHz compro el cristal de cuarzo? Hay de 12 MHz, 8 MHz y 4 Mhz entre otros, no se cual es el que necesito.

2. Que botón compro? Pienso que un Micro switch, de push, con 2 terminales me serviría pero no estoy seguro... además no entiendo el funcionamiento del boton porque en su descripcion dice:
"12 Vcc, 50 mA, 2 terminales, normalmente abierto (NA)"

Te agradezco desde ya!
30/04/2010 #10

Avatar de aguevara

Respuesta: Problemas Con Pic Doorbell
Ignoro como hiciste la configuracion propia del pic (lo que algunos llaman "fuses"), en esta configuracion puedes habilitar la funcion PWR T(Power Up Timer), al energizar al pic se generara un reset interno por al menos 72ms (nominalmente).
Probablemente ese sea la causa de tu falla.

Otra cosa que puedes probar es generar un retardo en el reset, es decir que tu señal de reset sea un poco mas larga en tiempo de manera tal que el voltaje y el pic se estabilize, usa el circuito de la figura mostrada con la resistencia de 10K el capacitor de 47uF y el didod 1n4148
Imágenes Adjuntas
Tipo de Archivo: jpg reset.JPG (5,0 KB (Kilobytes), 6 visitas)
30/04/2010 #11
Moderador

Avatar de Chico3001

Respuesta: Problemas Con Pic Doorbell
segun el diagrama el cristal tiene que ser de 1MHz, podrias usar cualquiera de los que mencionas pero tendrias que hacer adecuaciones al programa..

En cuanto al boton esta bien...
19/05/2010 #12


Respuesta: Problemas Con Pic Doorbell
No se que parte modificar del codigo para que funcione con un cristal de 4 MHz, podrias decirme que cambiar?
-Graicas!!
11/06/2010 #13


Respuesta: Problemas Con Pic Doorbell
Bueno después de tantos intentos de encontrar cual era el problema, logre hacer que funcionara tanto en el protoboard como en la vaquelita tal y como lo señala proteus sin modificaciones. No supe cual era el problema pero pudo ser el programador que estaba utilizando que es este:

Pero ahora me interesa es ponerle bien la alimentación de 5v. Habia pensado limitar una pila de 9v a 5v. Y también un amplificador de audio para poder utilizar una pequeña corneta de 8 ohm. ¿que me recomendarian ustedes? ¡Agradesco mucho la ayuda que me han prestado !

Sobre lo que decía armenta para mi es mejor dejarle la configuración de el oscilador RC que tiene. Pues yo le puse una resistencia de 45k sin el capacitor y aun asi funciona.
04/12/2010 #14


Ayuda compañeros!! He conectado y desconectado, kemado 5 veces todo el circuito (obvio el pic de igual manera) y no funciona!!!

El profesor me dijo que el MCLR del pin 4 puede ser el problema!! Ustedes que opinan? Debo entregar mi proyecto el lunes!!! Auxiliooooo
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.