Está en la página 1de 11

UNIVERSIDAD AUTONOMA TOMAS FRIAS

FACULTAD DE INGENIERIA TECNOLOGICA


CARRERA DE INGENIERIA ELECTRONICA

Laboratorio n° 3
(DISEÑO DE INTERFASES DE SALIDA PARA
MICROCONTROLADORES PIC)
MATERIA. - Diseño electrónico asistido por computadora
ETN 502
ESTUDIANTE. – Univ. Jhovana Condori Mamani
DOCENTE. - Ing. Eduardo Gunar Rodríguez Mendoza
FECHA DE ENTREGA. - 20/04/2023
Objetivo. -se tiene los siguientes objetivos:

-El conocer el funcionamiento del microcontrolador y sus aplicaciones tanto a


nivel de softaware y hardware

- el conocer y manipular las salidas del microcontrolador pic

- la realización y simulación de los diferentes programas en proteus para


poder comprobar su correcto funcionamiento

- armado y simulado del circuito

Herramientas y

nomenclatura Hardaware

pic16f628a

El pic16F628-A es un microcontrolador de 8 bit, posee una arquitectura RISC


avanzada así como un juego reducido de 35 instrucciones

Quemador pic kit 3

El Pickit 3 programador es una herramienta de depuración y programación. Su


integración y tecnología los permite programar distintas Microcontroladores
de diferentes familias PIC. Es totalmente compatible con MPLAB IDE, su
interfaz es a través de un puerto USB totalmente simple.
Se utiliza para realizar la programación de Microcontroladores PIC de
distintas familias: PIC10F, PIC12F, PIC16F, PIC18F, PIC24F/H, PIC32,
dsPIC30F y dsPIC33F.

-resistencias

Se denomina resistencia o resistor al componente electrónico diseñado para


introducir una resistencia eléctrica determinada entre dos puntos de un
circuito eléctrico.

-leds de diferentes
colores

El acrónimo inglés LED (Light Emitting Diode) que en castellano significa


literalmente “Diodo Emisor de Luz’’ es un elemento capaz de recibir una
corriente eléctrica moderada y emitir una radiación electromagnética
transformada en luz. Coloquialmente es conocido como Diodo Luminoso

El funcionamiento de las luces LED viene dado por el Principio fotoeléctrico


ideado por Albert Einstein. Este principio se basa en la existencia de
materiales que al someterlos a una corriente eléctrica pueden producir luz. En
el caso de los LED, la corriente eléctrica genera luz al pasar por los diodos.
Este proceso también recibe el nombre de electroluminiscencia.

Para que este proceso funcione es necesario que el LED esté polarizado
directamente. Es decir, tiene que existir una corriente circular de un término
positivo (ánodo) a uno negativo (cátodo). Es aquí cuando se produce el llamado
“fotón” al desprenderse los electrones y se produce luz.

El proceso de electroluminiscencia es mucho más eficiente que el proceso de


incandescencia de una bombilla con filamento ya que la energía se destina
directamente a generar luz y no a generar calor.
-Lcd16x2

Es una pantalla de cristal liquido nombrada asi por sus siglas en ingles Liquid
Crystal Display

El display LCD 16×2 es un dispositivo de salida muy común en proyectos con


microcontroladores como Arduino. Este dispositivo permite mostrar texto y
números en una disposición de dos
lineas de texto de 16 caracteres
cada una. Esta conformado por dos
partes principalmente: un PCB que
aloja el controlador de pantalla
LCD y la pantalla de cristal liquido
(LCD) propiamente.

– Pin 1 – Vss: GND o tierra.


– Pin 2 – Vdd: Alimentación Vcc o
+5V.
(Algunos pueden alimentarse a 3
Vcc)
– Pin 3 – V0: Control del
contraste del display,
conectamos este pin al terminal variable de un potenciómetro conectado a
Vcc y Masa en sus terminales extremos.
– Pin 4 – RS: Selección de Registro.
0 lógico: Registro de comandos (escritura),
1 lógico: Registro de datos (escritura, lectura)
– Pin 5 – R/W:
0 lógico: Escritura del LCD.
1 Lógico: Lectura del LCD.
– Pin 6 – Enable: El famoso Enable de casi todos los componentes de la
electrónica digital. Un 1 lógico señala el inicio de escritura o lectura del LCD,
un 0 lógico, desactiva todas las funciones.
– Pin 7-10 – D0/D3: Pines correspondientes al bus de datos.
D0 corresponde al bit menos significativo.
Estos pines no se utilizan si realizamos operaciones sobre el LCD de 4 bits.
– Pin 11-14 – D4/D7: Pines correspondientes al bus de datos.
D7 corresponde al bit más significativo y puede utilizarse como “Busy
Flag”, si leemos sobre este pin, un 1 lógico nos indicará que el LCD se
encuentra ocupado, no permitiendonos realizar ninguna operación hasta que
se deshabilite.
En la tabla no aparecen, ya que no todos los displays disponen de los pines 15 y
16, yo he modificado la imagen para añadirlos, y son simplemente:
– Pin 15 – Ánodo de la retroiluminación : R + 5V. – Pin 16 – Cátodo de la
retroiluminación: GND.

Cables de conexión macho-macho

La función del cable macho-macho es con frecuencia usado en el tablero


protoboard haciendo posible la conexión de dos elementos ingresados en dicho
tablero.

Se conoce como macho-macho debido al fragmento que sobresale de los


extremos del cable

Software

-pic c compile

PIC C Compiler es un software diseñado para programación de


microcontroladores PIC. Cuenta con una amplia variedad de dispositivos
PIC compatibles con el software. -pickit3 v3.10

-proteus

Funciones

Se usara las siguientes funciones para el programa pic c compiler


#include <16f682a.h> en este comando especificamos el microcontrolador pic
que usaremos

#fuses INTRC con este comando activamos el oscilador interno del pic

#fuses MCLR con este comando activamos el MCLR que es el reset del pic

#fuses NOMCLR en contra puesta este comando desactiva el MCLR y podemos


usar ese pin como cualquier otro

#use delay (clock=4M) con este comando se busca especificamos el valor del
cristal que usaremos en el circuito como ser el crital de cuarzo

#use delay (internal=4M) con este comando especificaremos que no usaremos


un crysatl de cuarzo en cambio se usara el oscilador interno del pic dejando los
pines destinados al cristal libres, se debe aclarar que cada tipo de pic tiene un
oscilador interno diferente que se debe revisar su lista de características
para saber cual es su valor

Void Main(){ } este comando indica el inicio del programa principal todo
aquello que este dentro de las llaves es el programa principal y tendrá
prioridad sobre otros subprogramas

Whiel (true){ } usamos este comando para crear un bucle infinito donde se
repita una y otra vez los comandos en su interior este es debido a que el
programa principal se repetirá una sola vez sin mas, de esta manera podremos
realizar que nuestro programa se repita varias veces indefinidamente sin
inconvenientes

Output_high(pin_b0) este comando pondrá en estado alto 0 de 1 logico un pin,


el pin que se nombre dentro de los paréntesis se pondrá en estado alto

Output_low (pin_b0) este comando ponemos en estado bajo un pin, el pin que
esta adentro de los paréntesis se pondrá en estado bajo

Delay_ms(100) este comando realiza un retardo en el programa, el numero


que se especifique dentro del paréntesis será el tiempo que esperara antes
de continuar con la siguiente instrucción
Tarea Realizar un contador del 1 al 15, en los leds debe contar en binario
y en su lcd en decimal

#INCLUDE<16F628A.H>

#FUSES INTRC,NOMCLR

#USE DELAY(INTERNAL=4M)

#USE STANDARD_IO(B)

#DEFINE LCD_ENABLE_PIN PIN_B2

#DEFINE LCD_RS_PIN PIN_B0

#DEFINE LCD_RW_PIN PIN_B1

#DEFINE LCD_DATA4 PIN_B4

#DEFINE LCD_DATA5 PIN_B5

#DEFINE LCD_DATA6 PIN_B6

#DEFINE LCD_DATA7 PIN_B7

#INCLUDE<LCD.

C> int

TIEMPO=500;

void main()

LCD_INIT();

LCD_PUTC("\f");

while(true)

{
LCD_GOTOXY(1,1);

LCD_PUTC("NUM

DECIMALES");

output_a(0b0000);

LCD_GOTOXY(3,2);

LCD_PUTC("00");

delay_MS(tiempo);

output_a(0b0001);

LCD_GOTOXY(3,2);

LCD_PUTC("01");

delay_MS(tiempo);

output_a(0b0010);

LCD_GOTOXY(3,2);

LCD_PUTC("02");

delay_MS(tiempo);

output_a(0b0011);

LCD_GOTOXY(3,2);

LCD_PUTC("03");

delay_MS(tiempo);

output_a(0b0100);

LCD_GOTOXY(3,2);

LCD_PUTC("04");

delay_MS(tiempo);

output_a(0b0101);
LCD_GOTOXY(3,2);

LCD_PUTC("05");

delay_MS(tiempo);

output_a(0b0110);

LCD_GOTOXY(3,2);

LCD_PUTC("06");

delay_MS(tiempo);

output_a(0b0111);

LCD_GOTOXY(3,2);

LCD_PUTC("07");

delay_MS(tiempo);

output_a(0b1000);

LCD_GOTOXY(3,2);

LCD_PUTC("08");

delay_MS(tiempo);

output_a(0b1001);

LCD_GOTOXY(3,2);

LCD_PUTC("09");

delay_MS(tiempo);

output_a(0b1010);

LCD_GOTOXY(3,2);

LCD_PUTC("10");

delay_MS(tiempo);
output_a(0b1011);

LCD_GOTOXY(3,2);

LCD_PUTC("11");

delay_MS(tiempo);

output_a(0b1100);

LCD_GOTOXY(3,2);

LCD_PUTC("12");

delay_MS(tiempo);

output_a(0b1101);

LCD_GOTOXY(3,2);

LCD_PUTC("13");

delay_MS(tiempo);

output_a(0b1110);

LCD_GOTOXY(3,2);

LCD_PUTC("14");

delay_MS(tiempo);

output_a(0b1111);

LCD_GOTOXY(3,2);

LCD_PUTC("15");

delay_MS(tiempo);

}
Conclusiones

 Como conclusiones podemos tener los siguientes puntos


 el programa pic c compiler usa otro tipo de idioma de programador no
usa el mismo que el del Arduino ya que busca ser mas especifico
 hubo complicaciones con respecto al grabado con el programa del
quemador del pic kit 3
 se logro aprender otro idioma de programación
 se logro el armado de la tarea con el pic 16f628a

También podría gustarte