Reporte 01 - 3 Practicas - Circuit Maker y Programación en Ensamblador con el PIC16F84 PDF

Title Reporte 01 - 3 Practicas - Circuit Maker y Programación en Ensamblador con el PIC16F84
Course Microprocesadores
Institution Universidad Autónoma de Zacatecas
Pages 26
File Size 1.6 MB
File Type PDF
Total Downloads 41
Total Views 140

Summary

Practica No. 1 – Simulación en Circuit Maker
Practica No. 2 y 3 – Programación en Ensamblador con el PIC16F84 [Simulación]
...


Description

UNIVERSIDAD AUTÓNOMA DE ZACATECAS “Francisco García Salinas”

Unidad Académica de Ingeniería Eléctrica Programa de Ingeniería en Computación. Laboratorio de Microprocesadores.

Reporte No. 1 Practica No. 1 – Simulación en Circuit Maker Practica No. 2 – Programación en Ensamblador #1 con el PIC16F84 [Simulación] Practica No. 3 – Programación en Ensamblador #2 con el PIC16F84 [Simulación] Alumno: Matricula:

Docente – Investigador

M. en C. José Manuel Cervantes Viramontes

Zacatecas, Zac., 27 de Febrero de 2017

Índice Índice.................................................................................................................................................... 2 Practica No. 1 – Simulación en Circuit Maker...........................................................4 1.1.

Introducción...........................................................................................................................4

1.1.1.

Circuitos Integrados.......................................................................................................4

1.1.2.

74181 .............................................................................................................................. 4

1.1.3.

74374 .............................................................................................................................. 5

1.1.4.

74244 .............................................................................................................................. 5

1.2.

Desarrollo............................................................................................................................... 6

1.2.1.

Simulación del 74181..................................................................................................... 6

1.2.1.1.

Resultados de la Simulación................................................................................... 7

1.2.1.2.

Conclusión.............................................................................................................. 8

1.2.2.

Simulación del 74274..................................................................................................... 9

1.2.2.1.

Resultados de la Simulación................................................................................... 9

1.2.2.2.

Conclusiones.......................................................................................................... 9

1.2.3.

Simulación del 74374................................................................................................... 10

1.2.3.1. 1.3.

Resultados de la simulación.................................................................................. 10

Conclusiones Finales – Práctica 1........................................................................................ 10

Práctica 2 – Programación en Ensamblador #1 con el PIC16F84 [Simulación]....11 2.1.

Introducción......................................................................................................................... 11

2.1.1.

Microcontrolador.......................................................................................................... 11

2.1.1.

Microcontrolador PIC16F84......................................................................................... 12

2.1.1.1. 2.2.

Desarrollo............................................................................................................................. 13

2.2.1.

Primer Programa.......................................................................................................... 13

2.2.1.1.

Simulación del programa...................................................................................... 14

2.2.1.1.

Conclusiones Programa 1.....................................................................................16

2.2.2.

2.3.

Características del microcontrolador.................................................................... 12

Programa 2................................................................................................................... 16

2.2.2.1.

Simulación del programa...................................................................................... 17

2.2.2.2.

Conclusiones Programa 2..................................................................................... 17

Conclusiones – Practica 2..................................................................................................... 17

Práctica 3 -Programación en Ensamblador #2 con el PIC16F84 [Simulación]......18

3.1.

Programa 1........................................................................................................................... 18

3.1.1.

Simulación del programa.............................................................................................. 19

3.1.2.

Conclusiones................................................................................................................ 19

3.2.

Programa 2........................................................................................................................... 20

3.2.1.

Simulación del programa.............................................................................................. 21

3.2.2.

Conclusiones del programa.......................................................................................... 21

3.3.

Programa 3........................................................................................................................... 22

3.4.

Programa 4........................................................................................................................... 23

3.4.1.

Simulación del programa.............................................................................................. 24

3.4.2.

Conclusiones del programa.......................................................................................... 24 Conclusiones Finales.................................................................................................. 24

Practica No. 1 – Simulación en Circuit Maker Para la práctica no. 1 se pide investigar y simular los siguientes circuitos en la herramienta Circuit Maker: *74181

1.1.

*74244

*74125

Introducción

1.1.1.

Circuitos Integrados

Un circuito integrado (CI), también conocido como chip, microchip, es una estructura de pequeñas dimensiones de material semiconductor, normalmente silicio, de algunos milímetros cuadrados de área, está protegido dentro de un encapsulado de plástico o de cerámica. Los CI se hicieron posibles gracias a descubrimientos experimentales que mostraban que artefactos semiconductores podían realizar las funciones de los tubos de vacío. Los CI tienen dos principales ventajas sobre los circuitos discretos: costo y rendimiento. El bajo costo es debido a los chips; ya que posee todos sus componentes impresos en una unidad de fotolitografía en lugar de ser construidos un transistor a la vez. Más aún, los CI empaquetados usan mucho menos material que los circuitos discretos. El rendimiento es alto ya que los componentes de los CI cambian rápidamente y consumen poco poder (comparado sus contrapartes discretas) como resultado de su pequeño tamaño y proximidad de todos sus componentes. Los circuitos integrados son usados en prácticamente todos los equipos electrónicos hoy en día, y han revolucionado el mundo de la electrónica. Computadoras, teléfonos móviles, y otros dispositivos electrónicos que son parte indispensables de las sociedades modernas, son posibles gracias a los bajos costos de los circuitos integrados.

1.1.2. 74181 El 74181 es una unidad aritmético lógica (ALU) bit slice implementada como un circuito integrado TTL de la serie 7400. Fue la primera ALU completa en un simple chip. Fue utilizado como el núcleo aritmético/lógico en los CPU de muchos minicomputadores históricamente significativos y en otros dispositivos. En la figura 1 se muestra la disposición de los pines, mientras que en la figura 2 se muestra la tabla de funcionamiento de este circuito integrado. Figura 1. Disposición de pines del 74181

4

Figura 2. Tabla de Funcionamiento del 74181

1.1.3. 74374 El circuito integrado 74374 es un registro de 8 latches tipo D con salida tri-estado. Tiene 2 entradas de control, el pin 1 OE es activo por nivel bajo, eso quiere decir que cuando tengamos este pin a nivel alto los pines de salida (1Q...8Q) están en el estado de alta impedancia, como si no estuvieran conectados.

INP UT / OE H L

El 74374 realiza la carga de los latches se realiza por el flanco ascendente de la señal de reloj.

OUTP UT

LE

D

Q

X L H

X X L

Z Sin Cambio

Figura 3. Tabla de Verdad del 74373

En la figura 3 se observa la tabla de la verdad donde están todas las combinaciones para este circuito.

1.1.4. 74244 El circuito integrado 74244 es un buffer tri-estado de 8 entradas y 8 salidas. Tiene 2 entradas de control activas por nivel bajo que activan el circuito en dos grupos de 4 entradas. Se utiliza para conectar varios circuitos o chips a un mismo bus sin que se interfieran entre sí. Por ejemplo 3 dispositivos conectados a un bus, no pueden estar los tres transmitiendo. Con lo que mientras uno utiliza el bus depositando en el 1’s y 0’s (nivel alto H, o nivel bajo L) los otros dos deben estar en alta impedancia (3er estado).

OUTP UT

INPU T

/ G L H

Figura 4. Diagrama del 74244

1.2.

A

Y

L

L

H

H

Figura 5. Tabla de Verdad del 74244

Desarrollo

La creación de circuitos en el programa Circuit Maker es bastante sencilla, dado que la gran mayoría de dispositivos electrónicos existentes se encuentran dentro del programa, solo es necesario buscar el circuito necesario y arrastrarlo hacia el área de diseño, y dentro de esta área solo es cuestión de unir los circuitos mediantes cables.

1.2.1. Simulación del 74181 En la figura 6 se muestra el circuito creado en Circuit Maker para realizar su simulación. De acuerdo a la figura 2 presentada anteriormente, este circuito puede realizar múltiples operaciones, tanto aritméticas como lógicas, en base a esto se realizara la simulación y se comprobara el correcto funcionamiento de este circuito. En el circuito diseñado, con las entradas S podemos seleccionar la operación a realizar, las entradas A representan el dato A, mientras las entradas B corresponden al dato B, En la figura 7 se muestra una tabla con las operaciones que se realizaran y el resultado esperado, esto teniendo en cuenta que el dato A = 0101 mientras el dato B = 0011.

Operaciones a Realizar

/A / (A+ B) AB A/B A PLUS A/B A MIN B

Figura 6. Circuito desarrollado en Circuit Maker

Resultado Esperado 1010 1000 0001 0100 1001 0001 1000

Figura 7. Tabla con las Operaciones a Realizar

1.2.1.1. Resultados de la Simulación A continuación se muestran figuras con las simulaciones hechas, esto en base a la tabla escrita anteriormente:

Figura 8. Resultado de la operación /A

Figura 9. Resultado de la operación /(A+B)

Figura 10. Resultado de la operación AB

Figura 11. Resultado de la operación A/B

Figura 12. Resultado de la operación A PLUS A/B

Figura 13. Resultado de la operación A MIN B MIN

Figura 14. Resultado de la operación A PLUS B

1.2.1.2. Conclusión Como se observa, los resultados obtenidos en la simulación son iguales a los mostrados en la tabla, por lo que podemos decir que la simulación funciona correctamente.

1.2.2. Simulación del 74274 En la figura 15 se muestra el circuito creado en Circuit Maker para realizar su simulación. Para simplificar el funcionamiento del circuito se puede decir que este deja pasar el dato en la entrada en

base a otra entrada, de forma que solo se muestra el dato en la salida cuando la entrada de habilitación está en 0.

Figura 15. Circuito diseñado para el 74274

1.2.2.1. Resultados de la Simulación A continuación se muestran imágenes de la simulación en funcionamiento.

Figura 16. Simulación del 74274

Figura 17. Simulación del 74274

1.2.2.2. Conclusiones Como se observa en las imágenes, podemos ver en la figura 16 que tenemos datos en ambas entradas y se muestran como tal en la salida, pero en la figura 17 no se muestran, esto se debe a que los switches V1 y V2 (en este caso) se encuentran en 1, lo que evita la salida del dato de entrada, permitiéndonos comprobar el funcionamiento del circuito. En la figura 18 se muestra el circuito creado en Circuit Maker para realizar su simulación. 1.2.3. Simulación del 74374

Para simplificar el funcionamiento del circuito se puede decir que este deja pasar el dato en la entrada de 8 bits con la activación de otra entrada, aunque la ventaja de este circuito es que puede tener 3 diferentes datos al mismo tiempo, uno seria la entrada, otro el que se guarda dentro de este, y el último el que se muestra en la salida.

1.2.3.1. Resultados de la simulación

Figura 18. Circuito para el 74374

Figura 19. Simulación del 74374

1.3.

Figura 18. Simulación del 74374

Conclusiones Finales – Práctica 1

Los 3 circuitos funcionaron como se esperaba, permitiéndonos comprobar cómo es que realmente funcionan estos circuitos, además de comprobar el funcionamiento del simulador de Circuit Maker.

Práctica 2 – Programación en Ensamblador #1 con el PIC16F84 [Simulación] Para esta práctica se pide realizar 2 programas para el PIC16F84, haciendo uso de los programas MPLab y Proteus Isis 7:  

Programa que convierta la entrada del circuito a BCD Programa que lea la entrada A 0, y en base a esta prender 4 u 8 leds.

2.1.

Introducción

2.1.1. Microcontrolador Un microcontrolador es un circuito integrado que en su interior contiene una unidad central de procesamiento (CPU), unidades de memoria (RAM y ROM), puertos de entrada y salida y periféricos. Estas partes están interconectadas dentro del microcontrolador, y en conjunto forman lo que se le conoce como microcomputadora.

Figura 2.1. Estructura de un Microcontrolador

El propósito fundamental de los microcontroladores es el de leer y ejecutar los programas que el usuario escribe, es por esto que la programación es una actividad básica e indispensable cuando se diseñan circuitos y sistemas que los incluyan. El carácter programable de los microcontroladores simplifica el diseño de circuitos electrónicos. Permiten modularidad y flexibilidad, ya que un mismo circuito se puede utilizar para que realice diferentes funciones con solo cambiar el programa del microcontrolador. Los microcontroladores están diseñados para interpretar y procesar datos e instrucciones en forma binaria, esta forma de representación de datos resulta dificultosa y tediosa. Es por esto que la programación comúnmente se lleva a cabo en un lenguaje de alto nivel. Las sentencias de los lenguajes de alto nivel facilitan enormemente la programación ya que son familiares a nuestra manera de comunicarnos. Lenguajes como el C o BASIC son comúnmente utilizados en la programación de microcontroladores. Otro tipo de lenguaje más especializado es el lenguaje ensamblador. El lenguaje ensamblador es una lista con un limitado número instrucciones a los cuales puede responder un microcontrolador. Estas instrucciones son palabras o abreviaciones que representan las instrucciones en lenguaje máquina del microcontrolador.

Las instrucciones en lenguaje ensamblador, también conocidas como nemotécnicos, son fáciles de entender y permiten operar directamente con los registros de memoria así como con las instrucciones intrínsecas del microcontrolador. Es por esto que el lenguaje ensamblador es sin lugar a dudas el lenguaje por excelencia en la programación de microcontroladores, ya que permite hacer un uso eficiente de la memoria y minimizar el tiempo de ejecución de un programa.

2.1.1. Microcontrolador PIC16F84 El PIC16F84 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 de borrado con luz ultravioleta como las versiones EPROM sino, permite reprogramarlo nuevamente sin ser borrado con anterioridad. En la figura 2.2 podemos observar la distribución de los pines en un PIC16F84A.

Figura 2.2. Pines de un PIC16F84A

2.1.1.1. Características del microcontrolador A continuación se muestran unas cuantas características a tomar cuenta de este microcontrolador. 

 

  



Está basado en una arquitectura tipo Harvard que posee buses y espacios de memoria por separado para el programa y los datos, lo que hace que sean más rápidos que los microcontroladores basados en la arquitectura tradicional de Von Neuman. Un juego de instrucciones reducido (35 instrucciones) RISC, donde la mayoría se ejecutan en un solo ciclo de reloj excepto las instrucciones de salto que necesitan dos. Posee una ALU (Unidad Aritmético Lógica) de 8 bits capaz de realizar operaciones de desplazamientos, lógicas, sumas y restas. Posee un Registro de Trabajo (W) no direccionable que usa en operaciones con la ALU. Dependiendo de la instrucción ejecutada, la ALU puede afectar a los bits de Acarreo, Acarreo Digital (DC) y Cero (Z) del Registro de Estado (STATUS). La pila es de 8 niveles. No existe ninguna bandera que indique que esté llena, por lo que será el programador el que deberá controlar que no se produzca su desbordamiento. Este microcontrolador posee características especiales para reducir componentes externos con lo que se reducen los costos y se disminuyen los consumos. Posee 4 diferentes modos de oscilador, desde el simple circuito oscilador RC con lo que se disminuyen los costos hasta la utilización de un oscilador a cristal. En el modo SLEEP el consumo se reduce significativamente y puede ‘despertarse’ al microcontrolador utilizando tanto interrupciones internas como externas y señal de reset. Además posee la función Watchdog Timer (Perro Guardián) que protege al micro de ‘cuelgues’ debido a fallos software que produzcan bucles infinitos.

2.2.

Desarrollo

2.2.1. Primer Programa El programa a realizar debe convertir la entrada del circuito a BCD, para esto se usó como base el siguiente diagrama de flujo. Inicio

Leer dato de entrada Dato = Dato – 10 Decenas = Decenas+1

Dato < 0

NO

SI Dato = Dato + 10 Decenas = Decenas-1

Combinar los dos datos: (Swap Decenas) + Dato

FIN

Mostrar en la salida el resultado

En base al diagrama de flujo se realizó la programación en ensamblador. En el programa se definen 2 variables, una para guardar las decenas (DEC) y otra para guardar las unidades (UNI),...


Similar Free PDFs