Sei sulla pagina 1di 5

UNIVERSIDAD POLITCNICA SALESIANA

LABORATORIO DE SISTEMAS MICROPROCESADOS I

Fecha: 2016/10/26

MANEJOS DE PUERTOS Y MENUS DE OPERACIN


INFORME
PRCTICA 3
Ortiz Barrera Marco Vinicio
mortizba@est.ups.edu.ec
Villacres Duran Jonathan Fabricio
jvillacresd@ups.edu.ec
David Yanez
dyanez@ups.edu.ec

RESUMEN: Este informe se realiza sobre los detalles de cada


ejercicio que se plante utilizando el microcontrolador
16F877A, para poder manejar sus puertos y ciertos mens de
operacin que existen para poder programar, utilizaremos
dipswitch, leds.
PALABRAS CLAVES:
leds, microcontrolador, puertos.
.

1. OBJETIVOS
Familiarizar al estudiante con el uso de los distintos puertos
de un microcontrolador para optimizar su funcionamiento,
aplicndolo a funciones multitarea.
Fig.[1] distribucin de puertos PIC16F877A

1.2 OBJETIVOS ESPECIFICOS

Los pines del puerto A y del puerto E pueden trabajar como


entradas para el convertidor Anlogo a Digital interno, es decir,
all se podra conectar una seal proveniente de un sensor o de
un circuito analgico para que el microcontrolador la convierta
en su equivalente digital y pueda realizar algn proceso de
control o de instrumentacin digital. El pin RB0/INT se puede
configurar por software para que funcione como interrupcin
externa, para configurarlo se utilizan unos bits de los registros
que controlan las interrupciones.
El pin RA4/TOCKI del puerto A puede ser configurado como un
pin
de
entrada/salida
o
como
entrada
del
temporizador/contador. Cuando este pin se programa como
entrada digital, distorsionadas y llevarlas a niveles lgicos (cero
y cinco voltios). Cuando se usa como salida digital se comporta
como colector abierto (open collector), por lo tanto, se debe
poner una resistencia de pull-up (resistencia externa
conectada a un nivel de cinco voltios). Como salida, la lgica es
inversa: un "0" escrito al pin del puerto entrega en el pin un "1"
lgico. Adems, como salida no puede manejar cargas como
fuente, slo en el modo sumidero.
El puerto E puede controlar la conexin en modo
microprocesador con otros dispositivos utilizando las lneas RD
(read), WR (write) y CS (chip select). En este modo el puerto D
funciona como un bus de datos de 8 bits (pines PSP). La mxima
capacidad de corriente de cada uno de los pines de los puertos

Estudiar el funcionamiento de un puerto como salida de datos


discretos para optimizar su uso.
Estudiar el funcionamiento de un puerto como entrada de
datos para optimizar SU USO.
Estudiar el funcionamiento de un puerto como entrada y salida
de datos para optimizar su uso..

2. MARCO TEORICO
2.1 Puertos de propsito general E/S MICROCONTROLADOR
Los pines de entrada/salida de este microcontrolador estn
organizados en cinco puertos, el puerto A con 6 lneas, el
puerto B con 8 lneas, el puerto C con 8 lneas, el puerto D con
8 lneas y el puerto E con 3 lneas. Cada pin de esos puertos se
puede configurar como entrada o como salida independiente
programando un par de registros diseados para tal fin. En ese
registro un bit en "0" configura el pin del puerto
correspondiente como salida y un bit en "1" lo configura como
entrada. Dichos pines del microcontrolador tambin pueden
cumplir otras funciones especiales, siempre y cuando se
configuren para ello, segn se ver ms adelante.

UNIVERSIDAD POLITCNICA SALESIANA

LABORATORIO DE SISTEMAS MICROPROCESADOS I

Fecha: 2016/10/26
en modo sumidero (sink) o en modo fuente (source) es de 25
mA . La mxima capacidad de corriente total de los puertos es:

2.4. RELE
El rel dispositivo electromecnico, funciona como un
interruptor controlado por un circuito elctrico, en el que por
medio de una bobina y un electroimn, se accionan varios
contactos que permiten abrir o cerrar otros circuitos elctricos
independientes. Dado que el rel es capaz de controlar un
circuito de salida de mayor potencia que el de entrada, puede
considerarse, en un amplio sentido, como un amplificador
elctrico. Si se le aplica un voltaje a la bobina se genera un
campo magntico, que provoca que los contactos hagan una
conexin. Estos contactos pueden ser considerados como el
interruptor, que permite que la corriente fluya entre los dos
puntos que cerraron el circuito; como se muestra en la Fig. [4]
[4]

2.2. PROGRAMADORA DE PIC


Para transferir el cdigo de un ordenador al PIC
normalmente se usa un dispositivo llamado programador. La
mayora de PICs que Microchip distribuye hoy en da
incorporan ICSP (In Circuit Serial Programming, programacin
serie incorporada) o LVP (LowVoltageProgramming,
programacin a bajo voltaje), lo que permite programar el PIC
directamente en el circuito destino. Para la ICSP se usan los
pines RB6 y RB7 (En algunos modelos pueden usarse otros
pines como el GP0 y GP1 o el RA0 y RA1) como reloj y datos y
el MCLR para activar el modo programacin. Existen muchos
programadores de PICs, desde los ms simples que dejan al
software los detalles de comunicaciones, a los ms complejos,
que pueden verificar el dispositivo a diversas tensiones de
alimentacin e implementan en hardware casi todas las
funcionalidades.
[2]

Fig. [4]. Dip Switch de 10 [4]

3. MATERIALES Y EQUIPO
3.1. LISTA DE MATERIALES

Fig. [2]. Programadora de PIC [2]

2.3. DIP SWITCH


Conjunto de interruptores electrnicos que son
constituidos en encapsulamiento. Dispositivo que permite
desviar o interrumpir el curso de una corriente elctrica. En el
mundo moderno sus tipos y aplicaciones son innumerables,
van desde un simple interruptor que apaga o enciende
una bombilla, hasta un complicado selector de transferencia
automtico de mltiples capas, controlado por computadora.
Su ventaja principal es que son ms rpidos y fciles de
configurar y cambiar y no hay piezas sueltas que perder. Se
pueden considerar como conjunto de interruptores
minsculos para ser insertados en circuitos impresos. El
encapsulado para los interruptores es el DIP donde la
separacin estndar entre patas es de una dcima de pulgada.
[3]

16 leds
PIC 16f877a
Cristal 4 MHz
Capacitores 20nF
Pulsador
Boquilla
Foco
Rel de 12 voltios

3.2. EQUIPO

Fuente Variable de Voltaje


Puntas lagarto-banana
Protoboard
Programadora de PIC
Cables para conexin

4. DESARROLLO Y PROCEDIMIENTO
Se realiz la simulacin del primer circuito, Mediante el uso de
un pulsador conectado en un terminal de un puerto, dar las
siguientes condiciones de operacin a dos leds conectados en
el mismo puerto: al inicio del programa uno de los led est
encendido y el otro est apagado, al accionar el pulsador los
leds complementan sus estados. Ante ms acciones del
pulsador se repite las condiciones de operacin de los leds.

Fig. [3]. Dip Switch de 10 [3]

UNIVERSIDAD POLITCNICA SALESIANA

LABORATORIO DE SISTEMAS MICROPROCESADOS I

Fecha: 2016/10/26
}
}
a=a+portb.f0;
}
a=0;
}
}
Se Realiz la simulacin de Segundo Ejercicio Mediante el uso
de un dip-switch de 8 bits conectado al puerto C, realizar un
men de operacin de secuencias de 8 leds en base a los
estados de los 4 bits menos significativos del puerto, segn las
siguientes opciones de activacin: Switch 1 (bit 0): se
encienden los leds pares de uno en uno desde el LSB hasta el
MSB, n nmero de veces. Switch 2 (bit 1): se encienden los leds
impares de uno en uno desde el MSB hasta el LSB, n nmero
de veces. Switch 3 (bit 2): titilan n veces los leds pares del
puerto. Switch 4 (bit 3): titilan n veces los leds impares del
puerto.El nmero n proviene de los estados de los 4 switch ms
significativos conectados al puerto C y tendr un valor a O a 15.

Figura [5].- Simulacin del Primer Circuito.


INICIO

#include <16F877A.h>
#fuses XT,NOWDT
#use delay(clock=4000000)
#BYTE TRISB= 0X86
#BYTE PORTB= 0X06
#BYTE OPTION_REG= 0X81

While==1
TRUE

TRUE

if (bit_test(portb,0)==0)

FALSE

FALSE

output_low(PIN_B1);

output_high(PIN_B1);

output_high(PIN_B2);

output_low(PIN_B2);

Figura [7].- Simulacin del segundo circuito.


INICIO

FIN
#include <16f877A.h>

Figura [6].- Diagrama de flujo del Primer Circuito.

#fuses XT,NOWDT
#use delay(clock=4M)
#use standard_io(B)

Cdigo de Programacin del Primer circuito


int a=0;
void main()
{
TRISB=0B00000001;
PORTB=0;
a=portb.f0;
trisc=0;
trisd=1;
while(1)
{
while(a<=1)
{
if(a==0)
{
portb=0b00000010;
delay_ms(500);
}
else
{
if(a==1)
{
portb=0b0000100;
delay_ms(500);

FIN

TRUE==1

FALSE

TRUE

switch (input_C())
output_B(0b00000000)
TRUE

input_C=0
FALSE

FALSE

FALSE

FALSE

input_C=1

input_C=2

input_C=3

input_C=4

output_high(PIN_B6);
output_low(PIN_B0);
delay_ms(500);
output_high(PIN_B4);
output_low(PIN_B6);
delay_ms(500);
output_high(PIN_B2);
output_low(PIN_B4);
delay_ms(500);
output_high(PIN_B0);
output_low(PIN_B2);
delay_ms(500);
output_B(0b00000000);

output_high(PIN_B1);
output_low(PIN_B7);
delay_ms(500);
output_high(PIN_B3);
output_low(PIN_B1);
delay_ms(500);
output_high(PIN_B5);
output_low(PIN_B3);
delay_ms(500);
output_high(PIN_B7);
output_low(PIN_B5);
delay_ms(500);
output_B(0b00000000);

default

Output_B(0b10101010);
delay_ms(500);
Output_B(0b00000000);
delay_ms(500);

Output_B(0b01010101);
delay_ms(500);
Output_B(0b00000000);
delay_ms(500);

output_b(0b00000000);
delay_ms(500);

Figura [8].- Diagrama de flujo del segundo circuito.

UNIVERSIDAD POLITCNICA SALESIANA

LABORATORIO DE SISTEMAS MICROPROCESADOS I

Fecha: 2016/10/26
Se dise el tercer circuito Mediante el uso de una fotoresistencia, acondicione la seal que esta produce para que
funcione como un pulsador luminoso el mismo que controla
el encendido y apagado de un foco de 110V.

5. ANLISIS Y RESULTADOS
El segundo circuito dio problemas el momento de realizar su
prueba, debido a la programacin y el cristal que se us, no se
obtuve el resultado esperado a la primera prueba.
El retardo del primer circuito, era muy corto por ello los led se
prenda y apagan igualmente, al variar su retardo el circuito
funciono correctamente.
Para el tercer circuito utilizar un amplificador operacional
desde el inicio, dio conflictos en su conexin, por ello usamos
la salida anloga del microcontrolador para evitar el uso del
mismo amplificador operacional, recordando entre menos
hardware ms ptimo es un circuito.

Figura [9].- Simulacin del Tercer Circuito.

Para todos los circuitos se coloc en la fuente fija de 5v


como se muestra en la Fig. [9]

INICIO

#include <16F877A.h>
#fuses XT,NOWDT
#use delay(clock=4000000)
#use standard_io(B)

port_b_pullups(TRUE);
output_low(PIN_B1);
output_b(0x00);

FIN

FALSO

Fig. [11]. Fuente Fija de 5V


Se carg en el PIC el primer circuito con la programadora
como se muestra en la Fig. [10].

WHILE(TRUE)
VERDADERO

VERDADERO

input(PIN_B0)==1

output_high(PIN_B1);
output_low(PIN_B2);

FALSO

output_low(PIN_B1);
output_high(PIN_B2);

Figura [10].- Diagrama de flujo del tercer circuito.


Cdigo de programacin para el Tercer Circuito
trisc=0b11111101;
trisc=0b00000001;
while(1){
if(portc.f0==0)
{
portc.f1=0;
}
Else
{
portc.f1=1;
}
}
}

Fig. [12]. Programando en el PIC


Mediante el uso de un pulsador conectado en un terminal
de un puerto, dar las siguientes condiciones de operacin a dos
leds conectados en el mismo puerto: al inicio del programa uno
de los led est encendido y el otro est apagado, al accionar el
pulsador los leds complementan sus estados. Ante ms
acciones del pulsador se repite las condiciones de operacin de
los leds.Fig. [13].

UNIVERSIDAD POLITCNICA SALESIANA

LABORATORIO DE SISTEMAS MICROPROCESADOS I

Fecha: 2016/10/26

Fig. [13]. Encendido del led


Luego se realiz la segunda practica la cual consisti en realizar
mediante el uso de un Dip-switch conectado al puerto C,
realizar un men de operacin de secuencias de leds para el
primer literal se ingresa 1 en binario y los leds se encienden de
uno en uno desde el LSB hasta el MSB, infinitamente, como se
observa en la Fig. [14]

Fig. [16]. Segundo Presionado con foco de 110V AC

6. CONCLUSIONES
Se concluye que los puertos del microcontrolador pueden
ser configurados como entradas o salidas analgicas usando el
registro TRIS, lo hacemos asignando el valor de 1 para entrada
y 0 para salida teniendo en cuenta que las entradas analgicas
solo las poseen algunos puertos en este caso solo lo posee el
puerto A, con ello evitamos el uso de ciertos hardware como
por ejemplo un amplificador operacional
El rel nos es de gran utilidad cuando deseamos combinar etapas
de potencia con etapas de control.
Se debe tener previos conocimientos de circuitos ante rebote para
que los pulsadores funciones de manera ptima.

Fig. [14]. Encendido de leds de LSB a MSB


Luego se ingres 2 (binario) y realizan los leds se encienden
de uno en uno desde el MSB hasta el LSB, infinitamente como
se observan en la Fig. [15].

7. RECOMENDACIONES
Par la manipulacin del PIC liberarse de la esttica para
evitar que se queme el PIC
Tener mucho cuidado con la numeracin de los pines del
conector DB9 que van a los dems elementos que componen
la grabadora de PIC.
No alimentar con ms de 5V el circuito porque se podra
quemar el PIC, ya que su voltaje mximo q soporta el PIC es 5v.
Si no polarizamos correctamente el PIC se podra quemar

8. REFERENCIAS
[1]http://www.utp.edu.co/~eduque/arquitec/PIC16F877.pdf
[2] Programadora de Pic, (2013) desde internet:
[http://www2.ing.puc.cl/~iee2782/Manual_Programador_PIC
s.pdf]
[3] http://es.wikipedia.org/wiki/Interruptor_DIP
[4] http://es.wikipedia.org/wiki/Rel%C3%A9
[5] J.R. Clavijo, 1era edicion,Diseo y Simulacin de sistemas
microcontrolados en lenguaje C, (2011)

Fig. [15]. Encendido de leds de MSB a LSB


El tercer ejercicio consisti en que Mediante un pulsador
encender y apagar un led en base de eventos, es decir, cuando
presiona una vez enciende el led, cuando presiona por segunda
vez apaga el led, y as sucesivamente, como se muestra en la
Fig. [16].

Potrebbero piacerti anche