Computing">
Nothing Special   »   [go: up one dir, main page]

Informe 7

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 33

INSTITUTO TECNOLÓGICO SUPERIOR LUIS

ARBOLEDA MARTÍNEZ

INTEGRANTES:

 GUALE CABAL JELENNY LUCIA

 SAN ANDRES ALVARADO WINSTON

ALEXANDER

 RUIZ JIMENES JONATHAN VINICIO

CARRERA:

ELECTRÓNICA

SEMESTRE:

QUINTO

ASIGNATURA:

ELECTRÓNICA DIGITAL

DOCENTE:

ING. VICTOR VERDEZOTO


Contenido
1. INTRODUCCIÓN....................................................................................................................4
2. TEMA:............................................................................................................................5
3. OBJETIVO GENERAL.................................................................................................5
4. OBJETIVO ESPECIFICO............................................................................................5
5. MARCO TEÓRICO..................................................................................................................6
5.1. PIC 16F877A....................................................................................................................6
ILUSTRACIÓN 1 PIC16F877A................................................................................................6
ILUSTRACIÓN 2 PINES DE I/O DEL PIC 16F877A..............................................................7
5.2. PCWHD O PIC C COMPILER............................................................................7
5.3. PICKIT 3.....................................................................................................................7
5.4. LCD.............................................................................................................................8
5.4.1. Características de las LCD.................................................................................8
5.4.2. Tamaño:...................................................................................................................8
5.4.3. Resolución:................................................................................................................8
5.4.4. Brillo:..........................................................................................................................9
5.4.5. Iluminación CCFL:.......................................................................................................9
ILUSTRACIÓN 3 ILUMINACIÓN CCFL.................................................................................9
5.4.6. Iluminación LED.........................................................................................................9
ILUSTRACIÓN 4 ILUMINACIÓN LED...................................................................................9
5.4.7. Contraste.................................................................................................................10
ILUSTRACIÓN 5 CONTRASTE.............................................................................................10
ILUSTRACIÓN 6 LCD...........................................................................................................10
5.5. DISPLAY 7 SEGMENTOS.....................................................................................10
5.5.1. Display de ánodo común..................................................................................11
5.6. Teclado Matricial.....................................................................................................11
5.6.1. ¿Cómo funciona un teclado matricial?...........................................................11
ILUSTRACIÓN 7CONEXIONES DEL TECLADO AL PUERTO B DEL
MICROCONTROLADOR.......................................................................................................12
5.6.2. Como conectar un teclado matricial tipo membrana a un microcontrolador
PIC. 12
ILUSTRACIÓN 8 TECLADO MATRICIAL............................................................................13
1.1. ¿Qué es un ascensor?................................................................................................13
1.2. Funcionamiento de un ascensor...............................................................................15
1.2.1. ¿Cómo funcionan los diferentes tipos de ascensores existentes?, ¿Cuáles son
sus principales características?.......................................................................................15

2
1.2.2. Ventajas y desventajas.....................................................................................15
1.3. Diagrama de ascensor de 4 pisos...................................................................................16
Elaboración del ascensor.....................................................................................................16
5.7. Elaboración del lenguaje de programación............................................................18
5.8. Simulación de circuitos en proteus..........................................................................27

3
1. INTRODUCCIÓN

El empleo de un ascensor domiciliario no solo se da por comodidad sino también por

necesidad, especialmente cuando hay personas con problemas de movilidad.

Casi todos hemos utilizado un ascensor, pero nunca nos hemos preguntado cómo

funciona o que fundamentos físico se emplearon en su diseño.

La realización de proyectos técnicos próximos al entorno cotidiano, motivan a

inspeccionar la realidad, investigando los sistemas técnicos que se utilizan a diario.

La electrónica digital se ha inmiscuido en la gran mayoría; por no referirse a todos los

aparatos que se usan y vemos día a día, desde los paquetes de televisión, de

comunicación, los sistemas de computación, y otros al menos tienen un codificador,

contador o la más mínima expresión de la electrónica digital

En esta sesión se introducen dos elementos periféricos nuevos como son el teclado

matricial y la pantalla LCD.

Con el teclado matricial dispondremos de 16 teclas mientras que la pantalla LCD nos

ofrece una potente herramienta de salida al poder mostrar texto en dos líneas de 16

caracteres cada una. El funcionamiento de cada elemento se muestra a continuación.

4
2. TEMA:

Diseño y construcción de un modelo escala de un ascensor de 4 pisos utilizando


microontrolador 16f877a

3. OBJETIVO GENERAL

Diseñar y elaborar de un modelo escala de un ascensor de 4 pisos utilizando


microontrolador 16f877a aplicando los conocimientos adquiridos en clases.

4. OBJETIVO ESPECIFICO

 Investigar función del teclado matricial


 Analizar el funcionamiento de un ascensor.
 Analizar entradas del LCD.
 Diseñar un modelo a partir de la realidad.
 Diseñar programa para funcionamiento de la cerradura
 Elaborar y simular el diagrama en proteus.
 Implementar el circuito en físico.

5
5. MARCO TEÓRICO
5.1. PIC 16F877A

El PIC16F877A es un microcontrolador con memoria de programa tipo FLASH, lo que


representa gran facilidad en el desarrollo de prototipos y en su aprendizaje ya que no se
requiere borrarlo con la luz ultra violeta como las versiones EPROM, si no que permite
reprogramarlo nuevamente sin ser borrado con anterioridad. El PIC16F877A es un
microcontrolador de Microchip Technology fabricado en tecnología CMOS, su
consumo de potencia es muy bajo y además es completamente estático (esto quiere
decir que el reloj puede detenerse y los datos de la memoria no se pierden). El
encapsulado más común es el de tipo DIP (Dual In-Line Pin) de 40 pines, aunque posee
otros encapsulados (SOIC, PLCC y QFP).

ILUSTRACIÓN 1 PIC16F877A.
Los pines I/O (Input/Output) están organizados en 5 puertos:
 Puerto A: 6 pines

 Puerto B: 8 pines

 Puerto C: 8 pines

 Puerto D: 8 pines

 Puerto E: 3 pines

6
ILUSTRACIÓN 2 PINES DE I/O DEL PIC 16F877A.
5.2. PCWHD O PIC C COMPILER

El ambiente de desarrollo integrado de PCWHD les da a los programadores la


capacidad de producir rápidamente códigos muy eficientes usando un lenguaje fácil y
manejable.

CCS desarrolló el primer compilador de C para microcontroladores Microchip hace más


de 20 años y continúa proporcionando soluciones de software para desarrolladores de
aplicaciones embebidas. Los compiladores CCS son fáciles de usar y rápidos de
aprender. Para el programador con menos experiencia, un libro de texto detallada que
explica el lenguaje C y la forma en que se puede aplicar a PIC microcontroladores.

Estos productos incluyen compilador optimizado a nivel profesional, una biblioteca de


funciones integradas de gran alcance, específicos comandos, preprocesador, y listo para
correr programas de ejemplo para saltar rápidamente en marcha cualquier proyecto.
Nuestra masiva base de clientes nos proporciona acceso a la comprensión de los
requerimientos de nuestros clientes mientras desarrollamos características avanzadas
con frecuentes lanzamientos y errores raros

5.3. PICKIT 3

El PICKIT 3 es la herramienta de depuración y programación más sencilla y de menor


coste de Microchip. Esta totalmente soportado por el MPLAB IDE, y tiene una sencilla
conexión USB Full Speed con el ordenador que no solo permite programar y depurar
sino también hacer update del firmware interno del PICKIT3.Tiene circuitos para

7
protección de sobre tensión y de corto circuito, permite ejecución en tiempo real y
soporta tensiones desde 2.0V.

Respectando la norma USB puede dar 100mA al circuito donde está conectado y tiene
leds de información rápida para el usuario.

5.4. LCD
Las siglas LCD significan “Liquid Cristal Display” ó pantalla de cristal líquido. Es una
pantalla plana basada en el uso de una sustancia liquida atrapada entre dos placas de
vidrio, haciendo pasar por este una corriente eléctrica a una zona especifica, para que así
esta se vuelva opaca, y además cuenta (generalmente) con iluminación trasera.
Las pantallas LCD de color, cada pixel individual se divide en tres cédulas o sub pixeles
con los colores RGB (Rojo, Verde y Azul) respectivamente. Y así cada pixel puede
controlarse para  producir una gran variedad de colores distintos.

5.4.1. Características de las LCD.


Existen una gran variedad de proyectos en los que se incluye una LCD para interfaz con
el usuario, lo que modifica las necesidades, las cuales es importante atender más que
nada por los precios. Y la importancia de esta en el proyecto.
Algunos factores básicos a considerar en una LCD son:

5.4.2. Tamaño: 

El tamaño de un panel LCD generalmente se mide a lo lardo de su diagonal, expresado


generalmente en pulgadas. Sin embargo existen más características que pueden describir
las dimensiones aproximadas, como por ejemplo la LCD 16×2 (negro sobre fondo azul)
se refiere a que tiene la capacidad de tener al mismo tiempo 16 caracteres de manera
horizontal en dos renglones (cada uno).

5.4.3. Resolución: 

Esta se expresa con las dimensiones horizontal y vertical. las pantallas HD tienen una
resolución de 1920×1080 por ejemplo. Y esta puede alcanzar con esta resolución una
gran variedad de tamaño, pero si no se ocupa gran a gran detalle esta, estarías
desperdiciando calidad (por no utilizar algo que tienes disponible). En 5hz se maneja,
por ejemplo la LCD gráfica 128×64 (negro sobre fondo verde). Que a pesar de su
tamaño la consideramos suficiente para las aplicaciones estudiantiles, y algunas

8
industriales donde se requiera tener algo claro y legible en un tamaño práctico.

5.4.4. Brillo: 

La luminosidad de la pantalla también es importante analizarla, ya que según la


aplicación en la que se encuentre esta, requerirá más luz para poder apreciarse, o
viceversa. Por lo que la mayoría cuentan con una luz trasera y la posibilidad de poder
controlar su luminosidad.

5.4.5. Iluminación CCFL:


Esta iluminación básicamente consta poner detrás de la pantalla una matriz de CCFL, o
bien en las orillas o bordes de la pantalla. Sin embargo es más consumo que el led y
tiene un menor tiempo de vida, por lo que poco a poco se ha ido poniendo en segundo
plano.

ILUSTRACIÓN 3 ILUMINACIÓN CCFL.

5.4.6. Iluminación LED.


Esta iluminación puede presentarse en dos maneras, en un solo color, (generalmente
blanco) o bien en RGB, los blanco suelen ser los más utilizados. Estos al igual que la
iluminación CCFL, pueden estar formando una matriz en la parte de atrás, o bien
pueden colocarse a los extremos del display.

ILUSTRACIÓN 4 ILUMINACIÓN LED.

9
5.4.7. Contraste.
Es la relación entre la intensidad más brillante y la más oscura.

ILUSTRACIÓN 5 CONTRASTE.

Angulo de visión: es el ángulo máximo en el que el usuario puede visualizar lo que está
en la LCD sin que se pierda mucha calidad.
Número de caracteres. Hay diversos tamaños de LCD y con ello nos limitamos o nos
expandamos la posibilidad de mostrar en el display cierto número de caracteres, los
tamaños estándar que manejamos son: 16×2, 20×4, 8×2.
 

ILUSTRACIÓN 6 LCD.
5.5. DISPLAY 7 SEGMENTOS
El visualizador de 7 segmentos es un componente que se utiliza para la representación de
caracteres (normalmente números) en muchos dispositivos electrónicos, debido en gran
medida a su simplicidad. Aunque externamente su forma difiere considerablemente de un led
típico, internamente están constituidos por una serie de leds con unas determinadas
conexiones internas, estratégicamente ubicados de tal forma que forme un número '8'.

ILUSTRACIÓN 4SEGMENTOS E IDENTIFICACIÓN DE LOS MISMOS.

Cada uno de los segmentos que forman la pantalla están marcados con siete primeras letras
del alfabeto ('a'-'g'), y se montan de forma que permiten activar cada segmento por separado,
consiguiendo formar cualquier dígito numérico. A continuación, se muestran algunos
ejemplos:

 Si se activan o encienden todos los segmentos se forma el número "8".

10
 Si se activan sólo los segmentos: "a, b, c, d, e, f," se forma el número "0".

 Si se activan sólo los segmentos: "a, b, g, e, d," se forma el número "2".

 Si se activan sólo los segmentos: "b, c, f, g," se forma el número "4".

5.5.1. Display de ánodo común


Es un componente electrónico muy utilizado en proyectos para la representación de números
o letras. Dentro de sus aplicaciones y proyectos que podemos realizar con el encontramos:
relojes, termómetros, contadores, letreros luminosos, indicadores de voltaje o corriente, etc.
Además, es excelente para empezar a adentrarte en el mundo de los circuitos y dispositivos
digitales.

El display de 7 segmentos es muy utilizado en una gran cantidad de dispositivos electrónicos


como dispositivo de visualización, gracias a que tiene una baja demanda de energía, es fácil de
usar y su tamaño es reducido.

Este dispositivo viene elaborado de manera que se pueda activar cada segmento (diodo LED)
por separado, logrando de esta manera combinar los elementos y representar todos los
números en el display (del 0 al 9) o incluso algunas letras del abecedario.

5.6. Teclado Matricial

5.6.1. ¿Cómo funciona un teclado matricial?


El principio de funcionamiento es sencillo y es similar a lo que haríamos para
multiplexar leds o dipslays de 7 segmentos. El programa configura el puerto B del PIC
de la siguiente forma: RB4 a RB7 funcionan como salidas y la otra mitad (RB0-RB3)
como entradas. Las filas (horizontal) del teclado matricial se conectan a los bits más
significativos que funcionan como salidas, mientras que las columnas (vertical) se
conectan a los bits menos significativos del puerto que funcionan como entradas con
resistencias pull-down. Cualquier tecla que se oprima en una columna causará que uno
de los bits menos significativos del puerto (RB0 – RB3) cambie de un estado lógico
bajo a un estado alto.

La siguiente imágen muestra las conexiones del teclado al puerto B del


microcontrolador. La imagen muestra el teclado en reposo (sin teclas oprimidas).

11
ILUSTRACIÓN 7CONEXIONES DEL TECLADO AL PUERTO B DEL
MICROCONTROLADOR.

5.6.2. Como conectar un teclado matricial tipo membrana a un


microcontrolador PIC.
El método que proponemos permite conectar a nuestro microcontrolador 16 teclas
usando solamente 8 pines. El código debería ser válido para cualquier microcontrolador,
incluso de otras marcas, aunque siempre habrá que revisarlo y posiblemente realizar

12
algunas adaptaciones si se migra a otra plataforma, sin embargo, el algoritmo
permanece igual con cualquier microcontrolador.

El ejemplo se realizó para un PIC16F88, aunque como ya hemos mencionado, es


compatible básicamente con cualquier microcontrolador PIC. Debido a que el programa
utiliza todos los bits del puerto B en nuestro microcontrolador, pensamos que tal vez
sea buena idea utilizar un PIC con buena cantidad de pines como un PIC16F877 o un
PIC18F4550, por mencionar un par de ejemplos de micros populares. Para este ejemplo,
utilizamos XC8 y MPLAB X como entorno de desarrollo.

ILUSTRACIÓN 8 TECLADO MATRICIAL.


1.1. ¿Qué es un ascensor?

El ascensor es una máquina que se dispone en edificios de departamentos, o en casas,

que cuenten con varios pisos y se desempeña como la principal vía de transporte de

individuos y de mercancías, permitiéndoles a través de él, subir o bajar a través de los

pisos que disponga el edificio o casa en cuestión. Toma el ascensor del fondo y sube

hasta el cuarto piso que es donde se halla la oficina de reclamos que buscas.

El diseño de los ascensores es siempre vertical para así cumplir satisfactoriamente con

el propósito de subir o de descender a través de los pisos de una edificación.

13
Cabe destacar, que el ascensor se encuentra integrado por elementos eléctricos,

mecánicos y electrónicos, que unidos, permiten la mencionada movilidad por el edificio

al mismo tiempo que garantizan un movimiento seguro.

La cabina es la parte en la cual las personas ascienden o descienden de los diversos

pisos, en tanto, sus dimensiones dependerán del tipo de edificio que se trate, ya que

generalmente en los edificios de oficinas, a diferencia de aquellos destinados a

viviendas familiares, los ascensores, son realmente amplios para admitir un traslado

superior de gente, básicamente, porque el tránsito de personas es más importante

durante todo el día.

Dentro de la cabina se halla dispuesta una botonera que contiene botones señalizados

con los diferentes pisos, más una alarma y un botón de detención que los usuarios

podrán manejar desde la cabina para impedir el movimiento del ascensor.

Al ascensor se accede a través de una puerta, que puede ser de apertura manual o

automática, cada vez que el ascensor se detiene en el piso, en tanto, para mantener la

seguridad de este aparato es que si el ascensor todavía no se encuentra detenido en el

piso que se lo desea tomar, la puerta manual no podrá ser abierta, ya que dispone de un

mecanismo que lo traba.

La seguridad es una cuestión básica e importantísima en los ascensores por lo tanto en

su diseño es un tema que se halla sumamente pensado hasta el más mínimo detalle y así

es que si algunos de los contactos falla, en casi todos los ascensores se producirá el

detenimiento de su marcha para evitar accidentes.

14
1.2. Funcionamiento de un ascensor

Los Ascensores son sin duda uno de los transportes más utilizados actualmente, además,
gracias a los continuos avances tecnológicos y las distintas normativas que los regulan,
también están considerados como uno de los transportes más seguros.

Antes de entrar en materia y explicar el funcionamiento de un ascensor, es importante indicar


que entendemos por ascensor todo aquel elevador que sirve unos niveles específicos, con un
habitáculo, más conocido como cabina, y que se desplaza guiado con la ayuda de guías rígidas
o simplemente siguiendo un recorrido fijo.

1.2.1. ¿Cómo funcionan los diferentes tipos de ascensores existentes?, ¿Cuáles

son sus principales características?

Principalmente existen dos tipos de ascensores los hidráulicos y los electromecánicos.

Los ascensores hidráulicos funcionan impulsados por la energía procedente de una

central hidráulica (Motor + Bomba) que inyecta un fluido hidráulico a un cilindro que

actúa de forma directa o indirectamente sobre la cabina.

De esta manera para elevar la cabina, la central bombea el fluido hacia el cilindro el

cual al acumular la presión necesaria empuja la cabina del ascensor. Sin embargo para

bajar solamente se requiere el accionamiento de una válvula, la cual permite el retorno

del fluido hacia la central haciendo descender de forma controlada al elevador.

1.2.2. Ventajas y desventajas.

Las ventajas del sistema hidráulico son principalmente un mejor aprovechamiento del

espacio, un coste económico menor, versatilidad en la ubicación del cuarto de máquinas

pudiéndose sustituir por un armario homologado, amplio rango de capacidad de carga y

que no requieren de elementos de contrapesado.

Por otra parte, como principales desventajas del funcionamiento de un ascensor

hidráulico son que disponen de una velocidad limitada, (Normalmente hasta 0,63 m/seg

y en casos excepcionales hasta 1 m/seg), están limitados en cuanto a su recorrido, un

15
mayor consumo energético (Salvo excepciones) y la utilización de aceite para su

funcionamiento.

En cuanto a los ascensores electromecánicos tenemos de dos tipos, los que requieren de

un cuarto de máquinas situado en la parte superior o inferior del hueco del ascensor y

los que no requieren de cuarto de máquinas al integrarse la maquinaria en el propio

hueco del ascensor.

Básicamente los dos tipos tienen un funcionamiento con un sistema en suspensión

compuesto por un lado por la cabina y por otro por un contrapeso unidos principalmente

mediante cables, cintas o correas dentadas.

La energía necesaria para hacer que el ascensor se eleve o descienda viene

proporcionada por un motor eléctrico, el cual puede equipar un reductor o en los más

actuales, un motor gearless de imanes permanentes.

Como principales ventajas del funcionamiento de un ascensor electromecánico, cabe

destacar que pueden alcanzar grandes alturas y disponen de un amplio rango de

velocidades. Para los ascensores sin cuarto de máquinas disponemos de una gran

versatilidad al no tener que habilitar un espacio fuera del hueco del elevador y además,

tenemos un mayor ahorro energético en ascensores con motores sin reductor de última

generación.

Como inconvenientes destacables indicar que tienen un menor aprovechamiento del

espacio debido a que en su mayoría requieren de un sistema de contrapesado que se

ubica en el hueco, mayor complejidad que los ascensores hidráulicos, mayor coste,

necesidad de disponer de un cuarto de máquinas en la parte superior o inferior del hueco

en los modelos con cuarto de máquinas y complejidad del sistema de rescate en los

ascensores electromecánicos sin cuarto de máquinas.

16
Independientemente del tipo de ascensor, es importante tener en cuenta que todos ellos

tienen la obligación de tener contratado un servicio de mantenimiento y conservación

con una empresa autorizada y registrada para ello, puedes encontrar más información al

respecto en nuestra página mantenimiento ascensor.

1.3. Diagrama de ascensor de 4 pisos

9 ASESOR DIGITAL A ESCALA DE 4 PISOS

Elaboración del ascensor

En esta etapa utilizamos en programa PIC C COMPILER en el cual es un programador


de nivel medio donde podremos escribir nuestras líneas de código dando las órdenes
necesarias para generar la secuencia deseada.

Materiales

 PIC16f877A
 1 cristal oscilador de 8 MHz
 1 Keypad de 4x4
 4 Resistencia 1 k Ω
17
 16 Resistencia 220 Ω
 30 diodos leds
 Protoboard
 Fuente de alimentación de 5 V
 Cables
 Multímetro
 Lcd de 16x2
 Teclado matricial
 10 Pulsadores
 4 diodos rectificador
 4 transistores 2N3904
 1 mini taladro para pcb
 1 taladro percutor
 2 cautin
 Pasta para soldar
 3 metros de Estaño
 4 placas virgen para circuito impreso
 1 plancha
 4 motores
 Canaletas
 Varillas
 4 Finales de carrera
 1 motor
 Gitson
 Mdf madera
 Jifon madera

18
Costo

MATERIALES COSTO
 PIC16f877A $7.00
 1 cristal oscilador de 8 MHz $1.00
 1 Keypad de 4x4 $6.00
 4 Resistencia 1 k Ω $0.40
 16 Resistencia 220 Ω $1.60
 30 diodos leds $6.00
 Protoboard $7.00
 Fuente de alimentación de 5 V $10.00
 Cables $5.00
 Multímetro $15.00
 Lcd de 16x2 $7.00
 10 Pulsadores $10.00
 4 diodos rectificador $2.00
 4 transistores 2N3904 $4.00
 1 mini taladro para pcb $28.00
 1 taladro percutor $30.00
 2 cautin $5.00
 Pasta para soldar $1.50
 3 metros de Estaño $2.00
 4 placas virgen para circuito $5.00
impreso
 1 plancha $20.00
 Canaletas $1.70
 Varillas $2.00
 4 Finales de carrera $8.00
 1 motor $2.00
 jifon madera $5.00
 Mdf madera $5.00
TOTAL $197.20

5.7. Elaboración del lenguaje de programación.


Antes de empezar a programar tenemos que estudiar y analizar un poco sobre el uso de
la memoria eeprom que viene integrada en el microcontrolador pic 16f877a que es con
el que hemos estado trabajando durante todo este periodo, una ves que hayamos
entendido el uso de la eeprom empezaremos con la programación en el cual quedaría
como las imágenes siguientes:

#include <16f877a.h>

#fuses hs,nowdt

19
#use delay(clock= 8 Mhz)

#define use_portb_kbd TRUE //Habilitamos la lectura del Teclado por el Puerto B

#include <lcd.c>//Libreria para LCD

#include <KBD2.c> //Libreria para el manejo del teclado

#use standard_io(D)

#rom 0x2100={'1','2','3','4'}//contraseñas guardadas en rom

int memoria;

char m;

int a;

int n;

char data[4];

char clave[4];

char cc[4]={'*','*','*','*'};

void subida()

if(input(pin_a1)==1 && input(pin_a5)==1)

output_high(pin_c7);

lcd_gotoxy(1,1);

lcd_putc(" SUBIENDO ");

if(input(pin_a2)==1&&(input(pin_a5)==1||input(pin_e0)==1))

output_high(pin_c7);

lcd_gotoxy(1,1);

lcd_putc(" SUBIENDO ");

if(input(pin_a3)==1&&(input(pin_a5)==1||input(pin_e0)==1||input(pin_e1)==1))

20
output_high(pin_c7);

lcd_gotoxy(1,1);

lcd_putc(" SUBIENDO ");

///////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////

void bajada()

if(input(pin_a2)==1 && input(pin_e2)==1)

output_high(pin_d3);

lcd_gotoxy(1,1);

lcd_putc(" BAJANDO ");

if(input(pin_a1)==1&&(input(pin_e1)==1||input(pin_e2)==1))

output_high(pin_d3);

lcd_gotoxy(1,1);

lcd_putc(" BAJANDO ");

if(input(pin_a0)==1&&(input(pin_e0)==1||input(pin_e1)==1||input(pin_e2)==1))

output_high(pin_d3);

lcd_gotoxy(1,1);

lcd_putc(" BAJANDO ");

////////////////////////////////////////////

///////////////////////////////////////////

void paro()

21
{

if(memoria==1&&input(pin_a5)==1)//LOGICA DE FINAL DE CARRERA PISO 1

lcd_gotoxy(1,1);

lcd_putc(" ");

output_low(pin_c7);

output_low(pin_d3);

memoria=0;

if(memoria==2&&input(pin_e0)==1)//LOGICA DE FINAL DE CARRERA PISO 2

lcd_gotoxy(1,1);

lcd_putc(" ");

output_low(pin_c7);

output_low(pin_d3);

memoria=0;

if(memoria==3&&input(pin_e1)==1)//LOGICA DE FINAL DE CARRERA PISO 3

lcd_gotoxy(1,1);

lcd_putc(" ");

output_low(pin_c7);

output_low(pin_d3);

memoria=0;

if(memoria==4&&input(pin_e2)==1)//LOGICA DE FINAL DE CARRERA PISO 4

lcd_gotoxy(1,1);

lcd_putc(" ");

output_low(pin_c7);

output_low(pin_d3);

22
memoria=0;

/////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////

void main()

lcd_init();

kbd_init();

port_b_pullups(TRUE);

//////////////////////////////////////////////////////////////

do

output_high(pin_d3);

}while(input(pin_a5)==0&&input(pin_e0)==0&&input(pin_e1)==0&&input(pin_e2)==0);

output_low(pin_d3);

////////////////////////////////////////////////////////////

do

lcd_gotoxy(1,1);

lcd_putc(" BIENVENIDOS ");

delay_ms(1000);

a=0;

lcd_gotoxy(1,1);

lcd_putc("\f DIGITE CLAVE ");

while(a<=3) //siempre que a sea menor o igual a 3

m=kbd_getc(); //Se obtiene el valor de la tecla pulsada

if (m!=0) //Si m es diferente de nulo

data[a]=m; //Guarda el valor de la tecla pulsada en un espacio de memoria

23
a++; //Incrementa a

lcd_gotoxy(a,2);

lcd_putc('*'); //se imprime * en representacion de un caracter

for (a=0;a<=3;a++) //Ciclo para guardar la clave en una nueva variable

clave[a]=read_eeprom(a);//Lee la clave guardada en memoria y la guarda en una nueva


variable

//Para luego comprobarla con la clave ingresada por el usuario

lcd_gotoxy(1,1);

lcd_putc("\f");

if ((data[0]==clave[0])&&(data[1]==clave[1])&&(data[2]==clave[2])&&(data[3]==clave[3]))
//comparacion de la clave ingresada

//Con la clave guardada en memoria

while(TRUE)

if(input(pin_A0)==1&&memoria==0)

memoria=1;

if(input(pin_A1)==1&&memoria==0)

memoria=2;

if(input(pin_A2)==1&&memoria==0)

memoria=3;

if(input(pin_A3)==1&&memoria==0)

24
{

memoria=4;

if(input(pin_a5)==1)

output_high(PIN_C0);

output_low(PIN_C1);

output_low(PIN_C2);

output_high(PIN_C3);

output_high(PIN_C4);

output_high(PIN_C5);

output_high(PIN_C6);

lcd_gotoxy(1,2);

lcd_putc(" PISO 1 ");

if(input(pin_e0)==1)

output_low(PIN_C0);

output_low(PIN_C1);

output_high(PIN_C2);

output_low(PIN_C3);

output_low(PIN_C4);

output_high(PIN_C5);

output_low(PIN_C6);

lcd_gotoxy(1,2);

lcd_putc(" PISO 2 ");

if(input(pin_e1)==1)

output_low(PIN_C0);

output_low(PIN_C1);

25
output_low(PIN_C2);

output_low(PIN_C3);

output_high(PIN_C4);

output_high(PIN_C5);

output_low(PIN_C6);

lcd_gotoxy(1,2);

lcd_putc(" PISO 3 ");

if(input(pin_e2)==1)

output_high(PIN_C0);

output_low(PIN_C1);

output_low(PIN_C2);

output_high(PIN_C3);

output_high(PIN_C4);

output_low(PIN_C5);

output_low(PIN_C6);

lcd_gotoxy(1,2);

lcd_putc(" PISO 4 ");

subida();

bajada();

paro();

if ((data[0]==cc[0])&&(data[1]==cc[1])&&(data[2]==cc[2])&&(data[3]==cc[3]))//comparacion
de la clave ingresada

//Con la clave guardada en memoria

lcd_gotoxy(1,1);

lcd_putc("\f NUEVA CLAVE ");

n=0;

26
while(n<=0) //Siempre que n sea menor o igual a 0

m=kbd_getc(); //Se obtiene el valor de la tecla presionada

if (m!=0) //Si m esta vacio

data[n]=m;//Guarda el valor de la tecla en la variable data o

write_eeprom(0x2100,m); //Se escibe el valor de la tecla en el primer espacio de memoria

n++; //se incrementa n

lcd_gotoxy(n,2);

lcd_putc('*'); //Se imprime * en representacion de un caracter

delay_ms(20);

while(n<=1) //Siempre que n sea menor o igual a 1

m=kbd_getc();//Se obtiene el valor de la tecla presionada

if (m!=0) //Si m esta vacio

data[n]=m;//Guarda el valor de la tecla en la variable data 1

write_eeprom(0x2101,m);//Se escibe el valor de la tecla en el segundo espacio de memoria

n++;//se incrementa n

lcd_gotoxy(n,2);

lcd_putc('*');//Se imprime * en representacion de un caracter

delay_ms(20);

while(n<=2) //Siempre que n sea menor o igual a 2

m=kbd_getc(); //Se obtiene el valor de la tecla presionada

if (m!=0) //Si m esta vacio

27
data[n]=m;//Guarda el valor de la tecla en la variable data 2

write_eeprom(0x2102,m);//Se escibe el valor de la tecla en el tercer espacio de memoria

n++;//se incrementa n

lcd_gotoxy(n,2);

lcd_putc('*'); //Se imprime * en representacion de un caracter

delay_ms(20);

while(n<=3) //Siempre que n sea menor o igual a 3

m=kbd_getc(); //Se obtiene el valor de la tecla presionada

if (m!=0) //Si m esta vacio

data[n]=m;//Guarda el valor de la tecla en la variable data 3

write_eeprom(0x2103,m);//Se escibe el valor de la tecla en el tercer espacio de memoria

n++;//se incrementa n

lcd_gotoxy(n,2);

lcd_putc('*');//Se imprime * en representacion de un caracter

delay_ms(20);

printf(lcd_putc,"\fCLAVE CAMBIADA");

delay_ms(500);

else

printf(lcd_putc,"\fCLAVE INCORRECTA");

delay_ms(500);

}while(true);

28
5.8. Simulación de circuitos en proteus
Una vez que hayamos creado el código sin errores tenemos que probarlo en el simulador
de proteus.

OBSERVACIONES

En este circuito se pudo notar que, al momento al grabar el programa en el

microcontrolador de realizar las conexiones de manera exacta, ya que al estar un pin

mal colocado el quemador no reconoce el microcontrolador incluso podríamos dañarlo,

incluso encontramos algunas resistencias dañadas el cual no dejaba que el pic trabaje

bien.

CONCLUCIONES
Al principio, cuando aparecieron los primeros microcontroladores no se pensó que estos
fuesen a causar un gran impacto en las vidas de las personas y en el mundo, pero a medida
que pasaron los años, se fue demostrando la verdadera revolución que ocasionarían
mejorando nuestras vidas.

Hoy en día hay microcontroladores están en todo lo que nos rodea, disminuyendo los espacios
requeridos por los circuitos, aumento del control de los dispositivos electrónicos, etc.

29
Además se pudo experimentar de forma práctica algunas características importantes que nos
permiten facilitarnos la vida, con una simple manipulación de led, el cual es el comienzo de los
robot en industrias automatizadas, automóviles, en fin, un mundo de posibilidades incontables
que van creciendo día a día.

FUENTES BIBLIOGRÁFICAS

 http://todoelectrodo.blogspot.com/2013/02/lcd-16x2.html

 https://www.5hertz.com/index.php?route=tutoriales/tutorial&tutorial_id=9

 http://informatica.uv.es/iiguia/SBM/lsbm_p3.pdf

 https://www.geekfactory.mx/tutoriales/tutoriales-pic/teclado-matricial-con-

pic/#

 https://www.geekfactory.mx/tutoriales/tutoriales-arduino/pantalla-lcd-16x2-

con-arduino/

 https://www.electrontools.com/Home/WP/2016/03/09/display-7-segmentos/

 https://www.geekfactory.mx/tienda/optoelectronica-e-iluminacion-

led/display-7-segmentos-anodo-comun/

 https://es.scribd.com/doc/207236022/Informe-Ascensor-Escolar

 https://www.definicionabc.com/general/ascensor.php

 https://ascensoresymas.com/funcionamiento-de-un-ascensor/

 http://www.rocatek.com/downloads/Programacion%20Ladder.pdf

ANEXOS

30
31
32
33

También podría gustarte