lab1-Arquitectura PIC16F877

sadDescripción completa

Views 138 Downloads 52 File size 221KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PROGRAMACIÓN DE MICROCONTROLADORES Laboratorio N°1 Arquitectura e información del PIC16877 INFORME

-

Integrantes: Figueroa Pacheco, Jesús Godiño Rojas, Raúl Quintana García, Jeysson Yabeta Eguiluz, Kenji Sección: C15 - 05 - A Profesor:

Mendiola Mogollón, Carlos Enrique Fecha de realización: 11 de marzo Fecha de entrega: 19 de marzo 2014-I Contenido Pág. Contenido...........................................................................................................................02

ARQUITECTURA E INFORMACIÓN DEL PIC16F877 Microcontroladores............................................................................................................03 Objetivos............................................................................................................................03 Marco teórico.....................................................................................................................03 Equipos y Materiales.........................................................................................................04 Procedimiento....................................................................................................................04 Conclusiones......................................................................................................................06 Aplicación de lo aprendido................................................................................................07 Referencias bibliográficas.................................................................................................07

Microcontroladores

2

ARQUITECTURA E INFORMACIÓN DEL PIC16F877 Los PICs constituyen en la actualidad una forma de proveer inteligencia a equipos o sistemas para un mejor desempeño de los mismos. Esta alternativa de automatización se encuentra prácticamente a la mano pues la información y herramientas de desarrollo son, en cierta medida, proporcionadas por el fabricante. El campo de acción de los PICs va desde la activación o desactivación de entradas o salidas en general hasta el procesamiento digital de señales pasando por aplicaciones especificas como la conversión A/D, modulación PWM y muchas más. Objetivos   

Diferenciar las arquitecturas de diseño de los PICs. Identificar los diferentes bloques funcionales de los PICs. Utilizar manuales del fabricante.

Marco teórico El PIC16F877 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 luz ultravioleta como las versiones EPROM, sino que permite reprogramarlo nuevamente sin ser borrado con anterioridad. El PIC16F877 es un microcontrolador fabricado por Microchip Technology con 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 para este microcontrolador es el DIP (Dual In-line Pin) de 40 pines, propio para usarlo en experimentación. La referencia completa es PIC16F877-04 para el dispositivo que utiliza cristal oscilador de hasta 4 MHz, PIC16F877-20 para el dispositivo que utiliza cristal oscilador de hasta 20 MHz o PIC16F877A-I para el dispositivo tipo industrial que puede trabajar hasta a 20 MHz. Sin embargo, hay otros tipos de encapsulado que se pueden utilizar según el diseño y la aplicación que se quiere realizar. Por ejemplo, el encapsulado tipo surface mount (montaje superficial) tiene un reducido tamaño y bajo costo, que lo hace propio para producciones en serie o para utilizarlo en lugares de espacio muy reducido.

Figura 1. Pines del PIC16F877a. Equipos y Materiales

3

ARQUITECTURA E INFORMACIÓN DEL PIC16F877    

Computadora Proyector Multimedia Texto del curso Manual del Fabricante

Procedimiento 1. Haciendo uso del manual de Microchip para el PIC16F877, responda lo siguiente: a) ¿Qué arquitectura posee? Posee una arquitectura HARVARD(RISC) b) ¿Cuántas instrucciones tiene? Tiene 35 instrucciones c) ¿A que velocidad trabaja? Trabaja a una velocidad de 20MHz clock input y 200ns instruction cycle d) ¿Cómo esta compuesta su memoria? Esta compuesta por 2 memorias una de programación las cuales son: Hasta 8K palabras de 14 bits para la Memoria de Programa, tipo FLASH en los modelos 16F876 y 16F877 también 4KB de memoria para los PIC 16F873 y 16F874. Hasta 368 Bytes de memoria de Datos RAM. e) ¿Cuántas interrupciones maneja? Posee 13 fuentes de interrupciones. Al aceptarse una interrupción se salva el valor del PC (contador de programa) en la pila y se carga aquel con el valor 0004h, que es el Vector de Interrupción. La mayoría de los recursos o periféricos de que disponen los Pic16F87x son capaces de ocasionar una interrupción, si se programan adecuadamente los bits de los registros que pasamos a describir a continuación. f) ¿De cuantos niveles es su STACK? Su STACK es de 8 niveles. g) ¿Cuántos modos de direccionamiento soporta? Soporta tres niveles de instrucciones las cuales son las siguientes:  Operaciones orientadas a Byte (Byte-oriented).  Operaciones orientadas a bit (Bit-oriented).  Operaciones Literales y control. En relación a sus periféricos, responda lo siguiente: h) ¿Cuántos timers posee? Tiene 3 timers.  Timer0: Temporizador-contador de 8 bits con preescaler de 8 bits.  Timer1: Temporizador-contador de 16 bits con preescaler que puede incrementarse en modo sleep de forma externa por un cristal/clock.  Timer2: Temporizador-contador de 8 bits con postscaler.

i) ¿Cuántos módulos PWM implementa? 4

ARQUITECTURA E INFORMACIÓN DEL PIC16F877 Posee 2 módulos de Captura, Comparación, PWM (Modulación de Ancho de Pulsos). j) ¿Cuántos convertidores A/D posee? Posee 8 Conversores A/D de 10 bits k) ¿Cuántos módulos de comunicación posee? Posee 3 módulos de comunicación 2 seriales MSSP, USART y 1 paralela PSP. 2. Observe el diagrama de bloques de PIC16F877 y responda lo siguiente: a) ¿Cuántos bits posee el puerto A? Tiene 6 bits. b) ¿De cuantos bits es su bus de datos? El bus de datos es de 8 bits. c) ¿Cuántos bits tiene una instrucción? Una instrucción tiene 14 bits de longitud. Todas ellas se ejecutan en un ciclo de instrucción, menos las de salto que tardan dos. d) ¿Cuál es la función de registro STATUS? Registro de 8 bits, cada uno de sus bits (denominados Banderas) es un indicador de estado de la CPU o del resultado de la última operación. e) ¿Cual es la función de registro W? También conocido como working register, es un registro de 8 bits su función es reescribir desde el exterior y que se puede leer en cualquier momento yaqué se puede acceder a el desde cualquier banco de memoria. f) ¿Cuál es la función ALU? ALU es la Unidad Lógica Aritmética que Funciona como un operando de cualquier instrucción. 3. Busque en el manual la distribución de los registros internos del PIC16F877 y responda lo siguiente: a) ¿Cuántos bancos posee? Tiene 4 bancos. b) ¿Cuántos registros de funciones especiales existen en el banco 0? En cada banco hay 7Fh posiciones de memoria (128 bytes). Las posiciones más bajas están, reservadas para los Registros de Funciones Especiales. c) ¿Cuál es la dirección de registro STATUS? La dirección del registro STATUS es 03h, 83h, 103h y 183h. d) ¿Cuántos registros de propósitos generales existen en el banco 0? Por encima de los Registros de Funciones Especiales se encuentran los Registros de Propósito General, que se utilizan como posiciones de memoria RAM estática. Todos están estructurados en bancos. Algunos Registros de Funciones Especiales están reflejados en varios bancos para reducir el código y tener un acceso más rápido. e) ¿Cuál es la dirección de registro TRISA? La dirección del registro TRISA es 85h.

5

ARQUITECTURA E INFORMACIÓN DEL PIC16F877 4. Busque en el manual el set de distribución del PIC16F877 y responda lo siguiente: a) ¿En cuantos tipos de instrucción se puede agrupar? Se agrupan en 3 tipos de instrucción que va de acuerdo al número de bits de su bus de instrucciones:  Existen algunas excepciones, como el PIC16C5X que maneja 33 instrucciones de 12 bits (posee empaquetados de 18 y 28 pines y se energiza con 2.5 volts)  Algunos autores manejan una “gama enana” consistente en los PIC12C508 y PIC12C509 en empaque de 8 patitas y con un bus de instrucciones de 12 o de 14 bits. b) ¿Cuál es la diferencia entre un mnemónico y un operando? La diferencia es que mnemónico son instrucciones para la maquina y el operando para las direcciones. c) ¿Qué es un Opcode? Código de operación, es la porción de una instrucción de lenguaje de máquina que especifica la operación a ser realizada. Su especificación y formato serán determinados por la arquitectura del conjunto de instrucciones (ISA) del componente de hardware de computador - normalmente un CPU, pero posiblemente una unidad más especializada. d) ¿Cuántos ciclos de instrucción utiliza CALL? La instrucción CALL utiliza 2 ciclos. e) ¿Qué bit de registro STATUS activa la instrucción CLRF? El bit que activa el registro STATUS es RP0. Conclusiones 

Con la ayuda de la tabla 1 de la aplicación de lo aprendido se pudo diferenciar la arquitectura de diseño del microcontrolador PIC16F877.



Gracias al manual del microcontrolador se pudo diferenciar los bloques respecticos del PIC16F877.



El uso del manual del fabricante facilito la tarea para poder responder las preguntas planteadas.

6

ARQUITECTURA E INFORMACIÓN DEL PIC16F877

Aplicación de lo aprendido

FLASH RAM ROM EEPROM PUERTOS I/O OSCILADOR TIEMPO DE INSTRUCCIÓN ARQUITECTURA REGISTROS DE TRABAJO USART SPI ADC

MICROCHIP PIC16F877 14 KBytes 368 14.3 KBytes 256 Bytes 33 Externo 20 MHz

ARDUINO ATMEGA328 32 KBytes 2KBytes 1 512 Bytes 32 16 MHz

4/8 circl. Reloj

ATMEL ATMEGA 16 16 KBytes 1024 16 KBytes 512 Bytes 32 Interno 8 MHz Externo 16 MHz 1-5 circl. Reloj

RISC 1

RISC 32

RISC -

Si Si 8 Canales 10 bits No No Activo 13

Si Si 8 Canales 10 bits Si Si Activo 18

Si Si 8 Canales 10 bits Si Si Activo -

-

JTAG MULTIPLICADOR ESTADO Fuentes de Interrupción Instrucciones 35 35 Tecnología de CMOS CMOS CMOS fabricación Paquetes DIP DIP DIP Tabla 1. Cuadro comparativo entre Microchip, ATMEL, ARDUINO. Referencias bibliográficas   

www.microchip.com http://ww1.microchip.com/downloads/en/DeviceDoc/39582b.pdf http://www.atmel.com/

7

ARQUITECTURA E INFORMACIÓN DEL PIC16F877

8