Pic16F877A-Velocidad-Vehicular

Páginas: 5 (1184 palabras) Publicado: 24 de mayo de 2012
APÉNDICE

B

Programa del PIC 16F877A

;***************************************************************************************
;*
*
;*
"CONTROL AUTOMÁTICO DE VELOCIDAD VEHICULAR".
*
;*
*
;***************************************************************************************
;*
*
;* EL PRESENTE PROGRAMA TIENE COMO FINALIDAD CONTROLAR LA VELOCIDAD DEL *
;* VEHÍCULO, DEPENDIENDODE LA SEÑAL RECIBIDA DEL TRANSMISOR.
*
;*
*
;* ENTRE SUS FUNCIONES SE ENCUENTRAN:
*
;*
*
;*
1. REALIZAR LA CONVERSION A/D DE LA SEÑAL CAPTADA POR EL RECEPTOR.
*
;*
2. GENERAR SEÑALES PWM CON DISTINTO CICLO DE TRABAJO, DE ACUERDO CON *
;*
LA VELOCIDAD DESEADA PARA EL VEHÍCULO
*
;*
3. LA SEÑAL PWM GENERADA CONTROLARÁ LA FRECUENCIA Y CICLO DE TRABAJO *
;*
EL CIRCUITO REDUCTOR –ELEVADOR
*
;*
*
;***************************************************************************************
PROCESSOR 16f877A
include "p16f877A.inc"
list
p=16f877A
org
0X00
; DEFINICION DE VARIABLES.
CBLOCK
0X20
RETRASO
TIEMPO
DELAY
BANDERA
ENDC

82

Apéndice B. Programa del PIC 16F877A

; INICIALIZACIÓN DE LOS PUERTOS Y DE LA BANDERA.
INICIALIZACION
NOP
BCF
BCF
CLRF
CLRFBSF
MOVLW
MOVWF
MOVLW
MOVWF

STATUS, RP1
STATUS, RP0
PORTA
PORTC
STATUS, RP0
B'11111111'
TRISA
B'11110000'
TRISC

MOVLW
MOVWF

B'00001111'
ADCON1

BCF
MOVLW
MOVWF

STATUS, RP0
B'01000001'
ADCON0

MOVLW
MOVWF

B'00000000'
BANDERA

CALL
MOVLW
MOVWF

CONVERSION
B'11111111'
TIEMPO

; LLAMA A LA SUBRUTINA DE CONVERSION

MOVLW
MOVWF
DECFSZ
GOTOB'11111111'
RETRASO
TIEMPO, 1
ESPERA

; ENTRA EN UN CICLO DE ESPERA INTEGRADO
; POR WAIT, ESPERA Y CICLO; CON EL FIN DE
; ASEGURAR QUE EL PIC NO RECIBA DOS VECES
; LA MISMA SEÑAL DEL RECEPTOR.

GOTO

MAIN

; CAMBIA AL BANCO 0
; INICIALIZA EL PUERTO A
; INICIALIZA EL PUERTO C
; SELECCIONA EL BANCO 1
; CONFIGURA EL PUERTO A COMO ENTRADAS
; CONFIGURA EL PUERTO C COMO ENTRADAS
; YSALIDAS
; JUSTIFICA A LA IZQUIERDA, AN0 ANALÓGICA,
; AN COMO DIGITAL, RA3 COMO VREF+ Y
; RA2 COMO VREF; BANCO 0
; FOSC/8, RA0 CANAL DE ENTRADA ANALÓGICO,
; A/D ENCENDIDO
; INICIALIZACIÒN DE LA BANDERA

MAIN

WAIT

ESPERA
MOVLW
MOVWF
DECFSZ
GOTO

B'00001111'
DELAY
RETRASO, 1
CICLO

GOTO

WAIT

DECFSZ

DELAY, 1

CICLO

83

Apéndice B. Programa del PIC 16F877A

GOTOCICLO

GOTO

ESPERA

CONVERSION
NOP
NOP
BSF

ADCON0, GO

; ESPERA EL TIEMPO MÍNIMO DE ADQUISICIÓN
; EMPIEZA LA CONVERSIÓN A/D

BTFSC
GOTO

ADCON0, GO
CHECA_CONV

; ESPERA QUE SE COMPLETE LA CONVERSIÓN

BCF
MOVF
BSF
SUBLW
BTFSC

STATUS, RP0
ADRESH, W
STATUS, C
B'01110110'
STATUS, C

GOTO

CHECA

BTFSS
GOTO
GOTO

BANDERA, 0
CONTROL
BAND

; CHECA SIESTÁ EN EL AREA DE CONTROL
; SI ES 0, ESTÁ ENTRANDO Y VA A CONTROL
; SI ES 1, ESTÁ SALIENDO Y VA A BAND

BTFSC
GOTO
GOTO

BANDERA, 0
CONTROL
VELOCIDAD

; ESTA SUBRUTINA VERIFICA SI EL VEHÍCULO
; ESTÁ DENTRO O FUERA DEL ÁREA DE
; DE CONTROL.
; DE ESTAR DENTRO DEL AREA VA A CONTROL
; SI ESTA FUERA DEL AREA VA A VELOCIDAD

MOVLW
MOVWF
GOTO

B'00000000'
BANDERA
CHECA

; ESTASUBRUTINA INDICA QUE EL VEHÌCULO
; ESTÁ SALIENDO DEL ÁREA DE CONTROL, POR
; LO QUE HACE BANDERA = 0 PARA INDICARLO

STATUS, RP0
PORTC, 4
PORTC, 5
PWM1
PWM2

; BANCO 0
; VERIFICA SI ESTA EN PRIMERA VELOCIDAD
; VERIFICA SI ESTA EN SEGUNDA VELOCIDAD
; LLAMA A LA PRIMER VELOCIDAD
; LLAMA A LA SEGUNDA VELOCIDAD

B'00000001'
BANDERA
STATUS, RP0

; SE MODIFICA LA BANDERA PARA INDICAR
;QUE SE ESTÁ DENTRO DEL ÁREA DE CONTROL
; BANCO 0

CHECA_CONV

CHECA

; BANCO 0
; PONE EN W EL RESULTADO DE CONVERSIÓN
; HACE LA RESTA DE VALOR - W
; VERIFICA LA BANDERA DE CARRY PARA
; ASEGURAR QUE LA SEÑAL NO SEA RUIDO

BAND

VELOCIDAD
BCF
BTFSS
BTFSS
GOTO
GOTO
CONTROL
MOVLW
MOVWF
BCF

84

Apéndice B. Programa del PIC 16F877A

BTFSS
BTFSS
GOTO
GOTO

PORTC, 4...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • SENSOR DE VELOCIDAD DEL VEHICULO
  • El control de velocidad y ubicacion en vehiculos automotores
  • Practica 5 velocidad vehicular 1
  • VSS “Vehicle Speed Sensor” (Sensor de Velocidad del Vehiculo)
  • Caja De Velocidad De Un Vehiculo
  • Pic16f877a
  • pic16f877a
  • Pic16f877a

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS