Está en la página 1de 24

ELECTRÓNICA INDUSTRIAL

MICROPROCESADORES Y MICROCONTROLADORES
MICROPROCESADORES Y MICROCONTROLADORES

DENOMINACIÓN REALIZA PROGRAMAS DE CONFIGURACIÓN DE PUERTOS COMO E/S EN APLICACIONES CON


(Proyecto / Tarea) PERIFÉRICOS.
Al finalizar la tarea de habilidades práctica, el aprendiz estará en condiciones de programar la configuración de puertos
OBJETIVO
como E/S en aplicaciones con periféricos., observando y respetando las especificaciones técnicas y las normas de
ESPECÍFICO seguridad.

MATERIALES INSTRUMENTACIÓN HERRAMIENTAS


✓ Conductor alambre AWG #22 ✓ ✓ Alicate de Corte/Punta
✓ Conectores de conexión ✓ ✓ Destornillador Estrella/Plano
✓ PIC16F84A ✓ ✓
✓ PIC16F877A ✓ ✓
✓ ✓ ✓
MÁQUINAS EQUIPOS OTROS
✓ Computadora Personal ✓ Fuente de alimentación ✓ Software MPLAB
✓ ✓ ✓ Software PROTEUS
✓ ✓ ✓ Software PICkit3
✓ ✓ ✓
✓ ✓ ✓

ELECTRÓNICA
N° OPERACIONES / ORDENES DE EJECUCIÓN
INDUSTRIAL
01 Elaborar programas para el control de LED’s y/o pulsadores o SW. Técnicos Industriales
02 H.T. REF.
03 Tiempo 04hrs Hoja 1/1
04 Escala 1:1 AÑO 2023
05
06
07
08
09
10

1
MICROPROCESADORES Y MICROCONTROLADORES

CONOCIMIENTOS TECNOLÓGICOS

PUERTOS DEL MICROCONTROLADOR:

Puertos de Entrada/Salida
Con el propósito de sincronizar el funcionamiento de los puertos de E/S con la organización interna del
microcontrolador de 8 bits, ellos se agrupan, de manera similar a los registros, en cinco puertos denotados
con A, B, C, D y E. Todos ellos tienen las siguientes características en común:
• Por las razones prácticas, muchos pines de E/S son multifuncionales. Si un pin realiza una de estas
funciones, puede ser utilizado como pin de E/S de propósito general.
• Cada puerto tiene su propio registro de control de flujo, o sea el registro TRIS correspondiente:
TRISA, TRISB, TRISC etc. lo que determina el comportamiento de bits del puerto, pero no determina
su contenido.

Al poner a cero un bit del


registro TRIS (pin=0), el
pin correspondiente del
puerto se configurará
como una salida. De
manera similar, al poner a
uno un bit del registro
TRIS (bit=1), el pin
correspondiente del puerto
se configurará como una
entrada. Esta regla es fácil
de recordar: 0 = Entrada 1
= Salida.

Disposición y descripción de patillas

2
MICROPROCESADORES Y MICROCONTROLADORES

CONFIGURACIÓN DE PUERTOS.
Memoria de datos
Está organizada en dos bancos de registro, banco 0 y banco 1. Para
cambiar de página se utiliza un bit del registro STATUS (RP0).
Cada banco se divide a su vez en dos áreas:
La primera es la de RFS (Registros de Funciones Especiales) que
controlan el funcionamiento del dispositivo. Estos se emplean para
el control del funcionamiento de la CPU y de los periféricos.
La segunda área (68 bytes SRAM) es la de RGP (Registros de
Propósito General), y puede accederse a ellos tanto directa como
indirectamente haciendo uso del registro FSR.
Banco 0: Este banco está formado por 80 bytes, desde la posición 00
hasta la 4Fh (de la 0 a la 79).
El área RFS consta de 12 registros que serán utilizados por funciones
especiales del microcontrolador. Comienza en la dirección 00h y
termina en la 0Bh, es decir, de la 0 a la 11.
El Área RGP consta de 68 registros de memoria RAM que serán
utilizados para almacenar datos temporales requeridos por los
programas. Comienza en la dirección 0Ch y termina en la posición
4Fh (de la 12 a la 79). Esta parte es la memoria de registros de
propósito general.
Banco 1: Este banco tiene las mismas dimensiones que el anterior,
pero su uso es menor, ya que no tiene banco para registros de
propósito general. Solamente tiene una sección de registros
especiales que van de la posición 80h a la 8Bh (de la 128 a la 139)
La memoria RAM, así como algunos registros especiales son los mismos en los dos bancos del mapa de
memoria del PIC. La anchura de los bytes en la memoria es de 8 bis.
El direccionamiento: Para el PIC solamente existen 4 modos de direccionamiento
Direccionamiento Inmediato: El dato manipulado por la instrucción se codifica con la propia instrucción.
En este caso, el dato en cuestión se denomina literal.
MOVLW k ; Coloca el literal k, que es un valor cualquiera codificado con 8 bits, en el registro de trabajo w

Direccionamiento Directo: La memoria interna se direcciona de forma directa por medio de los 8 bits "f"
contenidos en las instrucciones que operan sobre registros. De esta manera se puede direccionar cualquier
posición desde la 00 a la FF. En los microcontroladores que tengan más de un banco, antes de acceder a
alguna variable que se encuentre en la zona de los bancos de registros, el programador deberá asegurarse
de haber programado los bits de selección de banco en el registro OPTION. Este es el modo más utilizado,
ya que como hemos visto anteriormente, la memoria RAM está dividida en registros específicos y en un
conjunto de registros de propósito general. Este modo consiste en codificar el nombre del o de los registros
en cuestión directamente en la instrucción.
MOVWF f ; Desplaza el contenido del registro w al registro f

Direccionamiento bit a bit: Mediante este direccionamiento se manipula un bit individual en cualquier
registro. Este modo de direccionamiento no se utiliza nunca solo, sino que siempre va emparejado con el
modo de direccionamiento directo.
BCF f,b ; Pone a cero el bit número b del registro f

Direccionamiento Indirecto: Es el modo más potente y utiliza los registros INDF y FSR. En el registro FSR
se introduce la dirección del registro que se quiere leer cuando se acceda a INDF. FSR actúa como puntero,
es decir, el valor que guardemos en este registro será la dirección de una posición de memoria. Si
aumentamos o disminuimos con cualquier operación el contenido de FSR nos moveremos entre las
posiciones de memoria.

3
MICROPROCESADORES Y MICROCONTROLADORES

Puertos de E/S: El PIC16F84 dispone de dos puertos digitales de E/S paralelos de uso general denominados
Puerto A y Puerto B.
Puerto A: El puerto A dispone de 5 líneas de la RA0 a la RA4, en la que hay que distinguir la A4 o T0CKI
(Timer 0 Clock Input) que está compartida con la entrada para el Timer 0 (TMR0) a través de un trigger
Schmitt y que cuando se configura como salida es de drenador abierto, por lo que debe colocarse una
resistencia de polarización.
Puerto B: El puerto B dispone de 8 líneas de E/S que van desde la RB0 a la RB7 (la línea RB0 o INT es
compartida con la entrada de interrupción externa). Además, las líneas RB4 a RB7 puede programarse una
interrupción por cambio de estado de cualquiera de estas líneas.
Configuración de los puertos de Entrada/Salida
Cualquier línea puede funcionar como entrada o como salida. Sin embargo, si actúa como entrada la
información que se introduce no se memoriza, por lo que la información debe ser mantenida hasta que sea
leída. Si la línea actúa como salida, el bit que procede del bus de datos se guarda en la báscula, con lo que
la información que ofrece esta patita permanece invariable hasta que se reescriba este bit. Los bits de cada
puerto se configuran mediante los bits correspondientes de dos registros especiales de control:
Registro de Datos -
PORTA ó PORTB:
Se pueden leer o escribir
según que el puerto
correspondiente se utilice
como entrada o como
salida.
Registro de Control -
TRISA ó TRISB:
En los registros de Control
se programa el sentido de
funcionamiento de cada
una de las líneas de E/S.
Colocando un "0" en el
correspondiente bit del
registro TRISA ó TRISB, la
línea queda programada
como salida mientras que
colocando un "1" la línea
queda programada como
entrada. Por ejemplo, si
ponemos un 0 en el bit 3
del registro TRISA la
patilla RA3 será una
salida y si ponemos un 1
en el bit 4 del registro
TRISB entonces la patilla
RB4 será una entrada.
Los Puertos A y B (PORTA
y PORTB) se corresponden
con las posiciones 5 y 6
del área de datos.
Cuando se produce un Reset, todos los bits de los registros TRIS pasan a tener el valor 1 y todas las líneas
de E/S actúan como entrada por evidentes motivos de seguridad para evitar daños irreparables. Todas las
patillas de E/S que no se empleen deben ser llevadas a +5v, regla de las entradas CMOS, preferiblemente a
través de una resistencia para evitar que si por error se configurasen como salidas puedan darse problemas
si presentan un estado bajo.

4
MICROPROCESADORES Y MICROCONTROLADORES

PUERTOS CON PERIFÉRICOS DE ENTRADA: PULSADOR, INTERRUPTOR, SENSORES.


Interruptores y pulsadores:

Entrada con optoacoplador:

PUERTOS CON PERIFÉRICOS DE SALIDA: LED´S, DISPLAY.


Salida con LEDs:

5
MICROPROCESADORES Y MICROCONTROLADORES

Salida con Display de 7 Segmentos:

Salida con relé:

Salida con TRIAC:

6
MICROPROCESADORES Y MICROCONTROLADORES

MATEMÁTICA APLICADA

CÁLCULO DE CORRIENTE Y TENSIÓN PARA EL MANEJO DE LED Y PULSADOR.

Límite de corriente para los puertos


Los puertos del microcontrolador PIC16F84 son el
medio de comunicación con el mundo exterior, en ellos
podremos conectar los periféricos o circuitos
necesarios como por ejemplo los módulos LCD,
teclados matriciales, motores eléctricos, etc; pero
estas conexiones no se podrán realizar
arbitrariamente. Existen unas reglas básicas que
deberán cumplirse para que el microcontrolador no
sufra daños o se destruya. Para ello es necesario
conocer los límites de corriente que puede manejar el
microcontrolador.
Como anteriormente hemos indicado los puertos A y B
del microcontrolador podrán ser programados como
entradas ó salidas indiferentemente. En el caso de que
sean programados como salida y presenten un nivel
lógico alto actuaran como "fuente" porque suministran
corriente y cuando presenten un nivel lógico bajo
actuarán como "sumidero" por que reciben corriente.
• Disipación de potencia total de 800 mW.
• Máxima corriente de salida a VSS 150 mA.
• Máxima corriente de salida de VDD 100 mA.
• Si utilizamos todas las líneas del puerto "A" como
fuente, no deberá exceder de 50 mA toda la corriente
que suministre este puerto.
• Si utilizamos todas las líneas del puerto "A" como
sumidero, no deberá exceder de 80 mA toda la
corriente que suministre este puerto.
• Si utilizamos todas las líneas del puerto "B" como
fuente, no deberá exceder de 100 mA toda la corriente
que suministre este puerto.
• Si utilizamos todas las líneas del puerto "B" como
sumidero, no deberá exceder de 150 mA toda la
corriente que suministre este puerto.
• La máxima corriente que puede suministrar una sóla
salida como fuente o sumidero es de 25 mA.

7
MICROPROCESADORES Y MICROCONTROLADORES

ELECTRÓNICA INDUSTRIAL
HOJA DE OPERACIONES
H.O. 01 1/1

OPERACIÓN #01: Elaborar programas para el control de LED’s y/o pulsadores o SW.
PROCESO OPERACIONAL:
EJERCICIO #01: Encender un led a través de un pulsador con el PIC16F84A
Circuito Electrónico:

Programa en lenguaje Assembler:

8
MICROPROCESADORES Y MICROCONTROLADORES

INSTRUCCIONES – PIC 16F84A


El PIC16F84A pertenece a la gama media y es de tipo RISC. Esto quiere decir que tiene un juego de
instrucciones reducido, en concreto de 35 instrucciones o nemónicos que son la base de funcionamiento
del PIC.
Las instrucciones fundamentalmente se dividen en tres tipos. Esta división viene dada por el tipo de datos
con los que trabajan:
• Instrucciones orientadas a los registros o bytes (byte-oriented operations).
• Instrucciones orientadas a los bits (bit-oriented operations).
• Operaciones con literales y de control (literal and control operations).

Repertorio 35 instrucciones
Las 35 instrucciones ó mnemónicos de la gama media de Microchip las encontraremos resumidas en la
siguiente tabla. w es el acumulador, f representa un registro cualquiera y C, DC, Z los flags del registro
STATUS.

9
MICROPROCESADORES Y MICROCONTROLADORES

Revisión de las instrucciones:


Instrucción GOTO: Esto significa: Bifurcación Incondicional.

Instrucción BSF: Esto significa: Bit Set File (poner a 1 el bit indicado, en el archivo f).

10
MICROPROCESADORES Y MICROCONTROLADORES

Instrucción MOVLW: Esto significa: Mueve Literal a W.

Instrucción MOVWF: Esto significa: Copia W al archivo llamado f.

Instrucción BCF: Esto significa: Bit Clear File (pon a «0» (detrás de la coma) en el archivo f ).

11
MICROPROCESADORES Y MICROCONTROLADORES

Instrucción MOVF: Esto significa Mueve el contenido del archivo 00 a 1F dentro y fuera del archivo o al W.

EJERCICIO #02: Encender un led a través de un pulsador con el PIC16F84A, tomando en cuenta la
conexión de la resistencia y pulsador.

Circuito Electrónico:

12
MICROPROCESADORES Y MICROCONTROLADORES

Programa en lenguaje Assembler:

Instrucción COMF: Esto significa: Complemento del archivo f.

13
MICROPROCESADORES Y MICROCONTROLADORES

EJERCICIO #03: Encender un led a través de un pulsador con el PIC16F84A en lenguaje C


Circuito Electrónico:

Programa en lenguaje C:

14
MICROPROCESADORES Y MICROCONTROLADORES

EJERCICIO #04: Encender un led a través de un pulsador con el PIC16F84A en lenguaje C, tomando en
cuenta el siguiente circuito.

Circuito Electrónico:

Programa en lenguaje C:

15
MICROPROCESADORES Y MICROCONTROLADORES

EJERCICIO #05: Encender y apagar un led a través de dos pulsadores con el PIC16F84A
Circuito Electrónico:

Programa en lenguaje Assembler:

16
MICROPROCESADORES Y MICROCONTROLADORES

EJERCICIO #06: Encender y apagar un led a través de dos pulsadores con el PIC16F84A, tomando en
cuenta el siguiente circuito
Circuito Electrónico:

Programa en lenguaje Assembler:

17
MICROPROCESADORES Y MICROCONTROLADORES

EJERCICIO #07: Encender y apagar un led a través de dos pulsadores con el PIC16F84A en lenguaje C.

Circuito Electrónico:

Programa en lenguaje C:

18
MICROPROCESADORES Y MICROCONTROLADORES

EJERCICIO #08: Encender y apagar un led a través de dos pulsadores con el PIC16F84A en lenguaje C,
tomando en cuenta el siguiente circuito.

Circuito Electrónico:

Programa en lenguaje C:

19
MICROPROCESADORES Y MICROCONTROLADORES

APLICACIÓN CON PIC16F84A:


MOTORES DC
El motor de corriente continua (denominado también motor de
corriente directa, motor CC o motor DC por las iniciales en inglés direct
current) es una máquina que convierte energía eléctrica en mecánica,
provocando un movimiento rotatorio, gracias a la acción de un campo
magnético.
Un motor de corriente continua se compone principalmente de dos
partes. El estátor da soporte mecánico al aparato y contiene los polos
de la máquina, que pueden ser o bien devanado de hilo de cobre sobre
un núcleo de hierro, o imanes permanentes. El rotor es generalmente
de forma cilíndrica, también devanado y con núcleo, alimentado con
corriente directa a través de delgas, que están en contacto alternante
con escobillas fijas (también llamadas carbones).

L293D
El integrado L293D incluye cuatro circuitos para manejar
cargas de potencia media, en especial pequeños motores y
cargas inductivas, con la capacidad de controlar corriente
hasta 600 mA en cada circuito y una tensión entre 4,5 V a 36
V.
Los circuitos individuales se pueden usar de manera
independiente para controlar cargas de todo tipo y, en el caso
de ser motores, manejar un único sentido de giro. Pero,
además, cualquiera de estos cuatro circuitos sirve para
configurar la mitad de un puente H.
El integrado permite formar, entonces, dos puentes H
completos, con los que se puede realizar el manejo de dos
motores. En este caso el manejo será bidireccional, con
frenado rápido y con posibilidad de implementar fácilmente el
control de velocidad.
Las salidas tienen un diseño que permite el manejo directo de
cargas inductivas tales como relés, solenoides, motores de
corriente continua y motores por pasos, ya que incorpora
internamente los diodos de protección de contracorriente
para cargas inductivas.
Las entradas son compatibles con niveles de lógica TTL. Para
lograr esto, incluso cuando se manejen motores de voltajes
no compatibles con los niveles TTL, el chip tiene patas de
alimentación separadas para la lógica (VCC1, que debe ser de
5V) y para la alimentación de la carga (VCC2, que puede ser entre
4,5V y 36V).

En esta estructura, unos transistores en configuración Darlington


conducen la pata de salida a tierra y otro par de transistores en
conexión seudo Darlington aporta la corriente de alimentación desde
VCC2. Las salidas tienen diodos incorporados en el interior del chip
para proteger al circuito de manejo de potencia de las
contracorrientes de una carga inductiva.

20
MICROPROCESADORES Y MICROCONTROLADORES

Estos circuitos de salida se pueden habilitar en pares por medio


de una señal TTL. Los circuitos de manejo de potencia 1 y 2 se
habilitan con la señal 1,2EN y los circuitos 3 y 4 con la señal
3,4EN.

Las entradas de habilitación permiten controlar con


facilidad el circuito, lo que facilita la regulación de
velocidad de los motores por medio de una
modulación de ancho de pulso. En ese caso, las
señales de habilitación en lugar de ser estáticas se
controlarían por medio de pulsos de ancho variable.

Las salidas actúan cuando su correspondiente señal de habilitación está


en alto. En estas condiciones, las salidas están activas y su nivel varía en
relación con las entradas. Cuando la señal de habilitación del par de
circuitos de manejo está en bajo, las salidas están desconectadas y en un
estado de alta impedancia.

21
MICROPROCESADORES Y MICROCONTROLADORES

EJERCICIO #09: Activar y desactivar un motor DC


Circuito Electrónico:

Programa en leguaje Assembler:

22
MICROPROCESADORES Y MICROCONTROLADORES

EJERCICIO #10: Activar y desactivar un motor DC utilizando leguaje en C


Circuito Electrónico:

Programa en leguaje C:

23

También podría gustarte