Autor Tema: contador pic16f84  (Leído 2163 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado yamifr07

  • PIC10
  • *
  • Mensajes: 4
contador pic16f84
« en: 08 de Junio de 2006, 23:45:07 »
hola tengo un display 7 sengmentos y un interruptor. quiero hacer un contador del 0 al 9 que  se incremente en 1 cada vez que apreto el interruptor, de la manera mas facil ya que solo se instrucciones como bcf bsf movlw movwf call goto y btfss.
gracias

Desconectado patolinec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 206
Re: contador pic16f84
« Respuesta #1 en: 09 de Junio de 2006, 01:34:03 »
Ha chevere pero coloca el codigo que piensas hacer para ver aca como te ayudamos.
Casi me maté pero ahora estoy de nuevo vivo

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: contador pic16f84
« Respuesta #2 en: 10 de Junio de 2006, 17:45:09 »
Este es un contador de 0 a 9 incrementa con un pulso por RA0 la salida es por el puertob . bebes dejar de presionar el pulsador y luego presionar de nuevo  para que siga incrementando. incrementa de uno en uno.
;no necesita decodificador display de cátodo

es.........................................................*

   list    p=16f84A
           include"p16f84A.INC"

con1      equ   0x0c
con2      equ   0x0d
con3      equ   0x0e
unidades   equ   0x0f
temp      equ   0x11
porta      equ   0x05
portb      equ   0x06
status      equ   0x03
pcl      equ   0x02     
intcon      equ   0x0b
z      equ   0x02
trisa      equ   85h
trisb      equ   86h
   

      org   0
      goto   inicio
      org   5

retardo      movlw   .1      ;30
      movwf   con3
c_con2      movlw   .1      ;100
      movwf   con2
repeat      decfsz   con2,f
      goto   repeat
      decfsz   con3,f
      goto   c_con2   
      return         ;termino subrutina de retardo

           

display      addwf   pcl,f
      retlw   b'00111111';0
      retlw   b'00000110';1
      retlw   b'01011011';2
      retlw   b'01001111';3
.      retlw   b'01100110';4
      retlw   b'01101101';5
      retlw   b'01111100';6
      retlw   b'00000111';7
      retlw   b'01111111';8
      retlw   b'01100111';9

visu      movf   unidades,w
      call   tabla
      movwf   portb
      call   retardo
return

inicio      bsf   status,5
      movlw   0x01        ;ra0  pulsador
      movwf   porta
      movlw   b'00000000'   portb     salida para segmentos del display
      movwf   portb   
      bcf   status,5   
      clrf   unidades
   
   
ciclo      call   visu
      btfss   porta,0
      goto   ciclo         ;comprobación de pulsador
      call   retardo   ;antirrebote
      btfss   porta,0
      goto   ciclo

           
      incf   unidades,1
      movlw   .10
      xorwf   unidades,w
      btfss   status,z
      goto   soltar
      clrf   unidades

soltar      call   visu
      btfsc   porta,0
      goto   soltar
      call   retardo
      btfsc   porta,0
      goto   soltar
      goto   ciclo

      end
salud
 

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Re: contador pic16f84
« Respuesta #3 en: 11 de Junio de 2006, 21:02:09 »
Hola Microcom:

Estaba tratando de simular tu ejemplo y veo que llamas a la rutina tabla, pero no esta la rutina, creo que es la rutina display no?

Saludos
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: contador pic16f84
« Respuesta #4 en: 12 de Junio de 2006, 18:13:16 »
claro¡
 me falto colocar display donde va tabla
hay que escribir display donde dice tabla.

y asi   si