_PROGRAMACION DE PICS I - Conceptos Básicos

Embed Size (px)

Citation preview

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    1/47

    Taller de Programacin de PICs. 1

    Taller de Programacin de PICs

    Conceptos Bsicos

    Universidad Veracruzana

    Facultad de IngenieraM. C. Adrin Snchez Vidal

    Octubre de 2009

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    2/47

    Taller de Programacin de PICs. 2

    Conceptos Bsicos

    1. Introduccin.

    2. Sistemas Numricos.

    3. Conversin entre sistemas numricos.

    4. Cdigos Binarios.

    5. Diferencia entre P y C.

    6. Conceptos bsicos.

    7. Memoria de Programa.

    8. Memoria de Datos RAM.

    9. Procesador.

    10. Perifricos.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    3/47

    Taller de Programacin de PICs. 3

    Introduccin

    Los microcontroladores estn conquistando el mundo, puesto quese encuentran presente en nuestro trabajo, casa y vida en general.

    Se pueden encontrar controlando el funcionamiento de los ratones

    y teclados de las computadoras, en telfonos, hornos de

    microondas y televisores de nuestro hogar.

    Pero la invasin acaba de comenzar, y este siglo XXI ser testigo

    de la conquista masiva de estos diminutos computadores, que

    gobernarn la mayor parte de los aparatos que se fabrican y

    usamos los humanos.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    4/47

    Taller de Programacin de PICs. 4

    Base de un sistema numrico

    La base de un sistema numrico es el nmero de dgitos diferentes

    usados en ese sistema.

    Base Sistema Notacin Dgitos

    2 Binario 102= (10)2 0, 1

    8 Octal 108= (10)8 0, 1, 2, 3, 4, 5, 6, 7

    10 Decimal 10= (10)10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

    16 Hexadecimal 10H= (10)16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

    Sistemas Numricos

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    5/47

    Taller de Programacin de PICs. 5

    Conteo de sistemas numricos

    DECIMAL BINARIO OCTAL HEXADECIMAL0

    1

    2

    3

    45

    6

    7

    8

    9

    1011

    12

    13

    14

    15

    16

    Sistemas Numricos

    0

    1

    10

    11

    100101

    110

    111

    1000

    1001

    10101011

    1100

    1101

    1110

    1111

    10000

    0

    1

    2

    3

    45

    6

    7

    10

    11

    1213

    14

    15

    16

    17

    20

    0

    1

    2

    3

    45

    6

    7

    8

    9

    AB

    C

    D

    E

    F

    10

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    6/47

    Taller de Programacin de PICs. 6

    Sistemas Numricos

    Notacin posicional

    Al escribir un nmero, la posicin de cada dgito indica su peso

    relativo. En la base run nmero N de n dgitos en la parte entera

    y m dgitos en la parte fraccionaria en esta notacin se escribe:

    En esta notacin el dgito de ms a la izquierda (an-1) es decir, el

    que pesa ms se denomina dgito ms significativo (MSD), en

    forma similar al de ms a la derecha (a-m); es decir, el que pesamenos se le llama dgito menos significativo (LSD). Ejemplos:

    1025H, 235.38, 100012, 100

    N=(an-1 a n-2 .... a1 a0. a-1 .... a -m)

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    7/47Taller de Programacin de PICs. 7

    Conversin de baser a base 10

    Conversin entre sistemas numricos

    Ejemplos: Convertir (B2A)16 y (11010)2a base 10.

    Expresando el nmero en notacin polinomial usando base 10

    para representar cada cantidad involucrada en dicha notacin:

    (B2A)16 = (11*162 + 2*161 + 10*160)10

    = (11*256 + 2*16 + 10 )10

    = (2858)10

    Posicin 3 2 1

    Peso 162 161 160

    Valor 256 16 1

    B 2 A

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    8/47Taller de Programacin de PICs. 8

    Conversin de baser a base 10

    Conversin entre sistemas numricos

    Ejemplos: Convertir (B2A)16 y (11010)2a base 10.

    Expresando el nmero en notacin polinomial usando base 10

    para representar cada cantidad involucrada en dicha notacin:

    (11010)2 = 1*24 + 1*23 + 0*22 + 1*21 + 0*20

    =16 + 8 + 0 + 2 = (26)10

    Posicin 5 4 3 2 1

    Peso 24 23 22 21 20

    Valor 16 8 4 2 1

    1 1 0 1 0

    UsandoNbits se puede representar nmeros decimales desde 0

    a 2N-1, un total de 2Nnmeros.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    9/47Taller de Programacin de PICs. 9

    Conversin de base 10 a base q

    Conversin entre sistemas numricos

    Al dividir N=(an-1an-2... a1a0)rentre robtenemos como cocienteN1 y como residuo de la divisin a0. En forma similar sidividimos N1=(an-1an-2...a1)rentre robtendremos como cociente

    N2=(an-1an-2...a2)ry como residuo a1 y as sucesivamente.

    Para obtener los n dgitos deNen base rse debern obtener los n

    residuos de n divisiones sucesivas entre r. Obtenindose en elorden de LSD a MSD.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    10/47Taller de Programacin de PICs. 10

    Conversin entre sistemas numricos

    Ejemplos: Convertir 2510 a base 2, 8 y 16.

    Cociente ResiduoDivisin 2 25

    Primera 12 a0= 1 LSB

    Segunda 6 a1= 0

    Tercera 3 a2= 0

    Cuarta 1 a3= 1Quinta 0 a4= 1 MSB

    Conversin de base 10 a base q

    2510 = 110012

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    11/47Taller de Programacin de PICs. 11

    Conversin entre sistemas numricos

    Ejemplos: Convertir 2510 a base 2, 8 y 16.

    Cociente Residuo

    8 25

    Primera 3 a0= 1

    Segunda 0 a1= 3

    Conversin de base 10 a base q

    2510 = 318

    Cociente Residuo16 25

    Primera 1 a0= 9

    Segunda 0 a1= 1

    2510 = 19H

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    12/47Taller de Programacin de PICs. 12

    Conversin entre sistemas numricos

    Cuando una de las bases involucradas en la conversin es una

    potencia entera de la otra la conversin se vuelve muy sencilla,

    ya que se puede realizar en un slo paso expresando cada dgito

    del nmero en base rkusando kdgitos de base r.

    Adems, este procedimiento no requiere que se realice operacin

    aritmtica de ningn tipo.

    Conversin de baserk a baser

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    13/47Taller de Programacin de PICs. 13

    Conversin entre sistemas numricos

    Ejemplo: ConvertirN= (10111011110)2 a base 8 y base 16.

    Conversin de baserk a baser

    Como 8 = 23, basta con representar cada 3 dgitos del nmero

    binario en octal como se muestra a continuacin:N= 10 111 011 110

    6372

    N= 27368

    Sin embargo, dado que 16 = 24

    , ahora se emplean grupos de 4dgitos del nmero binario en hexadecimal, como sigue:

    N= 101 1101 1110

    ED5

    N= 5DEH

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    14/47Taller de Programacin de PICs. 14

    Conversin entre sistemas numricos

    Ejercicios: Convertir los siguientes nmeros a su equivalente enoctal, hexadecimal ambos.

    Conversin de baserk a baser

    1. 111011101110012

    ,

    2. 100010000111102,

    3. 1101010011011012,

    4. 10101011101012,

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    15/47Taller de Programacin de PICs. 15

    Cdigos binarios

    Un dispositivo muy generalizado por su sencillez y bajo costo en

    dispositivos digitales de visualizacin es el exhibidor o display de siete

    segmentos, el cual consiste en un arreglo de siete indicadores

    luminosos (LEDs) u opacos (cristal lquido) arreglado como se

    muestra en la siguiente figura. Existen dos tipos de exhibidores de sietesegmentos construidos con LEDs, estos son los de nodo comn y los

    de ctodo comn.

    Cdigo BCD a 7 segmentos

    a

    g

    d

    bf

    ce

    Arreglo de 7 segmentos

    a b c d e f g

    Ctodo comna b c d e f g

    nodo comn

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    16/47Taller de Programacin de PICs. 16

    Cdigos binarios

    En la siguiente tabla se muestra el cdigo de 7 segmentos paraun display de nodo comn para los dgitos decimales y elequivalente en BCD:

    Cdigo BCD a 7 segmentos

    N BCD a b c d e f g Display0 0000 0 0 0 0 0 0 1 0

    1 0001 1 0 0 1 1 1 1 1

    2 0010 0 0 1 0 0 1 0 2

    3 0011 0 0 0 0 1 1 0 3

    4 0100 1 0 0 1 1 0 0 45 0101 0 1 0 0 1 0 0 5

    6 0110 0 1 1 1 1 1 1 6

    7 0111 0 0 0 1 1 1 1 7

    8 1000 0 0 0 0 0 0 0 8

    9 1001 0 0 0 0 1 0 0 9

    a

    g

    d

    bf

    ce

    Arreglo de7 segmentos

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    17/47Taller de Programacin de PICs. 17

    Diferencia entre P y C

    Un microcontrolador es un circuito integrado programable (PIC)que contiene todos los componentes de un computador. Se emplea

    para controlar el funcionamiento de una tarea determinada y,

    debido a su pequeo tamao suele incorporarse al propio

    dispositivo que gobierna (embedded controller).

    El microcontrolador es un computador dedicado, en su memoriaslo reside un programa destinado a gobernar una aplicacin

    determinada; sus lneas de entrada/salida soportan las conexiones

    de sensores y actuadores del dispositivo a controlar.

    Una vez programado y configurado el C, solamente sirve para

    gobernar la tarea asignada.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    18/47Taller de Programacin de PICs. 18

    Diferencia entre P y C

    Por otro lado, el microprocesador es un circuito integrado que

    contiene solamente la unidad central de procesos o CPU

    (procesador).

    La memoria, los puertos y todos los dems perifricos son

    exteriores, accesndose a ellos a travs de los buses dedirecciones, datos y control, razn por la cual se dice que un P es

    un sistema abierto pues su configuracin vara dependiendo de laaplicacin a la que se destine.

    Sin embargo, un microcontrolador (PICs) es una unidad que

    posee en su interior al microprocesador y a los perifricos y

    elementos indispensables para que pueda funcionar como una

    microcomputadora en un solo chip.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    19/47Taller de Programacin de PICs. 19

    Conceptos bsicos

    Otra caracterstica de los procesadores PIC es el uso de un

    conjunto de instrucciones del tipo RISC (Reduced InstructionSet Computer). Con el RISC se suele ejecutar la mayora de lasinstrucciones con un solo pulso del clock.

    Con las instrucciones que se usan en otros equipos del tipo CISC(Complex Instruction Set Computer), se logra instrucciones mspoderosas, pero a costa de varios ciclos del clock. En el bien

    conocido procesador 68HC11 de Motorola se requieren a veceshasta 5 ciclos del clock para ejecutar una instruccin.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    20/47Taller de Programacin de PICs. 20

    Conceptos bsicos

    La arquitectura tradicional de computadoras y

    microprocesadores se basa en el esquema propuesto por JohnVon Neumann, en el cual la unidad central de proceso, o CPU,esta conectada a una memoria nica que contiene lasinstrucciones del programa y los datos.

    El tamao de la unidad de datos o instrucciones est fijado por elancho del bus de la memoria. Es decir que un microprocesador de

    8 bits, que tiene adems un bus de 8 bits que lo conecta con la

    memoria, deber manejar datos e instrucciones de una o ms

    unidades de 8 bits (bytes) de longitud.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    21/47

    Taller de Programacin de PICs. 21

    Conceptos bsicos

    Por otro lado, la arquitectura Harvard, consiste simplemente

    en un esquema en el que el CPU est conectado a dos memoriaspor medio de dos buses separados. Una de las memoriascontiene solamente las instrucciones del programa, y es llamada

    Memoria de Programa. La otra memoria solo almacena los datosy es llamadaMemoria de Datos.

    Los buses son independientes y pueden ser de distintos anchos.

    Para un procesador de Set de Instrucciones Reducido, o RISC(Reduced Instruccin Set Computer), el set de instrucciones y el

    bus de la memoria de programa pueden disearse de manera tal

    que todas las instrucciones tengan una sola posicin de memoria

    de programa de longitud.

    CPUMEM

    DATOS

    MEM

    PROG

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    22/47

    Taller de Programacin de PICs. 22

    Memoria de Programa

    El " PIC 16F84 " 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

    de borrado con luz ultravioleta como las versiones EPROM sino,

    permite reprogramarlo nuevamente sin ser borrado conanterioridad.

    El PIC 16C84 es un microcontrolador de la familia MICROCHIP,

    totalmente compatible con el PIC 16F84. Su principalcaracterstica es que posee memoria "EEPROM" en lugar de

    memoria Flash, pero su manejo es igual.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    23/47

    Taller de Programacin de PICs. 23

    Memoria de Programa

    EL PIC16F84 tiene una memoria de 1 Kbyte de longitud conpalabras de 14 bits.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    24/47

    Taller de Programacin de PICs. 24

    Memoria de Programa

    Como el PIC16F84 tiene un contador de programa de 13 bits, tieneuna capacidad de direccionamiento de 8K x 14, pero solamente

    tiene implementado el primer 1K x 14 (000h hasta 03FFh). Si se

    direccionan posiciones de memoria superiores a 3FFh se causar

    un solapamiento o desborde con el espacio del primer 1K.

    Vector de Reset

    Cuando ocurre un reset o se enciende el microcontrolador, el

    contador de programa se pone en ceros (000h). Por esta razn, en

    la primera direccin del programa se debe escribir todo lo

    relacionado con la iniciacin del mismo.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    25/47

    Taller de Programacin de PICs. 25

    Memoria de Programa

    Vector de Interrupcin

    Cuando el microcontrolador recibe una seal de interrupcin el

    contador de programa apunta a la direccin 04h de la memoria de

    programa, por eso all se debe escribir toda la programacinnecesaria para atender dicha interrupcin.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    26/47

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    27/47

    Taller de Programacin de PICs. 27

    Memoria de Datos RAM

    Para seleccionar qu banco setrabaja en un momento

    determinado se utiliza el bit

    RP0 del registro STATUS.

    Con RP0=0 se accede albanco 0, mientras que con

    RP0=1 se accede al banco 1.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    28/47

    Taller de Programacin de PICs. 28

    Memoria de Datos RAM

    Registros de Funcin especial

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    29/47

    Taller de Programacin de PICs. 29

    Memoria de Datos RAM

    El registro INTCON contiene los bits para habilitar cada una de

    las fuentes de interrupcin.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    30/47

    Taller de Programacin de PICs. 30

    Memoria de Datos RAM

    02h o PCL: CONTADOR DE PROGRAMA (PC). Contiene ladireccin de la prxima instruccin a ejecutar. Se incrementa

    automticamente al ejecutar cada instruccin, de manera que la

    secuencia natural de ejecucin del programa es lineal, una

    instruccin despus de la otra.

    Algunas instrucciones de control, cambian el contenido del PC

    alterando la secuencia lineal de ejecucin. Dentro de estas se

    encuentran el GOTO y el CALL que permiten cargar en forma

    directa un valor constante en el PC haciendo que el programa salte acualquier posicin de la memoria. Otras instrucciones de control son

    los SKIP o salteos condicionales, que producen un incremento

    adicional del PC si se cumple una condicin especifica, haciendo que

    el programa saltee, sin ejecutar, la instruccin siguiente.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    31/47

    Taller de Programacin de PICs. 31

    Memoria de Datos RAM

    04h o FSR: REGISTRO SELECTOR DE REGISTROS. En asociocon el registro IND0, se utiliza para seleccionar indirectamente los

    otros registros disponibles. Mientras que los antecesores del PIC

    16F84 solo posean 5 bits activos, en este microcontrolador se poseen

    solo 8 bits. Si en el programa no se utilizan llamadas indirectas, este

    registro se puede utilizar como un registro de propsito general.

    05h o PORTA: PUERTO DE ENTRADA/SALIDA DE 5 BITS(RA0~ RA4). Este puerto al igual que todos sus similares en los PIC,

    puede leerse o escribirse como si se tratara de un registro cualquiera.El registro que controla el sentido (entrada o salida) de los pines de

    este puerto esta localizado en la pagina 1 (Banco 1), en la posicin

    85h y se llama TRISA.

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    32/47

    Taller de Programacin de PICs. 32

    Memoria de Datos RAM

    06h o PORTB: PUERTO DE ENTRADA/SALIDA DE 8 BITS

    (RB0~RB7). Al igual que en todos los PIC, este puede leerse oescribirse como si se tratara de un registro cualquiera; algunos de sus

    pines tienen funciones alternas en la generacin de interrupciones. El

    registro de control para la configuracin de la funcin de sus pines se

    localiza en la pagina 1 (Banco 1), en la direccin 86h y se llama

    TRISB.

    08h o EEDATA: REGISTRO DE DATOS DE LA EEPROM. Esteregistro contiene el dato que se va a escribir en la memoria

    EEPROM de datos o el que se ley de sta.09h o EEADR: REGISTRO DE DIRECCION DE LA EEPROM.Aqu se mantiene la direccin de la EEPROM de datos que se van a

    trabajar, bien sea para una operacin de lectura o para una de

    escritura.

    i d

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    33/47

    Taller de Programacin de PICs. 33

    Memoria de Datos RAM

    Registro STATUSContiene el estado aritmtico de la ALU, el estado del reset y los

    bits para seleccin del banco.

    Donde:L=bit de lectura

    E=bit de escritura

    0/1/x=Valor despus de un RESET

    M i d D RAM

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    34/47

    Taller de Programacin de PICs. 34

    Memoria de Datos RAM

    M i d D RAM

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    35/47

    Taller de Programacin de PICs. 35

    Memoria de Datos RAM

    85h o TRISA: REGISTRO DE CONFIGURACION DELPUERTO A. Es el registro de control para el puerto A. Un "cero"

    en el bit correspondiente al pin lo configura como salida, mientras

    que un "uno" lo hace como entrada.

    86h o TRISB: REGISTRO DE CONFIGURACION DELPUERTO B. Es el registro de control para el puerto B. Un "cero"

    en el bit correspondiente al pin lo configura como salida, mientras

    que un "uno" lo hace como entrada.

    Adems, el PIC cuenta con una memoria EEPROM con una

    capacidad de almacenamiento de datos de 64 bytes, capaz de

    mantenerlos por ms de 40 aos, y soporta mucho ms de 1,000

    ciclos de grabado y borrado.

    P d

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    36/47

    Taller de Programacin de PICs. 36

    Procesador

    Dada la necesidad de conseguir elevados rendimientos en elprocesamiento de las instrucciones, el PIC16F84 cuenta con un

    procesador de arquitectura Harvard.

    68 bytes de RAM

    64 bytes de EEPROM

    P d

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    37/47

    Taller de Programacin de PICs. 37

    Procesador

    Arquitectura tradicional Arquitectura ortogonal

    P d

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    38/47

    Taller de Programacin de PICs. 38

    Procesador

    Se puede observar que la principal diferencia entre ambasarquitecturas radica en la ubicacin del registro de trabajo, que

    para los PICs se denomina W (Working Register), y para los

    tradicionales es el Acumulador (A).

    En los microcontroladores tradicionales todas las operaciones se

    realizan sobre el acumulador, cuya salida esta conectada a una delas entradas de la ALU, por lo tanto el resultado de cualquieroperacin siempre quedar en este registro. Para operar sobre un

    dato de memoria, luego realizar la operacin siempre hay quemover el acumulador a la memoria con una instruccin adicional.

    P d

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    39/47

    Taller de Programacin de PICs. 39

    Procesador

    En los PIC, la salida de la ALU va al registro W y tambin a lamemoria de datos, por lo tanto el resultado puede guardarse en

    cualquiera de los dos destinos. En las instrucciones de simple

    operando el dato en este caso se toma de la memoria (por

    convencin).

    La gran ventaja de esta arquitectura es que permite un gran ahorro

    de instrucciones ya que el resultado de cualquier instruccin que

    opere con la memoria, ya sea de simple o doble operando, puede

    dejarse en la misma posicin de memoria o en el registro W, segn

    se seleccione con un bit de la misma instruccin. Las operaciones

    con constantes provenientes de la memoria de programa se

    realizan solo sobre el registro W.

    P d

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    40/47

    Taller de Programacin de PICs. 40

    Procesador

    Otra caracterstica del procesador es que es segmentado; es decir,

    que mientras ejecuta una instruccin, puede buscar la siguiente enel mismo ciclo de trabajo.

    1. MOVLW 55h

    2. MOVWF PORTB

    3. CALL SUB_1

    4. BSF PORTA, BIT3

    El procesador es de tipo RISC, puesto cuenta con 35 instrucciones,

    donde la mayora se ejecuta en un ciclo de trabajo.

    P if i

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    41/47

    Taller de Programacin de PICs. 41

    Perifricos

    Los puertos o perifricos son el puente entre el microcontrolador yel mundo exterior. Son lneas digitales que trabajan entre cero y

    cinco voltios y se pueden configurar como entradas o como

    salidas.

    El PIC 16F84 tiene dos puertos. El puerto A con 5 lneas y el

    puerto B con 8 lneas. Cada pin se puede configurar como entrada

    o como salida independiente programado por un par de registros

    diseados para tal fin (TRISA y TRISB, respectivamente).

    En ese registro un "0" configura el pin del puerto correspondiente

    como salida y un "1" lo configura como entrada.

    P if i

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    42/47

    Taller de Programacin de PICs. 42

    Perifricos

    P if i

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    43/47

    Taller de Programacin de PICs. 43

    Perifricos

    PUERTO A

    1. RA0 = Pin de Entrada/Salida (TTL).

    2. RA1 = Pin de Entrada/Salida (TTL).

    3. RA2 = Pin de Entrada/Salida (TTL).

    4. RA3 = Pin de Entrada/Salida (TTL).

    5. RA4/TOCKI = Pin de Entrada/Salida o entrada de Reloj

    Externo para el TMR0, cuando este pin se configura como

    salida es de tipo Open Drain (ST), cuando funciona como salida

    se debe conectar a Vcc (+5V) a travs de una resistencia.

    P if i

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    44/47

    Taller de Programacin de PICs. 44

    Perifricos

    PUERTO B

    1. RB0/INT = Pin de E/S o entrada de int externa. (TTL/ST).

    2. RB1 = Pin de Entrada/Salida (TTL).

    3. RB2 = Pin de Entrada/Salida (TTL).

    4. RB3 = Pin de Entrada/Salida (TTL).5. RB4 = Pin de E/S con Interrupcin por cambio de Flanco

    (TTL).

    6. RB5 = Pin de E/S con Interrupcin por cambio de Flanco

    (TTL).

    7. RB6 = E/S con Interrupcin por cambio de Flanco (TTL/ST).

    8. RB7 = E/S con Interrupcin por cambio de Flanco (TTL/ST).

    P if i

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    45/47

    Taller de Programacin de PICs. 45

    Perifricos

    PINES ADICIONALES

    MCLR = Pin de Reset del Microcontrolador (Master Clear). Se

    activa (el pic se resetea) cuando tiene un "0"lgico en su

    entrada.

    Vss = Ground o Tierra VDD = Fuente Positiva (+5V)

    OSC2/CLKOUT = Entrada del Oscilador del Cristal. Se

    conecta al Cristal o Resonador en modo XT (Oscilador de

    Cristal). En modo RC (ResistenciaCondensador), este pin

    acta como salida el cual tiene de la frecuencia que entra

    por el pin OCS1/CLKIN.

    OSC1/CLKIN = Entrada del Oscilador del Cristal / Entrada de

    reloj de una Fuente Externa.

    Perifricos

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    46/47

    Taller de Programacin de PICs. 46

    Perifricos

    RA3:RA0

    Si trabaja como salida:

    1.El TRIS Latch contiene un 0.

    2. El dato aparece en la lnea del

    bus de datos interno.

    3. Se activa WR Portalmacenando

    el dato, Si D=1, Qneg=0.

    4. Las salidas Or y And sern 0,

    conduciendo el PMOS.

    5. La lnea exterior queda en nivelalto al conectarse a VDD.

    6.ElData Latch mantiene la salida

    hasta que no se reescriba.

    PUERTO A

    Perifricos

  • 7/31/2019 _PROGRAMACION DE PICS I - Conceptos Bsicos

    47/47

    Perifricos

    Si trabaja como entrada:

    1.El TRIS Latch contiene un 1,

    lo cual desactiva al PMOS junto

    al NMOS en alta impedancia.2. El dato aplicado al puerto desde

    el exterior pasa al bus interno al

    habilitar aRD PORT.

    3. Al leer una lnea de entrada se

    obtiene el estado actual del pin

    correspondiente.

    4. La informacin debe mantenerse

    durante el ciclo de instruccin.

    RA3:RA0