Professional Documents
Culture Documents
LITORAL
FIEC
Proyecto de Electrnica 2
Tema:
Banda Transportadora con Contador (usando un
censor de fotocelda) y control de velocidad
Estudiantes
Jonathan Recalde
Paralelo: # 1
2012 1 TRMINO
SENSOR DE
INICIO
PIC
LED VISUALIZADORES
EN BINARIO
DISPLAYS VISUALIZADORES
EN DECIMAL
3) Diagrama de flujo
MAIN
VARIABLES
ACCESO A
PUERTOS
SENSOR
INICIO
ESPERA DE
INTERRUPCION
REGISTRO
DEL NUMERO
DE PERSONAS
ACTIVA ALARMA
RETFIE
Definimos variables para accesar a los puertos luego la interrupcin se hace por medio de un sensor en este caso es una
fotocelda el cual es guardado en un registro llamado nmero de personas, se seguir censando tantas veces como pase el
nmero de personas, cuando este registro llega a 99 se activa una alarma en este caso se visualizara un diodo led el cual se
encender.
call Retardo_10ms
movwf PORTC
bcf display_dec
bsf display_uni
call Retardo_10ms
;etiquetea
;bsf STATUS,5 ; se abre el banco en 1
banksel ANSELH
;cambia de banco y se dirige al registro
; A NSELH para decir que es entrada o salida digital
clrf ANSELH
;vuelve digital al puerto
banksel TRISB
;dirigo al banco del TRISB para dejarlo como entrada salida
movlw b'000000001'
;cargo al registro de trabjo el rb0 como entrada
movwf TRISB ; entrada en portb_0
clrf TRISC ;salida al puerto c
clrf TRISD
return
ok
VisualizaContador
movf Contador,W
movwf PORTD
call
BIN_a_BCD
movfw BCD_Decenas
;movwf decena
call Binario_a_7Segmentos
Binario_a_7Segmentos
movwf decena_7seg
decena_7seg
movfw BCD_Unidades
;movwf unidad
call Binario_a_7Segmentos
movwf unidad_7seg
FinInterrupcion
bcf
INTCON,INTF
retfie
(GIE=1).
;;AREA DE FUNCIONES
Binario_a_7Segmentos
addwf PCL,F
Tabla retlw 3Fh
retlw 06h
retlw b'01011011'
retlw 4Fh
retlw 66h
retlw 6Dh
retlw 7Dh
retlw 07h
retlw 7Fh
retlw 67h
include <RETARDOS.INC>
include <BIN_BCD.INC>
end
5) Circuito en PROTEUS
R2
1k
R5
R1
470
VCC
OUT
C4
1F
LED1
D1
1N4148
RST
C1
100nF
S2
MOTOR
100k
50%
Key=A
A1
V1
12 V
D3
1N5401
DIS
D2
1N4148
THR
TRI
C3
100nF
CON
GND
Q1
555_VIRTUAL
R4
C2
100nF
10
IRFZ24N
R3
1k
tiempo, cabe recalcar que la frecuencia de la seal de salida esta determina por el capacitor
C4 en donde:
6) CONCLUSIONES
La interrupcin es un suceso asincrnico que provoca desviaciones del flujo normal de
ejecucin de instrucciones, estos sucesos pueden ser externos o internos; siendo en esta
interrupcin un pulso externo en la patita RB0/INT que se activa con el cuarto bit del registro
Intcon adems se debe activar el sptimo bit del mismo registro para permitir las
interrupciones.
Concluyo que la parte ms importante del cdigo es la habilitacin de la interrupcin externa
por medio del bit INTE y GIE en el registro INTCON, a pesar de ser tan slo dos lneas, estas
son decisivas para el desarrollo del proyecto puesto que sin estas dos lneas resulta imposible
detectar cualquier tipo de interrupcin adems se debe recordar ubicar resistencias en las
salidas para cuidar los elementos. Adems se debe tener en cuenta el directorio de ANSEL y
ANSELH para que los pines sean configurados como entradas o salidas analgicas y no tener
problema con la adquisicin de datos del sistema.
La ventaja de activar la resistencias de Pull-Up internas por medio del bit 7 del registro
Option, ya que al simular en Proteus, conectar o no resistencias externas no conlleva grandes
diferencias como si lo hara en la implementacin fsica, donde ahorramos espacio al no
conectarlas. En este proyecto se usa para la interrupcin de RB0 lgica negada para realizar
la interrupcin.
7) Recomendaciones
Para que el PIC 16F887 compile correctamente deber hacer al registro ADCON1=7 en el
BANCO 1. Esto debido a que por default el PIC 16F887 viene seteado para 8 entradas
analgicas y si lo que se necesitan son entradas y salidas digitales debemos desactivar esas
entradas analgicas ingresando el valor que se indica en el registro ADCON1.
Tener cuidado al asignar el vector de interrupcin ya que al estar habilitado GIE, algn error
en los bits correspondientes a otro tipo de interrupcin pueden dar errores en la compilacin
del programa.
Se podra implementar un circuito externo con el cual se pueda variar el tiempo en el que se
presenta los nmeros en los displays, lo cual tambin afectara el tiempo de presentacin del
led.