Sei sulla pagina 1di 18

Parte III

CCS PARA
MICROCONTROLADORES
PIC

POR: EULER DEZA FIGUEROA

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER

SHIFT REGISTER ¿que son y cómo se usan?

Un registro de desplazamiento (shift register en inglés), es un


integrado capaz de almacenar bits y presentarlos en sus pines.

Hay varios tipos pero los que aquí nos interesan son los del tipo
Serial-Paralelo y Paralelo-Serial, esto significa que en el primer caso
los bits "entran" en forma serial (uno a uno) y "salen" de forma
paralela, en el segundo caso entrar en paralelo (todos juntos) y
salen en serie.

Unos de los integrados que hacen esto, entre muchos otros, son el
74HC595 y el 74HC165, que son Serial/Paralelo y Paralelo/Serial
respectivamente.

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER

SHIFT REGISTER ¿que son y cómo se usan? …


El pinout del 74HC595 es el siguiente:

Los pines marcados como


Q0-Q7 son salidas y reflejan
el estado interno de cada bit
cuando es activado
poniendo a nivel alto el pin
12 (STCP), los datos
ingresan de forma serial por
el pin 14(DS) cada vez que el
pin SHCP pasa de estado
bajo a alto ( de 0v a 5v).

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
SHIFT REGISTER ¿que son y cómo se usan? …
También se pueden enlazar varios
integrados iguales de modo que
ampliamos la cantidad de bits. para ello
agregamos un segundo integrado y
conectamos la patilla DS(14) a la patilla
Q7‘(9) del primero.
La secuencia seria la siguiente:
1.Se pone el pin DS(14) en el estado
del bit que se quiera ingresar
2.Pin SHCP(11) en bajo /RETARDO
3.Pin SHCP(11) en alto
4.Se repite el proceso hasta enviar los
8 bits
5.Se coloca el pin STCP(12) en bajo
6.Se coloca el pin STCP(12) en alto
Y de esa forma aparece el byte en las
salidas.
EULER DEZA FIGUEROA
Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER

SHIFT REGISTER ¿que son y cómo se usan? …


El pinout del 74HC165 es el siguiente:

De manera similar funciona el


74HC165 solo que a los bit los "lee"
todos juntos.

Aquí las entradas son D0 a D7 y la


salida es Q7, PL es el Load y
cuando pasa a estado bajo carga
los valores de las patas D0-D7 en
"memoria" y dandole pulsos altos y
bajos a CP los datos van saliendo
bit a bit.

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER

SHIFT REGISTER ¿que son y cómo se usan? …


El pinout del 74HC165 es el siguiente:

Para encadenar varios


basta con conectar Q7
de un integrado con DS
del siguiente y leer la
pata Q7 del último.

Este es el diagrama de
conexión para leer 16
bits (2bytes) con dos
integrados enlazados:

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER

SHIFT REGISTER ¿que son y cómo se usan? …


El pinout del 74HC165 es el siguiente:

La forma de proceder sería así:


Se pone en bajo el Load para tomar el estado de todas
las entradas (b0 a b15) luego se envía la señal de reloj
poniendo en bajo y luego en alto Clk y se lee el estado de
DI (Data-In). Recordar que en DI aparecerá primero el bit
mas significativo (MSB).

Esta técnica es válida para controlar un display LCD, o


multiplexar cualquier dato.

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
Programa 10: Manejo de SHIFT REGISTER 74HC165
En el ejemplo, Clock se conectaría al pin 0, Load al pin 1 y DI al pin
2 del Puerto A. Este programa solo leerá de b8 a b15

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
Programa 10: Manejo de SHIFT REGISTER 74HC165 …

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
Programa 10: Manejo de SHIFT REGISTER 74HC165 …
 En el ejemplo, Clock se conectaría al pin 0, Load al pin 1 y DI al pin 2 del
Puerto A. Pero este programa solo leerá de b8 a b15, para leer b0 a b15 se
deberá usar Int de 16 bits para guardar los datos o dos de 8 bits y
guardarlos en variables diferentes. Aparte de todo esto se deberá hacer un
bucle de 16 ciclos en lugar de los 8 para leer 1 byte.

 Con este circuito el único pin exclusivo para el funcionamiento del registro
es el pin A2 (Data in) ya que los otros se pueden conectar a otros circuitos
sin que afecten a este.

 SiLMuP (todavía en construcción) utiliza un 74HC595 para controlar el


display LCD y por el mismo bus controlar las teclas de función y un
74HC165 para leer el estado de los sensores de líneas.

 De esta forma controla un display LCD, 4 teclas de función, 8 sensores


siguelineas, y proximamente mas sensores y bumpers para obstaculos con
6 pines del pic y solo 3 son exclusivos

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
Programa 11: Manejo de SHIFT REGISTER 74HC164 [CONTADOR 0-99]
En el ejemplo, Clock se conectaría al pin 0, Data al pin 1 del Puerto
B. Este programa solo leerá de b8 a b15

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
Programa 11: Manejo de SHIFT REGISTER 74HC164 [CONTADOR 0-99]…

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
Programa 11: Manejo de SHIFT REGISTER 74HC164 [CONTADOR 0-99]…

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
Programa 12: Manejo de SHIFT REGISTER 74HC595 [CONTADOR 0-99]
 En el ejemplo, se tiene las siguientes conexiones:
 #define SH_CP Pin_B0 / #define DS Pin_B1 / #define ST_CP Pin_B2

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
Programa 12: Manejo de SHIFT REGISTER 74HC595 [CONTADOR 0-99] …

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
Programa 12: Manejo de SHIFT REGISTER 74HC595 [CONTADOR 0-99] …

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER
Programa 12: Manejo de SHIFT REGISTER 74HC595 [CONTADOR 0-99] …

EULER DEZA FIGUEROA


Euler_df28@hotmail.com
PROGRAMAS EN CCS COMPILER

Bibliografía
 CCS C Compiler Manual – PCD – CCS INC – FEBREO 2015
 CCS C Compiler Manual – PCB/PCM/PCH– CCS INC – FEBREO
2015
 Compilador C CCS y simulador PROTEUS para
Microcontroladores PIC – Eduardo García Breijo
 Diseño y simulacion de Sistemas microcontrolados en lenguaje
C – Juan Ricardo Clavijo Mendoza
 Programacion en CCS para Microcontroladores PIC – Aaron
Castro Bazua
 Datasheets

ING. EULER DEZA FIGUEROA


euler_df28@hotmail.com

EULER DEZA FIGUEROA


Euler_df28@hotmail.com

Potrebbero piacerti anche