Professional Documents
Culture Documents
SEMAFOROS.
ERIKA MUOZ P.
COD. 46.373.908
ALEXANDER SNCHEZ.
4.219.006
INTRODUCCIN.
microcontroladores
PIC,
fabricados
por
Microchip,
son
productos
de
salida. Los resultados de tipo prctico, que pueden lograrse a partir de stos elementos,
son sorprendentes.
Algunos microcontroladores ms especializados poseen adems temporizadores,
contadores y un sistema para permitir la comunicacin.
Los PIC16CXX de Microchip Technology, son una familia de microcontroladores
CMOS de alta velocidad, de bajo costo y excelente rendimiento, por lo que ser
utilizado en la realizacin de nuestro proyecto.
OBJETIVOS.
MARCO TEORICO.
El microcontrolador que se uso en el proyecto fue un 16F84 por lo que es importante
discutir algo a cerca del mismo antes de discutir a cerca de la elaboracin del proyecto.
Pata 1: -------------------RA2
Pata 2: -------------------RA3
Pata 3: -------------------RA4/TOCKI
Pata 4:--------------------Reset
Pata 5:--------------------Tierra (GND)
Pata 6:--------------------RB0/INT
Pata 7:--------------------RB1
Pata 8:-- ------------------RB2
Pata 9:--------------------RB3
Pata 10:-------------------RB4
Pata 11:-------------------RB5
Pata 12:-------------------RB6
Pata 13:-------------------RB7
Pata 14:-------------------Vcc
Pata 15:-------------------Osc2
Pata 16:-------------------Osc1
Pata 17:-------------------RA0
Pata18:--------------------RA1
El puerto A est denotado por el color Azul oscuro, el cual tiene slo cinco pines que
puedes configurar como entrada o salida. La pata 3, o sea, RA4/TOCKI puede ser
MODO SUMIDERO
MODO FUENTE
PUERTO A
80 mA
50 mA
PUERTO B
150 mA
100 mA
Por ltimo tenemos los pines 14 y 5 que son la alimentacin la cual no debe sobrepasar
los 5 Voltios. Para esto nos aseguramos poniendo un regulador de voltaje (7805) en
nuestro circuito.
Es importante denotar que los pines de los puertos no utilizados los debemos conectar a
+5V (Vcc) con una resistencia de 10 Kohm.
Oscilador Externo:
Es necesario para que nuestro PIC pueda funcionar, puede ser contectado de cuatro
maneras diferentes. En la siguiente tabla encontraras los diagramas necesarios para su
conexin y una brebe descripcin de cada uno.
RC
Oscilador
compuesto
por
una
resistencia
un
condensador.
ASIGNACION
0
1
1
0
0
ESTADO
SALIDA
ENTRADA
ENTRADA
SALIDA
SALIDA
TRISB
ASIGNACION
ESTADO
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
0
1
0
0
1
1
0
0
SALIDA
ENTRADA
SALIDA
SALIDA
ENTRADA
ENTRADA
SALIDA
SALIDA
Tambin es importante saber que este registro es de 8 BIT, o sea, ocho casillas, en la
cual la No. 5 (RP0) define la posicin del BANCO donde nos encontramos, por defecto
siempre se encuentra en el BANCO 0.
Registro STATUS:
7
IRP
RP1
RP0
TO
PD
DC
Ahora nos toca decidir segn el proyecto que vallamos a hacer quien va a ser
ENTRADA y quien va a ser SALIDA. Supongamos entonces que todos los pines del
puerto A van a ser ENTRADA y el puerto B SALIDA.
Tentriamos que asignar al puerto A : 11111
Y al puerto B : 00000000
Movamos entonces estos valores a TRISA y TRISB respectivamente a travs de la
siguiente sintxis:
movlw B'11111'
movwf TRISA
En la primera lnea estamos moviendo 11111 a W. La W es el Registro de Trabajo, el
cual
usaremos
para almacenar
momentneamente
los
datos
que queramos
mover.Despus que los datos estn en el registro de trabajo W, los podemos mover a
TRISA, de esta manera ya cofiguramos el puerto A. La B y las comillas es la manera
ms comn de designar el dato como NUMERO BINARIO, de esta manera se nos hace
ms fcil saber en determinado momento a quin pusimos como ENTRADA o
SALIDA.
Ahora configuremos el puerto B.
movlw B'00000000'
movwf TRISB
Configurado el puerto B nos salimos del BANCO 1 al BANCO 0 para enpezar ya a
programar.
Para salirnos del BANCO 1 solo debemos poner un CERO en la posicin 5 (RP0) del
registro STATUS.
bcf STATUS,5
En este momento nos encontramos en el BANCO 0.
Arquitectura
La estructura interna de los PIC 16C8XX se basa en registros con memoria y buses
separados para las instrucciones y los datos, llamada arquitectura Harvard. La memoria
y el bus de datos (RAM) son de 8 bits de ancho, mientras que la memoria y su bus
tienen 14 bits.
Esta estructura emplea 2 espacios de memoria diferentes, uno para datos y otro para
programas y adems se utilizan 2 buses distintos: uno para el trfico entre la CPU y los
datos y otro para la comunicacin entre la memoria de programa y la CPU. Esto permite
que, mientras una instruccin se ejecuta utilizando el bus de datos (8 bits). La siguiente
se est leyendo desde la memoria de programa y cargndose en el registro de
instruccin utilizando el bus de instrucciones de 14 bits.
Direccionamiento indirecto de datos
Es un registro que no est disponible en forma fsica, se utiliza el contenido del registro
f4 (selector o FSR), para seleccionar de manera indirecta uno de los 32 registros
disponibles como registro de datos o registro puntero, segn el tipo de instruccin que
llame a f0.
Contador y reloj del tiempo real (RTCC)
En este registro se puede leer o escribir como en cualquiera de los otros registros. Este
registro puede ser incrementado por una seal externa aplicada al pin RTCC o por el
reloj interno de instrucciones. Las aplicaciones ms obvias de este registro son el conteo
de eventos y la medicin de tiempos. El incremento del registro RTCC se puede
determinar por medio de un prescalador interno programable.
Parmetros
Descripcin
Ciclos
Banderas
afectadas
ADDWF
ANDWF
CLRF
CLRW
COMF
DECF
DECFSZ
INCF
INCFSZ
IORWF
MOVF
MOVWF
NOP
RLF
RRF
SUBWF
SWAPF
XORWF
f, d
Sumar W y f
C,DC,Z
f, d
AND W con f
Borrar f
Borrar W
f, d
Complemento de f
f, d
Decrementar f
f, d
1(2)
Ninguna
f, d
Incrementa f
f, d
Incrementa f, Salte si 0
1(2)
Ninguna
f, d
IOR W con f
f, d
Mover a f
Mover W a f
Ninguna
No Operatiocion
Ninguna
f, d
Rotar a la izquierda
f, d
Rotar a la derecha
f, d
Subtraccion W de f
C,DC,Z
f, d
Intercambio de nibbles en f
Ninguna
f, d
X-OR W con f
Parmetros
Descripcin
Ciclos
Banderas
afectadas
BCF
BSF
f, b
Bit borrar de f
Ninguna
f, b
Ninguna
BTFSC
f, b
1 (2) Ninguna
BTFSS
f, b
Parmetros
ADDLW k
ANDLW k
k
CALL
CLRWDT k
GOTO
IORLW k
MOVLW k
RETLW k
SLEEP
SUBLW k
XORLW k
Descripcin
NroCic Banderas
.
afectadas
Add literal y W
C,DC,Z
Call subrutina
TO,PD
Go to direccion de memoria
Ninguna
OR literal con W
Mover literal a W
Ninguna
Ninguna
TO,PD
C,DC,Z