Entrada de pulso pic 16f84

Saludos,

estoy actualmente trabajando con el pic 16f84, la idea es conectar 12 entrada y una salida.

si se activa una entrada generar un pulso.
si se activan dos entradas generar dos pulso.
si se activan tres entradas generar 3 pulso.
...
...
...
...
si se activan las doce generar 12 pulso
indiferentemente cual sea la entrada

mas o menos tengo el programa pero me genera un error, al activar una sola entrada me genera x cantidad de pulso, queremos trabajar con pulsos de entrada entre 1hz y 10 hz...
 
Gracias por responder
bueno he trabajado en el programa y a quedado de la siguiente manera solo conectando 7 entrada por el puerto B y la salida por el puerto A

Código:
#INCLUDE <P16F84A.INC>  ; Lista de etiquetas de microchip
; Fuses, configuran opciones externas de hardware para la programacion
 __CONFIG    _CP_OFF & _PWRTE_ON & _WDT_OFF & _RC_OSC
;=================== Mapa de Memoria ======================
;STATUS equ 0x03 ; Haciendo asignaciones
;TRISA equ 0x05
;TRISB equ 0x06       
;PORTA equ 0x05
;PORTB equ 0x06
llaves equ 0x0C ; almacenara el STATUS de las llaves
PDel0 equ 0x0D ; variable para Demora
PDel1 equ 0x0E ; variable para Demora
        ORG     0x0000
        GOTO    inicio
        ORG     0005
  
inicio BSF     STATUS,5 ; cambio al banco 1 del pic
        MOVLW   0x5E  
        MOVWF   PORTA  ; Asigna al puerto A como entrada
        MOVLW   0X00  
        MOVWF   PORTB  ; y Al puerto B como salida
        BCF     STATUS,5 ; Regresa al banco 0
        CLRF    PORTA  ; limpia el puerto A
        CLRF    PORTB  ; limpia el puerto B
 
swich   MOVF PORTB,0  ; carga w con el puerto A
        ANDLW   0xFF  ; retiene los 4 bits de interes (las llaves)
 MOVWF   llaves  ; y los guarda en llaves
        XORLW   0x01  ; verifica si es el primer efecto
        BTFSC   STATUS,2 ; si es así
        CALL    efect1  ; lo llama y lo ejecuta
        MOVF    llaves,0 ; sino, carga llaves en w
        XORLW   0x02  ; y verifica si es el segundo efecto
        BTFSC   STATUS,2 ; si es así
        CALL    efect1  ; lo llama y lo ejecuta
        MOVF    llaves,0 ; y así con los demás
        XORLW   0x03  ; ya me aburrí
        BTFSC   STATUS,2 ; como verás el resto es lo mismo
        CALL    efect2
        MOVF    llaves,0
        XORLW   0x04
        BTFSC   STATUS,2
        CALL    efect1
        MOVF    llaves,0
        XORLW   0x05  
        BTFSC   STATUS,2
        CALL    efect2
        MOVF    llaves,0
        XORLW   0x06  
        BTFSC   STATUS,2
        CALL    efect2
        MOVF    llaves,0
        XORLW   0x07  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x08  
        BTFSC   STATUS,2
        CALL    efect1
        MOVF    llaves,0
        XORLW   0x09  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x0A  
        BTFSC   STATUS,2
        CALL    efect2
        MOVF    llaves,0
        XORLW   0x0B  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x0C  
        BTFSC   STATUS,2
        CALL    efect2
        MOVF    llaves,0
        XORLW   0x0D  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x0E  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x0F  
        BTFSC   STATUS,2
        CALL    efect4  
        MOVF    llaves,0
        MOVF    llaves,0
        XORLW   0x10  
        BTFSC   STATUS,2
        CALL    efect1          
        MOVF    llaves,0
        XORLW   0x11  
        BTFSC   STATUS,2
        CALL    efect2 
        MOVF    llaves,0
        XORLW   0x12  
        BTFSC   STATUS,2
        CALL    efect2 
        MOVF    llaves,0
        XORLW   0x13  
        BTFSC   STATUS,2
        CALL    efect3 
        MOVF    llaves,0
        XORLW   0x14  
        BTFSC   STATUS,2
        CALL    efect2 
        MOVF    llaves,0
        XORLW   0x15  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x16  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x17  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x18  
        BTFSC   STATUS,2
        CALL    efect2 
        MOVF    llaves,0
        XORLW   0x19  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x1A  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x1B  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x1C  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x1D  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x1E  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x1F  
        BTFSC   STATUS,2
        CALL    efect5          
        MOVF    llaves,0
        XORLW   0x20  
        BTFSC   STATUS,2
        CALL    efect1
        MOVF    llaves,0
        XORLW   0x21  
        BTFSC   STATUS,2
        CALL    efect2 
        MOVF    llaves,0
        XORLW   0x22  
        BTFSC   STATUS,2
        CALL    efect2 
        MOVF    llaves,0
        XORLW   0x23  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x24  
        BTFSC   STATUS,2
        CALL    efect2 
        MOVF    llaves,0
        XORLW   0x25  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x26  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x27  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x28  
        BTFSC   STATUS,2
        CALL    efect2 
        MOVF    llaves,0
        XORLW   0x29  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x2A  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x2B  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x2C  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x2D  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x2E  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x2F  
        BTFSC   STATUS,2
        CALL    efect5             
        MOVF    llaves,0
        XORLW   0x30  
        BTFSC   STATUS,2
        CALL    efect2 
        MOVF    llaves,0
        XORLW   0x31  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x32  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x33  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x35  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x36  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x37  
        BTFSC   STATUS,2
        CALL    efect5 
        MOVF    llaves,0
        XORLW   0x38  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x39  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x3A  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x3B  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x3C  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x3D  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x3E  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x3F  
        BTFSC   STATUS,2
        CALL    efect6
        MOVF    llaves,0
        XORLW   0x40  
        BTFSC   STATUS,2
        CALL    efect1             
        MOVF    llaves,0
        XORLW   0x41  
        BTFSC   STATUS,2
        CALL    efect2  
        MOVF    llaves,0
        XORLW   0x42  
        BTFSC   STATUS,2
        CALL    efect2  
        MOVF    llaves,0
        XORLW   0x43  
        BTFSC   STATUS,2
        CALL    efect3  
        MOVF    llaves,0
        XORLW   0x44  
        BTFSC   STATUS,2
        CALL    efect2  
        MOVF    llaves,0
        XORLW   0x45  
        BTFSC   STATUS,2
        CALL    efect3  
         MOVF    llaves,0
        XORLW   0x46  
        BTFSC   STATUS,2
        CALL    efect3  
        MOVF    llaves,0
        XORLW   0x47  
        BTFSC   STATUS,2
        CALL    efect4  
        MOVF    llaves,0
        XORLW   0x48  
        BTFSC   STATUS,2
        CALL    efect1  
        MOVF    llaves,0
        XORLW   0x49  
        BTFSC   STATUS,2
        CALL    efect3  
        MOVF    llaves,0
        XORLW   0x4A  
        BTFSC   STATUS,2
        CALL    efect3  
        MOVF    llaves,0
        XORLW   0x4B  
        BTFSC   STATUS,2
        CALL    efect4  
        MOVF    llaves,0
        XORLW   0x4C  
        BTFSC   STATUS,2
        CALL    efect3  
        MOVF    llaves,0
        XORLW   0x4D  
        BTFSC   STATUS,2
        CALL    efect4  
        MOVF    llaves,0
        XORLW   0x4E  
        BTFSC   STATUS,2
        CALL    efect4  
        MOVF    llaves,0
        XORLW   0x4F  
        BTFSC   STATUS,2
        CALL    efect5  
        MOVF    llaves,0
        XORLW   0x50  
        BTFSC   STATUS,2
        CALL    efect2  
        MOVF    llaves,0
        XORLW   0x51  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x52  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x53  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x54  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x55  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x56  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x57  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x58  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x59  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x5A  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x5B  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x5C  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x5D  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x5E  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x5F  
        BTFSC   STATUS,2
        CALL    efect6
        MOVF    llaves,0
        XORLW   0x60  
        BTFSC   STATUS,2
        CALL    efect2
        MOVF    llaves,0
        XORLW   0x61  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x62  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x63  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x64  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x65  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x66  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x67  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x68  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x69  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x6A  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x6B  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x6C  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x6D  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x6E  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x6F  
        BTFSC   STATUS,2
        CALL    efect6
        MOVF    llaves,0
        XORLW   0x70  
        BTFSC   STATUS,2
        CALL    efect3
        MOVF    llaves,0
        XORLW   0x71  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x72  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x73  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x74  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x75  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x76  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x77  
        BTFSC   STATUS,2
        CALL    efect6
        MOVF    llaves,0
        XORLW   0x78  
        BTFSC   STATUS,2
        CALL    efect4
        MOVF    llaves,0
        XORLW   0x79  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x7A  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x7B  
        BTFSC   STATUS,2
        CALL    efect6
        MOVF    llaves,0
        XORLW   0x7C  
        BTFSC   STATUS,2
        CALL    efect5
        MOVF    llaves,0
        XORLW   0x7D  
        BTFSC   STATUS,2
        CALL    efect6
        MOVF    llaves,0
        XORLW   0x7E  
        BTFSC   STATUS,2
        CALL    efect6
        MOVF    llaves,0
        XORLW   0x7F  
        BTFSC   STATUS,2
        CALL    efect7        
        GOTO    swich  ; Comienza a revisar de nuevo
 
efect1 CLRF    PORTA  ; limpia el puerto B
        BSF     PORTA,0  ; (10000000)
        CALL    Demora
        BCF     PORTA,0  ; (11000000)
        CALL    Demora
        RETURN   ; a revisar nuevamente las llaves

efect2  CLRF    PORTA  ; limpia el puerto B
        BSF     PORTA,0  ; (10000000)
        CALL    Demora2
        BCF     PORTA,0  ; (11000000)
        CALL    Demora2
        CLRF    PORTA  ; limpia el puerto B
        BSF     PORTA,0  ; (10000000)
        CALL    Demora2
        BCF     PORTA,0  ; (11000000)
        CALL    Demora2
        RETURN 

efect3  CLRF    PORTA  ; limpia el puerto B
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
       BSF     PORTA,0  ; (10000000)
        CALL    Demora
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
 BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        RETURN 

efect4  CLRF    PORTA  ; limpia el puerto B
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
       BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
 BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        RETURN

efect5  CLRF    PORTA  ; limpia el puerto B
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        RETURN   ; a revisar nuevamente las llaves

efect6  CLRF    PORTA  ; limpia el puerto B
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
       BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        RETURN   ; a revisar nuevamente las llaves

efect7  CLRF    PORTA  ; limpia el puerto B
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
       BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
      BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
       BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        BSF     PORTA,0  ; (10000000)
        CALL    Demora1
        BCF     PORTA,0  ; (11000000)
        CALL    Demora1
        RETURN   ; a revisar nuevamente las llaves

Demora  movlw 0XFF     ; 1 set numero de repeticion  (B)
        movwf   PDel0     ; 1 |
PLoop1  movlw   .252     ; 1 set numero de repeticion  (A)
        movwf   PDel1     ; 1 |
PLoop2  clrwdt            ; 1 clear watchdog
        decfsz  PDel1, 1  ; 1 + (1) es el tiempo 0  ? (A)
        goto    PLoop2    ; 2 no, loop
        decfsz  PDel0,  1 ; 1 + (1) es el tiempo 0  ? (B)
        goto    PLoop1    ; 2 no, loop
PDelL1  goto  PDelL2         ; 2 ciclos delay
PDelL2  clrwdt              ; 1 ciclo delay
        return              ; 2+2 Fin.
Demora1  movlw .50     ; 1 set numero de repeticion  (B)
        movwf   PDel0     ; 1 |
PLoop3  movlw   .252     ; 1 set numero de repeticion  (A)
        movwf   PDel1     ; 1 |
PLoop4  clrwdt            ; 1 clear watchdog
        decfsz  PDel1, 1  ; 1 + (1) es el tiempo 0  ? (A)
        goto    PLoop4    ; 2 no, loop
        decfsz  PDel0,  1 ; 1 + (1) es el tiempo 0  ? (B)
        goto    PLoop3    ; 2 no, loop
PDelL4  goto  PDelL3         ; 2 ciclos delay
PDelL3  clrwdt              ; 1 ciclo delay
        return              ; 2+2 Fin.
Demora2  movlw .200     ; 1 set numero de repeticion  (B)
        movwf   PDel0     ; 1 |
PLoop5  movlw   .252     ; 1 set numero de repeticion  (A)
        movwf   PDel1     ; 1 |
PLoop6  clrwdt            ; 1 clear watchdog
        decfsz  PDel1, 1  ; 1 + (1) es el tiempo 0  ? (A)
        goto    PLoop6    ; 2 no, loop
        decfsz  PDel0,  1 ; 1 + (1) es el tiempo 0  ? (B)
        goto    PLoop5    ; 2 no, loop
PDelL6  goto  PDelL5         ; 2 ciclos delay
PDelL5  clrwdt              ; 1 ciclo delay
        return              ; 2+2 Fin.
        END

Ahora cuando trato de configurar mas entrada me indica que que sobrepasado el limite del procesadro, si hay alguna manera mejor te agradeciaria tu ayuda.

los timpos varian segun el efecto por si se activan otras entradas

pd.... estamos trabajando con pulso de 1 hz



Saludos....
 
Última edición por un moderador:
willyfv: Ya no mandes nada... igual tu programa necesita una reingenieria drastica. Lo que debes hacer es lo siguiente y te lo explico en pseudocodigo.

Adicional a la variable "llaves", crea la variable UNOS que llevara la cuenta de las entradas que se han puesto en 1 y, otra llamada N, que es un contador auxiliar.

El programa quedara mas o menos asi:

programar puertos A y B, etc
...
L1: Borrar variable UNOS
W <- Port B ; Leer puerto B
"llaves" <- W : Copiar W en la variable "llaves"
N <- 0 ; Borrar variable N

while (N < 8){
W = W AND 0x1 ; Enmascarar el primer bit de W
Si W = 1, UNOS++ ; incrementar variable UNOS
W<-"llaves" ; Copiar en W la variable "llaves"
Desplazar registro W un bit a la derecha
Guardar en "llaves" el nuevo valor en W.
N++
}

incluir aqui un codigo similar para el Puerto A.
...

La variable UNOS tiene ahora el numero de entradas de los Puertos A y B que estan en uno.

Ahora, usas el valor de UNOS para generar la se¤al de salida con tantos pulsos como numero de entradas estan en 1. Algo asi:

while (UNOS > 0){
PortA.0 = 1
delay
PortA.0 = 0
delay
UNOS--
}

Volver a L1 para empezar de nuevo

Saludos
 
muchas gracias por tu colaboracion, no te habia escrito antes por cuestiones de trabajo, pero el dise;o lo hice con flip flop y me funciono a la perfecion, ahora estoy trabajando en una contador de ochos digitos con un solo pic, ya me funciona en proteus solo me falta probarlo en vivo y directo, pero adicional al contador quiero conectarle un teclado matricial y el monto lo refleje en los display, con mas tiempo te paso el dise;o y el programa para que me colabores....

saludos
 
Atrás
Arriba