Вы находитесь на странице: 1из 3

Prelaboratorio Elabore una aplicacin con el PIC 16F877 que incremente un contador Cont desde 0 a 15, de forma cclica

(despus de tener el valor 15 debe tener el valor 0, 1, 2 y asi sucesivamente), cuando el usuario accione el switch P la cuenta se detendr, se mostrara el valor de Cont y se encender un led L. El Led a controlar es la salida RC0, y el pulsador P es la entrada RA5. Al comenzar la ejecucin el led L debe estar apagado. El cdigo assembler usado fue el siguiente:
;******************************** ;Practica 1 ;******************************** ;Roxana Rodriguez CI.20.760.647 ;Eduardo Flores CI.20.245.575 ;directivas list p=16F877 #include <p16f877.inc> ;declaraciones Cont EQU 0x20 ;codigo ORG 0x00 GOTO Inicio ORG 0x05 Inicio ;ir al banco 1 BSF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF

STATUS,RP0 0x00 TRISC ;todas en salida 0xFF TRISA ;todas entradas 0X00 TRISD .6 ADCON1 ; deshabilitar entrada analogica

;ir al banco 0 BCF STATUS,RP0 MOVLW b'00000000' BCF INTCON,GIE MOVWF PORTC GOTO Preguntar

;Inhabilitar las interrupciones ;Apagar el led L

Preguntar MOVLW 0x00 BTFSS PORTA,RA5 MOVWF PORTC BTFSS PORTA,RA5 CLRF PORTD BTFSC PORTA,RA5 GOTO Mostrar INCF Cont,1 MOVLW .16 SUBWF Cont,0 BTFSC STATUS,Z CLRF Cont GOTO Preguntar Mostrar MOVLW 0x01 MOVWF PORTC MOVF Cont,0 CALL HEX7SEG MOVWF PORTD GOTO Preguntar HEX7SEG ADDWF PCL,1 RETLW B'01111110' ; 0 RETLW B'00001100' ; 1 RETLW B'10110110' ; 2 RETLW B'10011110' ; 3 RETLW B'11001100' ; 4 RETLW B'11011010' ; 5 RETLW B'11111010' ; 6 RETLW B'00001110' ; 7 RETLW B'11111110' ; 8 RETLW B'11011110' ; 9 RETLW B'11101110' ; A RETLW B'11111000' ; B RETLW B'01110010' ; C RETLW B'10111100' ; D RETLW B'11110010' ; E RETLW B'11100010' ; F END

;Apagar el led L

;Verificar el pulsador ;Si es 1 mostrar el resultado ;Aumentar el contador ;Si es igual a 15 ;Resetear el contador ;Repetir el ciclo

;Encender el led L ;Subprograma para convertir a 7 seg ;Encender el display

;Para convertir a 7 seg ;PARA DISPLAY CATODO COMUN

El diagrama de flujo es el siguiente

Вам также может понравиться