Multiplexado
0x00 INICIO 0x04
PIR1,TMR2IF ; Checa si TMR2 interrumpio SAL_ISR ; No, sale de la ISRPIR1,TMR2IF ; Si, borra bandera de interrupcion
C:\16f628a\ledmultiplex\ledmultiplex.asm btfss goto btfss goto btfss goto btfss goto btfss goto UNO1 movlw movwf movf movwf movlw movwf goto UNO2movlw movwf movf movwf movlw movwf goto UNO3 movlw movwf movf movwf movlw movwf goto UNO4 movlw movwf movf movwf movlw movwf goto UNO5 movlw 0xFF ; 2 0xFF PORTA num4,w PORTB b'11110111' PORTA SAL_ISR ;; Apaga matriz ;load columns ; Enciende columna 4 0xFF PORTA num3,w PORTB b'11111011' PORTA SAL_ISR ; ; Apaga matriz ;load columns ; Enciende columna 3 0xFF PORTA num2,w PORTB b'11111101' PORTASAL_ISR ; ; Apaga matriz ;load columns ; Enciende columna 2 0xFF PORTA num1,w PORTB b'11111110' PORTA SAL_ISR ; ; Apaga matriz ;load columns ; Enciende columna 1 PORTA,4 UNO1 PORTA,0 UNO2 PORTA,1 UNO3PORTA,2 UNO4 PORTA,3 UNO5
C:\16f628a\ledmultiplex\ledmultiplex.asm movwf movf movwf movlw movwf goto SAL_ISR movfw movwf swapf movwf swapf swapf retfie INICIO movlw movwf bsf clrf clrf bcf clrf clrf...
Regístrate para leer el documento completo.