Está en la página 1de 11

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

INSTITUTO DE CIENCIAS BÁSICAS E INGENIERÍA


ÁREA ACADÉMICA DE COMPUTACIÓN Y ELECTRÓNICA

LICENCIATURA EN INGENIERÍA EN ELECTRÓNICA

MICROPROCESADORES

SEXTO SEMESTRE

JUÁREZ HERNÁNDEZ JOSÉ IGNACIO


MARTÍNEZ HERNÁNDEZ MARÍA FERNANDA
SANTIAGO MARTÍNEZ RAÚL
LICENCIATURA EN INGENIERÍA EN CONTROL AUTOMÁTICO Y ROBÓTICA
MANUAL DE PRÁCTICAS DE DISEÑO ASISTIDO POR COMPUTADORA PARA LA INGENIERÍA

Indice
Practica 1 1
Identificación. 1
Introducción. 1
Objetivo General. 2
Objetivos Específicos. 2
Reactivos/insumos, materiales/utensilios y equipos. 2
Marco Teórico 3
Desarrollo de la Actividad Práctica. 6
Conclusión 8
Bibliografía. 9
LICENCIATURA EN INGENIERÍA EN ELECTRÓNICA
MANUAL DE PRÁCTICAS DE DISEÑO ASISTIDO POR COMPUTADORA PARA LA INGENIERÍA

Practica 1
Identificación.

NOMBRE DE LA PRÁCTICA: PIC16F877A

NO. DE PRÁCTICA: 1 NO. DE SESIONES: 1

NO. DE INTEGRANTES MÁXIMO POR EQUIPO: 3

Introducción.
El PIC16F877A es un microcontrolador de 8 bits fabricado por Microchip Technology,
que forma parte de la familia PIC (Peripheral Interface Controller). Este microcontrolador
es ampliamente utilizado en aplicaciones embebidas debido a su versatilidad, bajo
consumo de energía y amplia gama de periféricos integrados.
Este microcontrolador es comúnmente utilizado en una amplia variedad de aplicaciones
embebidas, como sistemas de control industrial, dispositivos médicos, dispositivos de
consumo, sistemas de automatización del hogar, y muchos más. Es particularmente
popular en el ámbito de la educación y el desarrollo de proyectos de electrónica y
robótica debido a su facilidad de uso y la disponibilidad de herramientas de desarrollo y
documentación.

Figura 1. PIC16F877A

Objetivo General.

Pá gina 1
LICENCIATURA EN INGENIERÍA EN ELECTRÓNICA
MANUAL DE PRÁCTICAS DE DISEÑO ASISTIDO POR COMPUTADORA PARA LA INGENIERÍA

Objetivos Específicos.

● Investigar la historia del lenguaje ensamblador


● Desarrollar un programa para el arranque y paro de un motor
● Indagar en la estructura de programación para el pic16f877a

Reactivos/insumos, materiales/utensilios y equipos.

A) REACTIVOS/INSUMOS.

CANTIDAD DESCRIPCIÓN ESPECIFICACIONES OBS.

B) MATERIALES/UTENSILIOS.

CANTIDAD DESCRIPCIÓN ESPECIFICACIONES OBS.

C) EQUIPOS/INSTRUMENTOS.

CANTIDAD DESCRIPCIÓN ESPECIFICACIONES OBS.


1 PC

Marco Teórico

Lenguaje Ensamblador
El lenguaje ensamblador es un tipo de lenguaje de programación de bajo nivel que se
encuentra más cercano al lenguaje máquina que entienden las computadoras. En lugar
Pá gina 2
LICENCIATURA EN INGENIERÍA EN ELECTRÓNICA
MANUAL DE PRÁCTICAS DE DISEÑO ASISTIDO POR COMPUTADORA PARA LA INGENIERÍA

de utilizar palabras y frases que los humanos pueden entender fácilmente, como en los
lenguajes de alto nivel, el lenguaje ensamblador utiliza abreviaturas y códigos
mnemotécnicos que representan instrucciones básicas que la CPU (unidad central de
procesamiento) puede ejecutar directamente.
Cada instrucción en lenguaje ensamblador generalmente se traduce directamente a una
instrucción de máquina específica, lo que hace que sea muy eficiente en términos de
uso de recursos de hardware y rendimiento. Sin embargo, escribir programas en
lenguaje ensamblador puede ser más difícil y propenso a errores que en lenguajes de
alto nivel, debido a su naturaleza más cercana al hardware subyacente de la
computadora.
El lenguaje ensamblador se utiliza a menudo en situaciones donde se requiere un
control preciso del hardware, como en el desarrollo de sistemas integrados,
controladores de dispositivos, sistemas operativos y programas de rendimiento crítico.

A lo largo de los años, el lenguaje ensamblador ha evolucionado junto con la tecnología


de hardware, adaptándose a nuevas arquitecturas de procesadores y optimizaciones de
rendimiento, pero su esencia de proporcionar un nivel de abstracción cercano al
hardware subyacente ha permanecido constante. Podemos dividir la historia del
lenguaje ensamblador en decadas como se muestra a continuacion

● 1940: Durante esta época temprana de la informática, los primeros lenguajes de


programación de bajo nivel comenzaron a surgir. Aunque no se usaba el término
"ensamblador" en ese momento, los programadores escribían directamente en códigos
de máquina o códigos operacionales para interactuar con las primeras computadoras.

● 1950: Con la creciente complejidad de los programas y la necesidad de


simplificar la escritura de código para los programadores, los primeros lenguajes
ensambladores comenzaron a desarrollarse. Estos lenguajes ofrecían una forma más
legible y estructurada de interactuar con el hardware de la computadora, utilizando
mnemotécnicos para representar las instrucciones de máquina.

● 1960: Durante este período, los lenguajes ensambladores se estandarizaron y se


hicieron más ampliamente utilizados. Surgieron varios lenguajes ensambladores
específicos para diferentes arquitecturas de computadoras, como el IBM 360 Assembler
y el DEC PDP-11 Assembly Language.

● 1970: Se introdujeron mejoras en los lenguajes ensambladores, como macros y


directivas, que permitían una programación más modular y flexible. También se
desarrollaron ensambladores más sofisticados que optimizaban automáticamente el
código generado para mejorar el rendimiento.

● 1980: Con la proliferación de las computadoras personales, el lenguaje


ensamblador se utilizó ampliamente para programación de bajo nivel en estas
plataformas. Los programadores a menudo escribían rutinas críticas en lenguaje
ensamblador para mejorar el rendimiento de sus aplicaciones.
Pá gina 3
LICENCIATURA EN INGENIERÍA EN ELECTRÓNICA
MANUAL DE PRÁCTICAS DE DISEÑO ASISTIDO POR COMPUTADORA PARA LA INGENIERÍA

● De 1990 hasta la actualidad: A medida que los lenguajes de programación de


alto nivel se volvieron más potentes y accesibles, el uso del lenguaje ensamblador
disminuyó en muchos contextos. Sin embargo, sigue siendo importante en áreas donde
se requiere un control preciso del hardware o un rendimiento óptimo, como en el
desarrollo de sistemas integrados, controladores de dispositivos y sistemas operativos.

PIC16f877a
Es un microcontrolador de 8 bits fabricado por Microchip Technology, que forma parte
de la familia PIC (Peripheral Interface Controller). Este microcontrolador es ampliamente
utilizado en aplicaciones embebidas debido a su versatilidad, bajo consumo de energía
y amplia gama de periféricos integrados.

Características importantes del PIC16F877A:

• Arquitectura de 8 bits: El PIC16F877A tiene una arquitectura de procesador de 8


bits, lo que significa que puede manejar datos de hasta 8 bits a la vez.

• Memoria: Posee 14 KB de memoria de programa (Flash) para almacenar el


código del programa y 368 bytes de memoria RAM para almacenar datos en tiempo de
ejecución.

• Periféricos integrados: Incluye una variedad de periféricos integrados, como


módulos de comunicación serial (USART), interfaces de entrada/salida digital (GPIO),
temporizadores, módulos PWM (Pulse Width Modulation), conversores analógico-digital
(ADC) y más.

• Velocidad de operación: Puede funcionar a velocidades de hasta 20 MHz.

• Bajo consumo de energía: Diseñado para ser eficiente en términos de energía, lo


que lo hace adecuado para aplicaciones con requisitos de energía limitados.

• Encapsulado: Está disponible en varios encapsulados, incluyendo DIP (Dual In-


line Package) y QFP (Quad Flat Package).

Ventajas y desvantajas del PIC16f877a

Ventajas:
● Amplia gama de periféricos integrados: Viene con una variedad de periféricos
integrados que facilitan el desarrollo de sistemas embebidos complejos sin
necesidad de componentes externos adicionales.

● Facilidad de programación: Microchip proporciona un amplio conjunto de

Pá gina 4
LICENCIATURA EN INGENIERÍA EN ELECTRÓNICA
MANUAL DE PRÁCTICAS DE DISEÑO ASISTIDO POR COMPUTADORA PARA LA INGENIERÍA

herramientas de desarrollo, como MPLAB IDE y compiladores XC8, que facilitan


la programación y depuración del PIC16F877A.

● Bajo consumo de energía: Diseñado para operar con bajo consumo de energía,
lo que lo hace adecuado para aplicaciones alimentadas por baterías o donde se
requiere una gestión eficiente de la energía.

● Versatilidad: Con su arquitectura de 8 bits y una amplia gama de periféricos, el


PIC16F877A es versátil y se puede utilizar en una variedad de aplicaciones
diferentes, desde sistemas de control industrial hasta proyectos de electrónica de
consumo.

● Asequibilidad: Es relativamente económico en comparación con otros


microcontroladores de características similares, lo que lo hace atractivo para
proyectos de bajo presupuesto y para la educación.

Desventajas:
● Memoria limitada: Tiene una memoria limitada tanto para el programa como para
los datos, lo que puede ser restrictivo para aplicaciones que requieren un gran
volumen de código o almacenamiento de datos.

● Arquitectura de 8 bits: Aunque la arquitectura de 8 bits es adecuada para muchas


aplicaciones, puede no ser la mejor opción para proyectos que requieran un
procesamiento de datos muy intensivo o precisión numérica.

● Limitaciones de velocidad: Aunque puede operar a velocidades de hasta 20 MHz,


esta velocidad puede no ser suficiente para aplicaciones que requieran un
procesamiento muy rápido.

● No tan fácilmente escalable: Aunque es un microcontrolador versátil, su


capacidad y recursos son limitados en comparación con microcontroladores de
16 o 32 bits, lo que puede dificultar la escalabilidad de algunos proyectos.

● Competencia: Existe una amplia competencia en el mercado de


microcontroladores, con otras marcas como AVR de Atmel (ahora parte de
Microchip), STM32 de STMicroelectronics, entre otros, ofreciendo alternativas
que pueden ser igualmente adecuadas para ciertas aplicaciones.

Pá gina 5
LICENCIATURA EN INGENIERÍA EN ELECTRÓNICA
MANUAL DE PRÁCTICAS DE DISEÑO ASISTIDO POR COMPUTADORA PARA LA INGENIERÍA

● En resumen, el PIC16F877A es un microcontrolador versátil y confiable que


ofrece una variedad de ventajas para una amplia gama de aplicaciones
embebidas, pero también tiene algunas limitaciones que deben considerarse al
seleccionarlo para un proyecto específico.
Desarrollo de la Actividad Práctica.

1. Determina la lógica que seguirá tu programa desarrollando un diagrama de flujo

Pá gina 6
LICENCIATURA EN INGENIERÍA EN ELECTRÓNICA
MANUAL DE PRÁCTICAS DE DISEÑO ASISTIDO POR COMPUTADORA PARA LA INGENIERÍA

2. Con base a el diagrama de flujo y utilizando el software MPLAB X IDE escribe en


lenguaje ensamblador el programa para el arranque y paro del un motor

Pá gina 7
LICENCIATURA EN INGENIERÍA EN ELECTRÓNICA
MANUAL DE PRÁCTICAS DE DISEÑO ASISTIDO POR COMPUTADORA PARA LA INGENIERÍA

3. Simular el circuito en Proteus o el software de diseño electrónico de su


preferencia.
Pá gina 8
LICENCIATURA EN INGENIERÍA EN ELECTRÓNICA
MANUAL DE PRÁCTICAS DE DISEÑO ASISTIDO POR COMPUTADORA PARA LA INGENIERÍA

4. Verificar el funcionamiento del circuito

Conclusión

Conocer el PIC16F877A es importante no solo por sus características técnicas y


capacidades, sino también por su relevancia histórica, su amplia adopción y su papel
en la educación y la comunidad de aficionados a la electrónica. Dominar este
microcontrolador puede abrirte las puertas a una amplia gama de oportunidades en el
campo de la programación embebida y la electrónica.

Bibliografía.

1. González, A. H. (2017). Lenguaje ensamblador.


2. Lozano Pérez, M. Á. (2014). Guía rápida de MPLAB X V2. 01.
3. Imas González, J. J. (2017). Proyectos electrónicos con microcontrolador PIC16F877A

Pá gina 9

También podría gustarte