You are on page 1of 12

1-Realizar el programa para controlar el sentido de giro de un

motor DC mediante 2 pulsadores conectados al puerto A del PIC.


Un pulsador a la derecha y otro a la izquierda.

__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
LIST p=16F84A
INCLUDE <P16F84A.INC>

ORG 0

INICIO
BSF STATUS,RP0
CLRF TRISB
BSF TRISA,0
BSF TRISA,1
BCF STATUS,RP0

PRINCIPAL
BTFSS PORTA,1
GOTO DERECHA
GOTO IZQUIERDA

DERECHA
BTFSS PORTA,0
GOTO CEROS
BSF PORTB,0
BCF PORTB,1
GOTO PRINCIPAL
IZQUIERDA
BTFSS PORTA,0
GOTO

GIRA

GOTO

STOP

GIRA
BSF

PORTB,1

BCF

PORTB,0

GOTO PRINCIPAL
CEROS
BCF

PORTB,0

BCF

PORTB,1

STOP
BSF
BSF

PORTB,0
PORTB,1

END

2 realisar un programa que permite girar un motor DC a la derecha


Durante 5 segundos y a la izquierda 2 segundos.

__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
LIST p=16F84A
INCLUDE <P16F84A.INC>

CBLOCK

0X0C

CONTADOR
CONT1
CONT2
CONT3
CONT4
CONT5
CONT6
ENDC
ORG 0X2007
ORG 0

BSF STATUS,RP0
CLRF TRISB
BCF STATUS,RP0

PRINCIPAL
MOVLW 0X6
MOVWF PORTB
CALL

TIME

MOVLW 0X5
MOVWF PORTB
CALL
GOTO

TIME_2
PRINCIPAL

TIME
MOVLW 0X32
MOVWF CONT3

MOVLW 0X64
MOVWF CONT2
MOVLW 0XFA
MOVWF CONT1
NOP
DECFSZ CONT1,F
GOTO $-.2
DECFSZ CONT2,F
GOTO $-.6
DECFSZ CONT3,F
GOTO $-.10
RETURN
TIME_2
MOVLW 0X14
MOVWF CONT6
MOVLW 0X64
MOVWF CONT5
MOVLW 0XFA
MOVWF CONT4
NOP
DECFSZ CONT4,F
GOTO $-.2
DECFSZ CONT5,F
GOTO $-.6
DECFSZ CONT6,F
GOTO $-.10
RETURN
END

Realizar un programa que permite iniciar el giro del motor a la


derecha mediante un pulsador de START, luego de 10 segundos
automticamente cambia el sentido de giro. Parar el motor con un
pulsador de STOP.
3

__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
LIST p=16F84A
INCLUDE <P16F84A.INC>

CBLOCK

0X0C

CONTADOR
CONT1
CONT2
CONT3
ENDC
ORG 0X2007
ORG 0
BSF STATUS,RP0
CLRF TRISB
BSF
BCF

TRISA,0
STATUS,RP0

INICIO
BTFSS PORTA,0
GOTO APAGA
GOTO PRINCIPAL

PRINCIPAL
MOVLW 0X6
MOVWF PORTB
BTFSS PORTA,1
GOTO TEMPO
GOTO APAGA

TEMPO

CALL TIME

MOVLW 0X5
MOVWF PORTB
BTFSS PORTA,1
GOTO
GOTO

TEMP2
APAGA

TEMPO2 CALL TIME


GOTO PRINCIPAL

APAGA
BTFSS PORTA,1
GOTO
GOTO

INICIO
APAGAR

OFF
BCF

PORTB,0

BCF

PORTB,1

TIME

MOVLW 0X64
MOVWF CONT3
MOVLW 0X64
MOVWF CONT2
MOVLW 0XFA
MOVWF CONT1
NOP
DECFSZ CONT1,F
GOTO $-.2
DECFSZ

CONT6,F

GOTO $-.6
DECFSZ
GOTO

CONT3,F
$-.10

RETURN

END

4 Realizar el programa para controlar el sentido de giro de un motor

PAP mediante 2 pulsadores conectados al puerto A del PIC.

__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
LIST p=16F84A
INCLUDE <P16F84A.INC>

CONT_1 EQU 0X0C


CONT_2 EQU 0X0D
CONT_3 EQU 0X0E
ORG

BSF STATUS,RP0
BSF TRISA,0
BSF TRISA,1
CLRF TRISB
BCF STATUS,RP0
CONDICION
BTFSS PORTA,1
GOTO DERECHA
GOTO IZQUIERDA
IZQUIERDA
BTFSS PORTA,0
GOTO INICIO
GOTO PARAR
DERECHA
BTFSS PORTA,0
GOTO PARAR
GOTO GIRAR
PARAR
MOVLW D'00000000'
MOVWF PORTB
GOTO CONDICION
INICIO
BTFSS PORTA,0
BTFSS PORTA,1
GOTO PARAR
MOVLW 0XA
MOVWF PORTB
CALL RETARDO
MOVLW 0X5
MOVWF PORTB
CALL RETARDO
MOVLW 0X6
MOVWF PORTB
CALL RETARDO
GOTO INICIO
GIRAR
BTFSS PORTA,1
BTFSS PORTA,0
GOTO PARAR
MOVLW 0X6
MOVWF PORTB
CALL RETARDO
MOVLW 0X5
MOVWF PORTB
CALL RETARDO

MOVLW 0X9
MOVWF PORTB
CALL RETARDO
MOVLW 0XA
MOVWF PORTB
CALL RETARDO
GOTO GIRAR
RETARDO
MOVLW 0X05
MOVWF CONT_3
MOVLW 0X16
MOVWF CONT_2
MOVLW 0XFA
MOVWF CONT_1
NOP
DECFSZ CONT_1,F
GOTO $-.2
DECFSZ CONT_2,F
GOTO $-.6
DECFSZ CONT_3,F
GOTO $-.10
RETURN
END

5 Realizar un programa que permite girar un motor PAP a la derecha

durante 5 segundos y a la izquierda durante 2 segundos.


__CONFIG _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC
LIST p=16F84A
INCLUDE <P16F84A.INC>

CONT_1 EQU 0X0C


CONT_2 EQU 0X0D
CONT_3 EQU 0X0E

ORG

BSF STATUS,RP0
CLRF TRISB
BCF STATUS,RP0
INICIO
movlw 0xA
MOVWF PORTB
CALL RETARDO
MOVLW 0X9
MOVWF PORTB
CALL RETARDO
MOVLW 0X5
MOVWF PORTB
CALL RETARDO
MOVLW 0X6
MOVWF PORTB
CALL RETARDO
MOVLW 0XA
MOVWF PORTB
CALL RETARDO
MOVLW 0X9
MOVWF PORTB
CALL RETARDO
MOVLW 0X5
MOVWF PORTB
CALL RETARDO
MOVLW 0X6
MOVWF PORTB
CALL RETARDO
MOVLW 0X5
MOVWF PORTB
CALL RETARDO
MOVLW 0X9
MOVWF PORTB
CALL RETARDO
MOVLW 0XA
MOVWF PORTB
CALL RETARDO
MOVLW 0X6
MOVWF PORTB
CALL RETARDO
MOVLW 0X5
MOVWF PORTB
CALL RETARDO
MOVLW 0X9
MOVWF PORTB
CALL RETARDO
MOVLW 0XA
MOVWF PORTB
CALL RETARDO
GOTO INICIO
RETARDO
MOVLW 0X05
MOVWF CONT_3

MOVLW 0X16
MOVWF CONT_2
MOVLW 0XFA
MOVWF CONT_1
NOP
DECFSZ CONT_1,F
GOTO $-.2
DECFSZ CONT_2,F
GOTO $-.6
DECFSZ CONT_3,F
GOTO $-.10
RETURN
END

You might also like