Sie sind auf Seite 1von 10

Descripción del PIC 16F877

Se denomina microcontrolador a un dispositivo programable capaz de realizar diferentes


actividades que requieran del procesamiento de datos digitales y del control y
comunicación digital de diferentes dispositivos.
Los microcontroladores poseen una memoria interna que almacena dos tipos de datos;
las instrucciones, que corresponden al programa que se ejecuta, y los registros, es decir,
los datos que el usuario maneja, así como registros especiales para el control de las
diferentes funciones del microcontrolador.

Memoria de programa (FLASH)

Es una memoria de 8K de capacidad con posiciones de 14 bits. En ella se graba o


almacena el programa o códigos que el microcontrolador debe ejecutar.

 La memoria está dividida en cuatro páginas de 2K cada una. La Página 0 va de la


posición de memoria 0005h a la 07FFh, la Página 1 de 0800h a 0FFFh, la Página 2
de 1000h a 17FFh y la Página 3 de 1800h a 1FFFh.
 El contador de programa (en este caso es de 13 bits) nos indica la dirección de la
instrucción a ejecutar.
 Pila (Stack): son registros que no forman parte de ningún banco de memoria (los
bancos de memoria los explico más abajo) y no permiten el acceso por parte del
usuario. Se usan para guardar el valor del contador de programa cuando se hace
un llamado a una subrutina o a una interrupción. Cuando el micro vuelva a
ejecutar su tarea normalmente, el contador de programa recupera su valor
leyéndolo en la pila. Al tener una pila de 8 niveles, se pueden acumular 8
llamadas a subrutinas sin tener problemas.
 Vector de RESET: cuando se resetea el microcontrolador el contador de programa
se pone a cero (0000h). Por esto, en la primera dirección del programa se debe
escribir todo lo relacionado con la iniciación del mismo.
 Vector de Interrupción: cuando el microcontrolador recibe una llamada a una
interrupción, el contador de programa apunta a la dirección 04H de la memoria
de programa, por eso allí se debe escribir toda la información necesaria para
atender dicha interrupción.

Memorias de datos

 Memoria SRAM (Static Random Access Memory): es una memoria de tipo


volátil (cuando deja de recibir alimentación se borran los datos que tenga
almacenados) que está dividida en 4 bancos de 128 bytes cada uno. De esos 128
bytes los 32 primeros están dedicados a los SFR´s (Registros de Funciones
Especiales, cumplen un propósito general en el control y configuración del
microcontrolador) y los 96 siguientes a los GPR´s (Registros de
PropósitosGenerales, se pueden usar para guardar los datos temporales de la
tarea que se está ejecutando).

 Memoria EEPROM: es una memoria no volátil (guarda los datos aunque le falte
alimentación) con una capacidad de 256 bytes, que permite realizar operaciones
de lectura y escritura sin interferir con el funcionamiento normal del
microcontrolador.

Reloj u Oscilador

El pequeño ciruito externo que los microcontroladores necesitan para que se les indique
la velocidad de trabajo es conocido como reloj u oscilador. En función del montaje que
se realice se puede conseguir más o menos precisión. En el momento de programar (o
quemar los fusibles) el PIC se debe especificar el tipo de oscilador externo que se va a
utilizar. El PIC 16F877 puede utilizar 4 tipos de oscilador diferentes:
 XT: Cristal genérico (de 1 a 4 MHz).
 RC: Oscilador con resistencia y condensador.
 HS: Cristal de alta frecuencia (de 10 a 20 MHz).
 LP: Cristal para baja frecuencia y bajo consumo.
Ciclos de máquina

Un ciclo máquina se define como el tiempo mínimo necesario para ejecutar una
instrucción, el cual está formado por un número determinado de ciclos o períodos de
reloj (en la mayoría de los PIC están constituidos por 4 ciclos de reloj).

PIC 16F877

DIAGRAMA DE BLOQUES

Salida del Acondicio


transmisor namiento TIMER55
(4-20mA) de la señal
5

PANTALLA PARA RELÉ


MOSTRAR SETPOINT

AUMENTAR SP
DISMINUIR ↑SP

DESCRIPCIÓN DE PINES
Los pines I/O (Input/Output) están organizados en 5 puertos:
 Puerto A: 6 pines
 Puerto B: 8 pines
 Puerto C: 8 pines
 Puerto D: 8 pines
 Puerto E: 3 pines

Descripción de los puertos:


Puerto A:
 Puerto de e/s de 6 pines
 RA0 è RA0 y AN0
 RA1 è RA1 y AN1
 RA2 è RA2, AN2 y Vref-
 RA3 è RA3, AN3 y Vref+
 RA4 è RA4 (Salida en colector abierto) y T0CKI(Entrada de reloj del módulo Timer0)
 RA5 è RA5, AN4 y SS (Selección esclavo para el puerto serie síncrono)

Puerto B:

 Puerto e/s 8 pines


 Resistencias pull-up programables
 RB0 e Interrupción externa
 RB4-7 e Interrupción por cambio de flanco
 RB5-RB7 y RB3 e programación y debugger in circuit

Puerto C:

 Puerto e/s de 8 pines


 RC0 è RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj del módulo
Timer1).
 RC1-RC2 è PWM/COMP/CAPT
 RC1 e T1OSI (entrada osc timer1)
 RC3-4 e IIC
 RC3-5 e SPI
 RC6-7 e USART

Puerto D:

 Puerto e/s de 8 pines


 Bus de datos en PPS (Puerto paralelo esclavo)
 Puerto E:
 Puerto de e/s de 3 pines
 RE0 è RE0 y AN5 y Read de PPS
 RE1 è RE1 y AN6 y Write de PPS
 RE2 è RE2 y AN7 y CS de PPS

Dispositivos periféricos:

 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 preescaler y postescaler.
 Dos módulos de Captura, Comparación, PWM (Modulación de Anchura de
Impulsos).
 Conversor A/D de 1 0 bits.
 Puerto Serie Síncrono Master (MSSP) con SPI e I 2C (Master/Slave).
 USART/SCI (Universal Syncheronus Asynchronous Receiver Transmitter) con 9 bit.
 Puerta Paralela Esclava (PSP) solo en encapsulados con 40 pines

TIPO DE
NOMBRE DEL PIN PIN TIPO BUFFER DESCRIPCIÓN
OSC1/CLKIN 13 I ST/MOS Entrada del oscilador de cristal / Entrada de
señal de reloj externa
OSC2/CLKOUT 14 O - Salida del oscilador de cristal
MCLR/Vpp/THV 1 I/P ST Entrada del Master clear (Reset) o entrada de
voltaje de programación o modo de control
high voltaje test
PORTA es un puerto I/O bidireccional
RA0/AN0 2 I/O TTL RAO: puede ser salida analógica 0
RA1/AN1 3 I/O TTL RA1: puede ser salida analógica 1
RA2/AN2/ Vref- 4 I/O TTL RA2: puede ser salida analógica 2 o
referencia negativa de voltaje
RA3/AN3/Vref+ 5 I/O TTL RA3: puede ser salida analógica 3 o
referencia positiva de voltaje
RA4/T0CKI 6 I/O ST RA4: puede ser entrada de reloj el timer0.
RA5: puede ser salida analógica 4 o el
RA5/SS/AN4 7 I/O TTL esclavo seleccionado por el puerto serial
síncrono.

PORTB es un puerto I/O bidireccional. Puede


ser programado todo como entradas
RB0 pude ser pin de interrupción externo.
RBO/INT 33 I/O TTL/ST

RB1 34 I/O TTL RB3: puede ser la entada de programación


RB2 35 I/O TTL de bajo voltaje
RB3/PGM 36 I/O TTL Pin de interrupción
Pin de interrupción
RB4 37 I/O TTL Pin de interrupción. Reloj de programación
RB5 38 I/O TTL serial
RB6/PGC 39 I/O TTL/ST
RB7/PGD 40 I/O TTL/ST

PORTC es un puerto I/O bidireccional


RCO/T1OSO/T1CKI 15 I/O ST RCO puede ser la salida del oscilador timer1
RC1/T1OS1/CCP2 o la entrada de reloj del timer1
16 I/O ST RC1 puede ser la entrada del oscilador timer1
RC2/CCP1 o salida PMW 2
17 I/O ST RC2 puede ser una entrada de captura y
comparación o salida PWN
RC3/SCK/SCL
18 I/O ST RC3 puede ser la entrada o salida serial de
reloj síncrono para modos SPI e I2C
RC4/SD1/SDA RC4 puede ser la entrada de datos SPI y
23 I/O ST modo I2C
RC5/SD0 RC5 puede ser la salida de datos SPI
RC6/Tx/CK 24 I/O ST RC6 puede ser el transmisor asíncrono
25 I/O ST USART o el reloj síncrono.
RC7/RX/DT RC7 puede ser el receptor asíncrono USART
26 I/O ST o datos síncronos
PORTD es un puerto bidireccional paralelo

RD0/PSP0 19 I/O ST/TTL


RD1/PSP1 20 I/O I/O ST/TTL
RD2/PSP2 21 I/O I/O ST/TTL
RD3/PSP3 22 I/O I/O ST/TTL
RD4/PSP4 27 I/O ST/TTL
RD5/PSP5 28 ST/TTL
RD6/PSP6 29 ST/TTL
RD7/PSP7 30 ST/TTL

PORTE es un puerto I/O bidireccional


REO/RD/AN5 8 I/O ST/TTL REO: puede ser control de lectura para el
puerto esclavo paralelo o entrada analógica 5
RE1: puede ser escritura de control para el
RE1/WR/AN 9 I/O ST/TTL puerto paralelo esclavo o entrada analógica 6
RE2: puede ser el selector de control para el
puerto paralelo esclavo o la entrada analógica
RE2/CS/AN7 10 I/O ST/TTL 7.

Vss 12.3 P - Referencia de tierra para los pines lógicos y


1 de I/O
Vdd 11.3 P - Fuente positiva para los pines lógicos y de I/O
2
NC - - - No está conectado internamente

Das könnte Ihnen auch gefallen