Sunteți pe pagina 1din 9

PROGRAMACIN DE MICROCONTROLADORES Laboratorio N1 Arquitectura e Informacin del PIC16F877

INFORME Integrantes: Montejo Mariluz, Alexander Ortiz Sandy, Marilyn Yupanqui Palomino, Orlando Seccin: C15-05-A Profesor: Mendiola Mogolln, Carlos

Fecha de Realizacin: 11 de Marzo Fecha de Entrega: 19 de Marzo

Tecsup Electrnica y Automatizacin Industrial Lima 2014 I

FUNDAMENTO TERICO 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 de Microchip Technology fabricado en tecnologa CMOS, su consumo de potencia es muy bajo y adems es completamente esttico, esto quiere decir que el reloj puede detenerse y los datos de la memoria no se pierden. El encapsulado ms comn para este microcontrolador es el DIP (Dual In-line Pin) de 40 pines, propio para usarlo en experimentacin. 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 segn el diseo y la aplicacin que se quiere realizar.

Descripcin de los Pines del PIC


Nombre del Pin RA0/AN0 RA1/AN1 RA2/AN2 Vref RA3/AN3/Vref + RA4/T0CKI RA5/SS/AN4 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT VDD VSS MCLR OSC1/CLKIN OSC2/CLKOUT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 RE0/RD/AN5 RE1/WR/AN6 RE2/CS/AN7 #Pin 2 3 4 5 6 7 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 11, 32 12, 31 1 13 14 19 20 21 22 27 28 29 30 8 9 10 Descripcin E/S Digital o Entrada anloga 0. E/S Digital o Entrada anloga 1. E/S Digital o Entrada anloga 2. E/S Digital o Entrada anloga 3. Bit 4 del puerto A (E/S bidireccional). Tambin se usa como entrada de reloj al temporizador/contador TMR0. Salida de colector abierto. E/S Digital o Entrada anloga 4. Tambin lo usa el puerto serial sncrono. Bit 0 del puerto B (E/S bidireccional). Buffer E/S: TTL/ST. Tambin se usa como entrada de interrupcin externa (INT). Bit 1 del puerto B (E/S bidireccional). Buffer E/S: TTL Bit 2 del puerto B (E/S bidireccional). Buffer E/S: TTL Bit 3 del puerto B (E/S bidireccional). Buffer E/S: TTL (Programacin en bajo voltaje) Bit 4 del puerto B (E/S bidireccional). Buffer E/S: TTL Interrupcin por cambio del pin. Bit 5 del puerto B (E/S bidireccional). Buffer E/S: TTL Interrupcin por cambio del pin. Bit 6 del puerto B (E/S bidireccional). Buffer E/S: TTL Interrupcin por cambio del pin. Entrada de reloj para programacin serial. Bit 7 del puerto B (E/S bidireccional). Buffer E/S: TTL Interrupcin por cambio del pin. Entrada de datos para programacin serial. E/S Digital. Salida del oscilador Timer 1 o entrada de reloj Timer 1. E/S Digital. Entrada del oscilador Timer 1. Entrada Captura 2; Salida Compara 2; Salida PWM 2 E/S Digital. Entrada Captura 1; Salida Compara 1; Salida PWM 1 E/S Digital. Lnea de reloj serial asncrono en el modo SPI y el modo IC E/S Digital. Lnea de datos en el modo SPI o en el modo IC E/S Digital. E/S Digital. Transmisin asncrona (USART) o reloj sncrono (SSP). E/S Digital. Recepcin asncrona (USART) o lnea de datos (SSP). Voltaje de alimentacin DC (+) Referencia de voltaje (GND). Entrada de RESET al microcontrolador. Voltaje de entrada durante la programacin. En nivel bajo resetea el microcontrolador. Entrada oscilador cristal oscilador / Entrada fuente de reloj externa. Salida oscilador cristal. Oscilador RC: Salida con un frecuencia OSC1 E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser pin de lectura (read) en modo microprocesador. E/S Digital. Puede ser pin de escritura (write) en modo microprocesador. E/S Digital. Puede ser pin de seleccin de chip (chip select) en modo microprocesador.

Los pines de entrada/salida de este microcontrolador estn organizados en cinco puertos, el puerto A con 6 lneas, el puerto B con 8 lneas, el puerto C con 8 lneas, el puerto D con 8 lneas y el puerto E con 3 lneas. Cada pin de esos puertos se puede configurar como entrada o como salida independiente programando un par de registros diseados para tal fin. En ese registro un bit en "0" configura el pin del puerto correspondiente como salida y un bit en "1" lo configura como entrada. Dichos pines del microcontrolador tambin pueden cumplir otras funciones especiales, siempre y cuando se configuren paralelo.

Los pines del puerto A y del puerto E pueden trabajar como entradas para el convertidor Anlogo a Digital interno, es decir, all se podra conectar una seal proveniente de un sensor o de un circuito analgico para que el microcontrolador la convierta en su equivalente digital y pueda realizar algn proceso de control o de instrumentacin digital. El pin RB0/INT se puede configurar por software para que funcione como interrupcin externa, para configurarlo se utilizan unos bits de los registros que controlan las interrupciones. El pin RA4/TOCKI del puerto A puede ser configurado como un pin de entrada/salida o como entrada del temporizador/contador. Cuando este pin se programa como entrada digital, funciona como un disparador de Schmitt (Schmitt trigger), puede reconocer seales un poco distorsionadas y llevarlas a niveles lgicos (cero y cinco voltios). Cuando se usa como salida digital se comporta como colector abierto (open collector), por lo tanto, se debe poner una resistencia de pull-up (resistencia externa conectada a un nivel de cinco voltios). Como salida, la lgica es inversa: un "0" escrito al pin del puerto entrega en el pin un "1" lgico. Adems, como salida no puede manejar cargas como fuente, slo en el modo sumidero. El puerto E puede controlar la conexin en modo microprocesador con otros dispositivos utilizando las lneas RD (read), WR (write) y CS (chip select). En este modo el puerto D funciona como un bus de datos de 8 bits (pines PSP). La mxima capacidad de corriente de cada uno de los pines de los puertos en modo sumidero (sink) o en modo fuente (source) es de 25 mA. La mxima capacidad de 4

corriente total de los puertos es:

El consumo de corriente del microcontrolador para su funcionamiento depende del voltaje de operacin, la frecuencia y de las cargas que tengan sus pines. Para un oscilador de 4 MHz el consumo es de aproximadamente 2 mA; aunque este se puede reducir a 40 microamperios cuando se est en el modo sleep (en este modo el micro se detiene y disminuye el consumo de potencia). Se sale de ese estado cuando se produce alguna condicin especial que veremos ms adelante.

Arquitectura interna del microcontrolador


La figura se muestra la arquitectura general del PIC16F877, en ella se pueden apreciar los diferentes bloques que lo componen y la forma en que se conectan. Se muestra la conexin de los puertos, las memorias de datos y de programa, los bloques especiales como el watchdog, los temporizadores de arranque, el oscilador, etc. Todos los elementos se conectan entre s por medio de buses. Un bus es un conjunto de lneas que transportan informacin entre dos o ms mdulos. Vale la pena destacar que el PIC16F877 tiene un bloque especial de memoria de datos de 256 bytes del tipo EEPROM, adems de los dos bloques de memoria principales que son el de programa y el de datos o registros. El PIC16F877 se basa en la arquitectura Harvard, en la cual el programa y los datos se pueden trabajar con buses y memorias separadas, lo que posibilita que las instrucciones y los datos posean longitudes diferentes. Esta misma estructura es la que permite la superposicin de los ciclos de bsqueda y ejecucin de las 5

instrucciones, lo cual se ve reflejado en una mayor velocidad del microcontrolador.

PROCEDIMINETO 1. Haciendo uso del manual de Microchip para el PIC16F877, responda lo siguiente: a) Qu arquitectura posee? - RISK (Reduced Instruction Set Computer). b) Cuntas instrucciones tiene? - Tiene 35 instrucciones. c) A qu velocidad trabaja? - Hasta 20Mhz (Ciclo de instruccin de 200ms). d) Cmo est compuesta su memoria? - Por EEPROM Flash, SRAM y EEPROM. e) Cuntas interrupciones maneja? - Maneja 15 interrupciones. f) De cuntos niveles es su stack? - De 8 niveles de profundidad. g) Cuntos modos de direccionamiento soporta? - 3 modos (Direct, Indirect y Relative Addressing Mode). En relacin a sus perifricos, responda los siguientes: h) Cuntos timers tiene? - Posee 3 timers. i) Cuantos mdulos PWM implementa? - Contienes 2 mdulos PWM. j) Cuantos convertidores A/D posee? - Tiene un convertidor A/D de10 bits. k) Cuntos mdulos de comunicaciones posee? - 2 mdulos (Puerto paralelo esclavo de 8 bits y puerto serie sncrono). 2. Observe el diagrama del bloques de PIC16F877 y responda lo siguiente: a) Cuntos bits posee el puerto A? - 6 bits. b) De cuntos bits es el bus de datos? - 8 bits. c) Cuntos bits tiene una instruccin? - 14 bits. d) Cul es la funcin del registro STATUS? - Proporciona informacin acerca del resultado de operaciones aritmticas, lgicas y causa reinicios. e) Cul es la funcin del registro W? - Registro de trabajo en el que se graba informacin del usuario para realizar operaciones o enviar informacin a los puertos y viceversa. f) Cul es la funcin de la ALU? - Realiza operaciones matemticas y lgicas (AND, OR, NAND, etc.). 3. Busque en el manual la distribucin de los registros internos del PIC16F877 y responda los siguiente:

a) Cuntos bancos posee? - 4 bancos (0, 1, 2 y 3). b) Cuntos registros de funciones especiales existen en el banco 0? - 32 registros. c) Cul es la direccin del registro STATUS? - 03h d) Cuntos registros de propsitos generales existen en el banco 0? - 31 registros. e) Cul es la direccin del registro TRISA? - 85h 4. Busque en el manual el set de instrucciones del PIC16F877 y responda lo siguiente: a) En cuntos tipos de instrucciones se pueden agrupar? - 7 grupos (De carga, de bits, aritmticas, de salto, de manejo de subrutinas y especiales). b) Cul es la diferencia entre un mnemnico y un operando? - El mnemnico es el nombre que se le da a un comando numrico para facilitar la memorizacin y el operando es un valor con la cual la instruccin opera. c) Qu es un Opcode? - Es una porcin de instrucciones de lenguaje de mquina que especfica la operacin a ser efectuada. d) Cuntos ciclos de instruccin utiliza un CALL? - 2 ciclos. e) Qu bit del registro STATUS activa la instruccin LRF? -el bit Z. OBSERVACIONES Al trabajar con un micro controlador se debe de tener en cuenta que las instrucciones dadas al micro controlador deben de ser detalladas y deben de respetar un orden con el fin de que el programa que se desee crear no tenga fallas o llegue a daar el chip. El datasheet del PIC16F877 nos brinda informacin necesaria para saber el funcionamiento del mismo, esto se debe de tener muy en cuenta ya que es informacin que nos ayudar en el futuro cuando trabajemos con el PIC16F877. Al revisar el datasheet del PIC16F877 se puede observar que el manual de este se encuentra en ingls por lo que se requiere conocimientos previos del idioma con el fin de poder entender los conceptos claves que este manual nos brinda.

CONCLUSIONES Al buscar el datasheet del PIC16F877 se encontraron dentro de este diferentes datos tcnicos del equipo que nos ayudan a poder tener conocimiento de cmo es que este PIC trabaja, de aqu se puede inferir que no todos los micro controladores tienen las mismas caractersticas, es por ello que se debe de conocer la procedencia de la familia lgica adems de ya conocer el datasheet de los otros microcontroladores. Los micro controladores poseen diversas aplicaciones por lo que se pueden utilizar en diversos campos, pero se debe de tener en cuenta las caractersticas que son proporcionadas por el fabricante y el uso que se le va a dar al micro controlador. Se lleg a definir la arquitectura del PIC16F877 y se identific los diferentes bloques funcionales del mismo gracias a la ayuda del manual del PIC16F877 que se encuentra en internet.

APLICACIN

BIBLIOGRFIA

S-ar putea să vă placă și