Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;CONFIGURACIÓN DE BITS
- __CONFIG 3F58
- ;DECLARACIÓN DE REGISTROS
- STATUS EQU 0X03
- TRISB EQU 0X86
- PORTB EQU 0X06
- TRISA EQU 0X85
- PORTA EQU 0X05
- NUM1 EQU 0X20
- NUM2 EQU 0X21
- CBLOCK
- RET1
- RET2
- RET3
- ENDC
- ;ORIGEN DEL PROGRAMA
- ORG 0X00
- ;CONFIGURACIÓN DE PUERTOS
- MOVLW D'7'
- MOVWF 0X1F
- BSF STATUS,5
- CLRF TRISB
- MOVLW 0XFF
- MOVWF TRISA
- BCF STATUS,5
- ;PROGRAMA PRINCIPAL
- INICIO
- ;----- A la espera del push
- BTFSS PORTA,0
- GOTO SE_PRE
- GOTO INICIO
- SE_PRE
- BTFSS PORTA,0
- GOTO SE_PRE
- ;----- Esperamos 5 segundos
- CALL RETARDO_5S
- ;----- Iniciar motores 2 Segundos
- MOVLW D'20'
- MOVWF RET3
- PART3
- MOVLW D'200'
- MOVWF RET2
- PART2
- MOVLW D'6'
- MOVWF RET1
- PART1
- CALL SEC_MOTORES
- DECFSZ RET1,1
- GOTO PART1
- DECFSZ RET2,1
- GOTO PART2
- DECFSZ RET3,1
- GOTO PART3
- ;------ llenado 10 segundos
- BSF PORTB,4
- CALL RETARDO_10S
- BCF PORTB,4
- ;------ Iniciar motores 2 Segundos
- MOVLW D'20'
- MOVWF RET3
- PART3_1
- MOVLW D'200'
- MOVWF RET2
- PART2_1
- MOVLW D'6'
- MOVWF RET1
- PART1_1
- CALL SEC_MOTORES
- DECFSZ RET1,1
- GOTO PART1_1
- DECFSZ RET2,1
- GOTO PART2_1
- DECFSZ RET3,1
- GOTO PART3_1
- ;------ Selenoide
- BSF PORTB,5
- CALL RETARDO_1S
- BCF PORTB,5
- ;------ Regresamos a preguntar
- GOTO INICIO
- ;SUBRUTINAS
- RETARDO ; Retardo para los motores a pasos
- MOVLW D'15'
- MOVWF NUM1
- CLRF NUM2
- RETARDO_0
- DECFSZ NUM2,1
- GOTO RETARDO_0
- DECFSZ NUM1,1
- GOTO RETARDO_0
- RETURN
- RETARDO_5S ; Retardo para el inicio
- MOVLW D'50'
- MOVWF RET3
- RT3
- MOVLW D'200'
- MOVWF RET2
- RT2
- MOVLW D'166'
- MOVWF RET1
- RT1
- DECFSZ RET1,1
- GOTO RT1
- DECFSZ RET2,1
- GOTO RT2
- DECFSZ RET3,1
- GOTO RT3
- RETURN
- RETARDO_1S ; Retardo para el selenoide
- MOVLW D'10'
- MOVWF RET3
- RT3_1
- MOVLW D'200'
- MOVWF RET2
- RT2_1
- MOVLW D'166'
- MOVWF RET1
- RT1_1
- DECFSZ RET1,1
- GOTO RT1_1
- DECFSZ RET2,1
- GOTO RT2_1
- DECFSZ RET3,1
- GOTO RT3_1
- RETURN
- RETARDO_10S ; Retardo para el llenado
- MOVLW D'100'
- MOVWF RET3
- RT3_2
- MOVLW D'200'
- MOVWF RET2
- RT2_2
- MOVLW D'166'
- MOVWF RET1
- RT1_2
- DECFSZ RET1,1
- GOTO RT1_2
- DECFSZ RET2,1
- GOTO RT2_2
- DECFSZ RET3,1
- GOTO RT3_2
- RETURN
- SEC_MOTORES ; Secuencia de los motores
- MOVLW B'00001001'
- MOVWF PORTB
- CALL RETARDO
- MOVLW B'00000011'
- MOVWF PORTB
- CALL RETARDO
- MOVLW B'00000110'
- MOVWF PORTB
- CALL RETARDO
- MOVLW B'00001100'
- MOVWF PORTB
- CALL RETARDO
- RETURN
- ;FIN
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement