Академический Документы
Профессиональный Документы
Культура Документы
Marvin Amador.
Yamil Flores. 3T2 Eo
2010
In this paper, we’re going to introduce a new device that can be programmed to be able to
perform multiple functions, which will be limited by the capacity of the program or the
result that we’re going to obtain. This paper presents the latest knowledges required when
you’re going to program the PIC 16F877, which is part of a subfamily of PIC (Peripheral
Interface Controller) mid-range 8-bit, manufactured by Microchip Technology Inc. and it
has an improved memory Flash EEPROM program, allowing a device to be programmed
easily using PIC programmer. This feature significantly facilitates the design of projects,
minimizing the time spent on programming microcontrollers (microcontrollers).It actually
is an improved version of the workhorse PIC16F84, widely used in simple projects, for
educational purposes and training.
INTRODUCCION. importante señalar que estas entradas y
salidas digitales tienen niveles TTL, por lo
El Microcontrolador PIC16F877 de que su tensión de entrada y salida tendrá
Microchip pertenece a una gran familia de que estar comprendida entre 0 y 5V, es
Microcontroladores de 8 bits (bus de por eso que necesitaremos unos circuitos
datos) que tienen las siguientes que harán de interface entre estos niveles
características generales que los TTL y los niveles con los que estemos
distinguen de otras familias: trabajando, 220 VAC, 24 VDC o cualquier
- Arquitectura Harvard otra tensión.
- Tecnología RISC
- Tecnología CMOS Este material está referido al estudio del
Estas características se conjugan para Microprocesador 16F877, enmarcándonos
lograr un dispositivo altamente eficiente en en sus partes principales, Arquitectura,
el uso de la memoria de datos y programa designaciones de pines, funcionamiento y
y por lo tanto en la velocidad de ejecución. algunas indicaciones de cómo
programarlo.[1]
Una de las tarea más básica que
podemos hacer con un microprocesador DESARROLLO.
es sustituir a un circuito combinacional o
secuencial. Para poder hacer estas cosas, Los Microcontroladores que produce
el microprocesador necesitará tener Microchip cubren un amplio rango de
entradas y salidas digitales, igual que las dispositivos cuyas características pueden
de cualquier puerta lógica. El variar como sigue:
microprocesador PIC16F877 tiene 33
patillas que pueden ser, a voluntad - Empaquetado (desde 8 patitas hasta 68
nuestra, entradas o salidas, de forma que patitas)
podemos hacer, por ejemplo, 10 funciones - Tecnología de la memoria incluida.
con 15 entradas. De todos modos, el - Voltajes de operación (desde 2.5 v.
tiempo de respuesta de esas funciones es Hasta 6v)
mucho mayor que el de las funciones - Frecuencia de operación (Hasta 20 MHz)
realizadas con puertas lógicas, aunque
en la mayoría de los casos ese tiempo no Aunque cada empaquetado tiene
es demasiado importante. Ahora bien, es variantes, especialmente en lo relativo a
las dimensiones del espesor del paquete, Memoria:
en general se pueden encontrar paquetes - Hasta 8k x 14 bits de memoria Flash de
tipo PDIP (doble hilera de patitas de programa
plástico), PLCC (De plástico con chip con - Hasta 368 bytes de memoria de datos
plomo), QFP (Paquete cuádruple (RAM)
depósitos) y SOIC (De contorno pequeño - Hasta 256 bytes de memoria de datos
I.C.); este último no aplica para un EEPROM
encapsulado del PIC16F877. La sigla F - Lectura/escritura de la CPU a la memoria
del PIC16F877 indica que el tipo de flash de programa
memoria que utiliza es una memoria - Protección programable de código
FLASH y que se encuentra entre un rango - Stack de hardware de 8 niveles
de voltaje de 4.5 a 6V.
Los SFR son localidades asociadas patilla va a ser salida o no. Un 0 en un bit
Bancos de memoria 10 2
Toda la memoria de datos está 1
11 3
organizada en 4 bancos numerados 0, 1,
2 y 3. Para seleccionar un banco se debe correspondiente es una salida. Un 1 indica
hacer uso de los bits del registro que la patilla es entrada. Siendo más
STATUS<7:5> denominados IRP, RP1 y preciso no es exactamente así, los pines
RP0. Hay dos maneras de acceder a la siempre funcionan como entrada, y
memoria de datos: Direccionamiento cuando ponemos el bit TRIS
directo e indirecto. La selección de correspondiente a 1 indicamos que
bancos se basa en la siguiente tabla.[5] ponemos la salida en alta impedancia, y
Cada banco consta de 128 bytes (de 00h por lo tanto no funciona como salida.
a 7Fh). En las posiciones más bajas de Cuando TRISX está a 1 activamos la
cada banco se encuentran los SFR, y salida en alta impedancia, y por lo tanto
arriba de éstos se encuentran los GPR. solo funciona como entrada, pero cuando
Toda la memoria de datos está ponemos TRISX a 0 la salida impone su
implementada en Ram estática. nivel, pero al mismo tiempo funciona como
entrada, aunque salvo algún problema en
el circuito (una salida conectada a masa), // los bits 6 y 4 de
deberemos leer lo que hemos escrito en la entrada estarán a 0
salida. Además, podemos también leer la // el resto de bits
palabra TRISX, conociendo lo que dependen del circuito
previamente habíamos escrito en TRISX. exterior.[6]
Ejemplo: Conclusión
TRISA = 0b00001111; // Los pines RA0, Con este documento, determinamos la
RA1, RA2 y RA3 son entradas importancia que el pic 16F877 tiene en la
// Los pines RA4, función de muchos sistemas de control y
RA5, RA6 y RA7 son de transmisión. Las aplicaciones que este
entradas y salidas puede tomar, esta en dependencia de la
PORTA = 0b10101010; // Los pines RA7 y imaginación del programador.
RA5 se pondrán a 1 (5 voltios) Se vio la manera en la cual está integrado
// Los pines RA6 y y de las partes en que está constituido. Se
RA4 se pondrán a 0 (0 demostró la manera en que los pines
voltios) están designados como entrada o salida
entrada = PORTA; // Cada bit de la en dependencia de la programación que
variable entrada tomará un valor se le provea.
dependiendo Como hemos visto el pic 16F877 posee
// de la tensión que tecnología RISC y la instrucciones a
haya en el pin aprender no son muchas ya que este solo
correspondiente. admite 35 las cuales se ejecutan en un
// En este caso los ciclo de reloj a una frecuencia de
bits 7 y 5 de entrada operación entre 0 y 20 MHz y además
estarán a 1 posee la ventaja de seleccionar el tipo de
oscilador que nos conviene usar. Las [6] http://server-
ventaja que este posee de acuerdo a la die.alc.upv.es/asignaturas/LSED/2003-
memoria es que tenemos una memoria 04/Placas/B01/pic16F877.pdf
flash de programa de 8kx14bits, RAM de [7]
368 bytes y 256 bytes de memoria http://www.ufps.edu.co/materias/ucontrol/h
EEPROM, contiene reset de interruptores tdocs/pdf/grua.pdf.
además de poseer un bajo consuno de [8]
energía, bajo rango de temperatura y por http://redalyc.uaemex.mx/redalyc/src/inicio
consiguiente bajo consumo de potencia. /ArtPdfRed.jsp?iCve=84903793.
[9]
Finalmente se puede decir que la http://webcache.googleusercontent.com/s
importancia de este dispositivo es muy earch?q=cache:ayvsISmQzb4J:bibliotecni
importante ya que es la base de los ca.upc.es/Factoria/arxius/67/web/annexes/
sistemas de control y que el alcance de presentacions/MICROCONTROLADORES
este radica en dependencia de la %2520EN%2520ROBTICA%2520MVIL.pp
imaginación del programador. t+pic+16f877+aplicaciones+en+robotica&c
d=2&hl=es&ct=clnk&gl=es.
REFERENCIAS: [10]
[1] http://catarina.udlap.mx/u_dl_a/tales/docu
http://www.bairesrobotics.com.ar/data/pic1 mentos/lem/escobar_a_g/apendiceB.pdf
6f877-guia%20detallada%20parte2.pdf [11]
[2] http://franalvaro.blogspot.com/2009/11/apli
http://ww1.microchip.com/downloads/en/d caciones-pic16f84-pic16f877.html.
evicedoc/30292c.pdf
[3]
www.ate.uniovi.es/fernando/Doc2006/Sed
_06/Presentaciones/Puertos%20E_S_v4.p
df
[4]
http://www.iesjuandelacierva.es/~fremiro/A
rticulos%20Resistor/PIc16F87X/Curso_9.p
df.
[5]
http://www.ate.uniovi.es/fernando/Doc200
6/Sed_06/Presentaciones/Organizacion%
20de%20la%20Memoria.pdf.
Anexos.