Descargar

Descripción del PIC 16F877

Enviado por dannyherrera_s


    1. PIC 16f877
    2. Diagrama de bloques
    3. Descripción de pines
    4. Aplicación

    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.

    Los microcontroladores se programan en Assembler y cada microcontrolador varía su conjunto de instrucciones de acuerdo a su fabricante y modelo. De acuerdo al número de instrucciones que el microcontrolador maneja se le denomina de arquitectura RISC (reducido) o CISC (complejo).

    Los microcontroladores poseen principalmente una ALU (Unidad Lógico Aritmética), memoria del programa, memoria de registros, y pines I/O (entrada y/0 salida). La ALU es la encargada de procesar los datos dependiendo de las instrucciones que se ejecuten (ADD, OR, AND), mientras que los pines son los que se encargan de comunicar al microcontrolador con el medio externo; la función de los pines puede ser de transmisión de datos, alimentación de corriente para l funcionamiento de este o pines de control especifico.

    En este proyecto se utilizo el PIC 16F877. Este microcontrolador es fabricado por MicroChip familia a la cual se le denomina PIC. El modelo 16F877 posee varias características que hacen a este microcontrolador un dispositivo muy versátil, eficiente y practico para ser empleado en la aplicación que posteorimente será detallada.

    Algunas de estas características se muestran a continuación:

    • Soporta modo de comunicación serial, posee dos pines para ello.
    • Amplia memoria para datos y programa.
    • Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH; este tipo de memoria se puede borrar electrónicamente (esto corresponde a la "F" en el modelo).
    • Set de instrucciones reducido (tipo RISC), pero con las instrucciones necesarias para facilitar su manejo.

    CARACTERISTICAS

    En siguiente tabla de pueden observar las características más relevantes del dispositivo:

    CARACTERÍSTICAS

    16F877

    Frecuencia máxima

    DX-20MHz

    Memoria de programa flash palabra de 14 bits

    8KB

    Posiciones RAM de datos

    368

    Posiciones EEPROM de datos

    256

    Puertos E/S

    A,B,C,D,E

    Número de pines

    40

    Interrupciones

    14

    Timers

    3

    Módulos CCP

    2

    Comunicaciones Serie

    MSSP, USART

    Comunicaciones paralelo

    PSP

    Líneas de entrada de CAD de 10 bits

    8

    Juego de instrucciones

    35 Instrucciones

    Longitud de la instrucción

    14 bits

    Arquitectura

    Harvard

    CPU

    Risc

    Canales Pwm

    2

    Pila Harware

    Ejecución En 1 Ciclo Máquina

    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 modulo 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 è Interrupción externa
    • RB4-7 èInterrupcion por cambio de flanco
    • RB5-RB7 y RB3 è programacion y debugger in circuit

    Puerto C:

    • Puerto e/s de 8 pines
    • RC0 è RC0, T1OSO (Timer1 salida oscilador) y T1CKI (Entrada de reloj del modulo Timer1).
    • RC1-RC2 è PWM/COMP/CAPT
    • RC1 è T1OSI (entrada osc timer1)
    • RC3-4 è IIC
    • RC3-5 è SPI
    • RC6-7 è 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 I2C (Master/Slave).
    • USART/SCI (Universal Syncheronus Asynchronous Receiver Transmitter) con 9 bit.
    • Puerta Paralela Esclava (PSP) solo en encapsulados con 40 pines

    DIAGRAMA DE BLOQUES

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    DESCRIPCIÓN DE PINES

    Para ver el gráfico seleccione la opción "Descargar" del menú superior

    NOMBRE DEL PIN

    PIN

    TIPO

    TIPO DE

    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

    RA0/AN0

    RA1/AN1

    RA2/AN2/ Vref-

    RA3/AN3/Vref+

    RA4/T0CKI

    RA5/SS/AN4

     

     

    2

    3

    4

    5

    6

    7

     

     

    I/O

    I/O

    I/O

    I/O

    I/O

    I/O

     

    TTL

    TTL

    TTL

    TTL

    ST

    TTL

    PORTA es un puerto I/O bidireccional

    RAO: puede ser salida analógica 0

    RA1: puede ser salida analógica 1

    RA2: puede ser salida analógica 2 o referencia negativa de voltaje

    RA3: puede ser salida analógica 3 o referencia positiva de voltaje

    RA4: puede ser entrada de reloj el timer0.

    RA5: puede ser salida analógica 4 o el esclavo seleccionado por el puerto serial síncrono.

    RBO/INT

    RB1

    RB2

    RB3/PGM

    RB4

    RB5

    RB6/PGC

    RB7/PGD

     

     

    33

    34

    35

    36

    37

    38

    39

    40

     

     

    I/O

    I/O

    I/O

    I/O

    I/O

    I/O

    I/O

    I/O

     

     

    TTL/ST

    TTL

    TTL

    TTL

    TTL

    TTL

    TTL/ST

    TTL/ST

    PORTB es un puerto I/O bidireccional. Puede ser programado todo como entradas

    RB0 pude ser pin de interrupción externo.

    RB3: puede ser la entada de programación de bajo voltaje

    Pin de interrupción

    Pin de interrupción

    Pin de interrupción. Reloj de programación serial

    RCO/T1OSO/T1CKI

    RC1/T1OS1/CCP2

    RC2/CCP1

    RC3/SCK/SCL

    RC4/SD1/SDA

    RC5/SD0

    RC6/Tx/CK

    RC7/RX/DT

    15

    16

    17

     

    18

     

    23

    24

    25

    26

    I/O

    I/O

    I/O

     

    I/O

     

    I/O

    I/O

    I/O

    I/O

    ST

    ST

    ST

     

    ST

     

    ST

    ST

    ST

    ST

    PORTC es un puerto I/O bidireccional

    RCO puede ser la salida del oscilador timer1 o la entrada de reloj del timer1

    RC1 puede ser la entrada del oscilador timer1 o salida PMW 2

    RC2 puede ser una entrada de captura y comparación o salida PWN

    RC3 puede ser la entrada o salida serial de reloj síncrono para modos SPI e I2C

    RC4 puede ser la entrada de datos SPI y modo I2C

    RC5 puede ser la salida de datos SPI

    RC6 puede ser el transmisor asíncrono USART o el reloj síncrono.

    RC7 puede ser el receptor asíncrono USART o datos síncronos

    RD0/PSP0

    RD1/PSP1

    RD2/PSP2

    RD3/PSP3

    RD4/PSP4

    RD5/PSP5

    RD6/PSP6

    RD7/PSP7

     

    19

    20

    21

    22

    27

    28

    29

    30

     

    I/O

    I/O I/O I/O I/O I/O I/O I/O

     

    ST/TTL

    ST/TTL

    ST/TTL

    ST/TTL

    ST/TTL

    ST/TTL

    ST/TTL

    ST/TTL

    PORTD es un puerto bidireccional paralelo

    REO/RD/AN5

    RE1/WR/AN

    RE2/CS/AN7

    8

     

    9

     

    10

    I/O

     

    I/O

     

    I/O

    ST/TTL

     

    ST/TTL

     

    ST/TTL

    PORTE es un puerto I/O bidireccional

    REO: puede ser control de lectura para el puerto esclavo paralelo o entrada analógica 5

    RE1: puede ser escritura de control para el 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 7.

    Vss

    12.31

    P

    Referencia de tierra para los pines lógicos y de I/O

    Vdd

    11.32

    P

    Fuente positiva para los pines lógicos y de I/O

    NC

    No está conectado internamente

    APLICACIÓN

    El proyecto presentado tendrá como objetivo principal, diseñar un controlador de temperatura usando un microcontrolador.

    Se parte del hecho de que para realizar el control, hay que sensar la variable de proceso en primer lugar, posteriormente se debe enviar las señales e instrucciones respectivas al elemento de control (microcontrolador) para que este actue en consecuencias realizando la acción de control.

    Se tiene como elemento principal un microcontrolador PIC16F877, el cual recibirá a través de pulsadores, el valor de Setpoint que desee el usuario.

    Se utilizará una pantalla de LCD, donde se visualizarán los valores de Setpoint. El manejo de dicha pantalla se realizará a través de los puertos de salida del microcontrolador.

    PLANTEAMIENTO DEL PROBLEMA

    En los procesos industriales es necesario tener un registro y control eficiente sobre todas las variables que intervienen en el proceso, con el fin de conocer el comportamiento de la misma durante cada una de las fases del proceso, de manera tal que esta información realizar las acciones necesarias para un control seguro y eficiente. Basándonos en esto se desea diseñar un controlador de temperatura.

    FACTIBILIDAD

    Puede decirse que el presente proyecto es factible puesto que todos los dispositivos que intervienen el, están disponibles en el mercado al igual que la información referente a su funcionamiento y los costos de los mismos son accesibles. También podemos mencionar entre otras razones que se cuenta con los equipos y accesoria técnica para la programación del PIC (dispositivo principal) así como también para la manipulación de los de más dispositivos que intervienen en el proyecto. Se ha realizados proyectos similares anteriormente obteniéndose buenos resultados.

    DIAGRAMA DE BLOQUES

     Para ver el gráfico seleccione la opción "Descargar" del menú superior

    Br. Aníbal Hernández

    Br. Danny Herrera

    IX Electrónica

    REPUBLICA BOLIVARIANA DE VENEZUELA – MINISTERIO DE LA DEFENSA

    UNIVERSIDAD NACIONAL EXPERIMENTAL DE LA FUERZA ARMADA

    NUCLEO MARACAY – DEPARTAMENTO DE ELECTRONICA

    MARACAY, 2004