Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

download Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

of 14

Transcript of Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    1/14

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    2/14

    II. Tema:

    Manejo de Microcontroladores, entradas, fusibles interrupciones, teclados y LDC,.

    III. Objetivos

    General

    Definir los principales usos y configuraciones que se pueden aplicar a un

    microcontrolador identificando su forma de trabajo en forma clara y concisa.

    Especficos

    Explicar los parmetros de configuracin inicial de los puertos de un

    microcontrolador.

    Describir las interrupciones que se pueden programar en un microcontrolador

    Identificar la forma de trabajo de los teclados matriciales en conjunto con los

    microcontroladores.

    Efectuar la revisin de la forma de configuracin del microcontrolador al

    trabajar con las pantallas de cristal lquido LCD ms comunes.

    IV. Introduccin

    Los microcontroladores estn siendo empleados en multitud de sistemaspresentes en nuestra vida diaria, como pueden ser juguetes, horno microondas,

    frigorficos, televisores, ordenadores, impresoras, mdems, el sistema de

    arranque de nuestro vehculo, etc. Adems de otras aplicaciones como

    instrumentacin electrnica, control de sistemas, etc.

    V. Desarrollo

    MANEJO DE PUERTOS

    USE FAST IO

    Esta directiva afecta al cdigo que el compilador generar para las instrucciones de

    entrada y salida. Este mtodo rpido de hacer I/O ocasiona que el compilador realice

    I/O sin programar el registro de direccin. El puerto puede ser A-G [1]. Con esto el

    programador podr fijar las direcciones de los pines del puerto correspondiente

    SET_TRIS_X (valor).

    Ejemplo:#use fast_io(A)

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    3/14

    SET TRIS

    Estas funciones permiten escribir directamente los registros tris-estado para la

    configuracin de los puertos.

    SET_TRIS_A(value)SET_TRIS_B(value)

    SET_TRIS_C(value)

    SET_TRIS_D(value)

    SET_TRIS_E(value)

    Esto debe usarse con FAST_IO() y cuando se accede a los puertos de I/O como si

    fueran memoria, igual que cuando se utiliza una directiva #BYTE. Cada bit de value

    representa una patilla. Un '1' indica que la patilla es de entrada y un '0' que es de

    salida[2].

    Ejemplo:

    SET_TRIS_B( 0x0F ); //pone B0, B1, B2 y B3 como entradas; B4, B5, B6 y B7 // como salidas

    FUSIBLES

    Los bit's de configuracin o mas comnmente llamados "fusibles" permiten configurar

    ciertas funciones en los microcontroladores PIC, como el tipo de cristal para el

    oscilador, permiten proteger el cdigo en el micro, entre muchas funciones. La cantidad

    de funciones que se pueden configurar con los fusibles dependen del microcontrolador[3]

    .

    Todos los PIC disponen de un cierto nmero de bits para configurar el

    microcontrolador. Estos bits de configuracin estn disponibles en memoria no voltil

    (EEPROM) cuando se programa el dispositivo, pero no son accesibles durante el

    funcionamiento normal del microcontrolador. Los bits de configuracin permiten que el

    usuario programe ciertas caractersticas del dispositivo para adaptarlo mejor a las

    necesidades de la aplicacin [4].

    Las caractersticas que se programan en los bits de configuracin son las siguientes:

    El tipo de oscilador. La habilitacin o no del perro guardin.

    La proteccin de la memoria de programa.

    La proteccin de la memoria EEPROM de datos, si existe en el dispositivo.

    Las caractersticas del reset y la alimentacin del dispositivo.

    Segn el dispositivo concreto, puede que alguna de estas caractersticas no sea

    programable[5].

    Los bits de configuracin de cada PIC se lo puede encontrar en los datasheets

    correspondientes a los PICs estas se las puede encontrar en el captulo 14.0.- Special

    Features of the CPU en la parte Customer Notification System.

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    4/14

    A continuacin se presenta los bits de configuracin del PIC 16F887[6]:

    Power-on Reset (POR)

    Power-up Timer (PWRT)

    Oscillator Start-up Timer (OST)

    Brown-out Reset (BOR)

    Interruptores

    Watchdog Timer (WDT).- establece la configuracin para el reinicio del micro cuando

    el mismo se cuelgue o tenga un error de carga del programa permitiendo seguridad en

    funcionamiento del micro.

    Oscillator selection.- establece el oscilador que va utilizar el micro, sea este interno o

    externo

    Sleep.- pone en modo de espera al micro cuando l no est en uso permitiendo ahorro de

    energia

    Code protection.- protege el programa anti copia, permitiendo bloquear todo tipo de

    copia mediante programas y reservando derecho de autor.

    ID Locations.- selecciona la localizacin del ID de procesos para el funcionamiento del

    micro

    In-Circuit Serial Programming

    Fig. 1 CONFIG1: Configuration word register 1

    Fig. 2 CONFIG2: Configuration word register 2

    INTERRUPCIONES

    Es un evento de origen interno o externo que, si es atendido, hace que el

    microcontrolador interrumpa la ejecucin del programa en curso y en su lugar se ejecute

    las instrucciones de otro programa. Normalmente, cuando el programa interrumpido,

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    5/14

    justo con la instruccin que sigue a la que se estaba ejecutando cuando se produjo la

    solicitud de interrupcin[7].

    Las interrupciones es un Sistema que provoca un salto a una subrutina, pero disparada

    por un evento del hadware. Se diferencia de los saltos a subrutinas generados por el

    software, como el producido por la instruccin CALL, en lo siguiente:

    La interrupcin es atemporal; el microcontrolador nunca sabe cundo va a

    ocurrir.

    Cuando la interrupcin ocurre, el procesador abandona el programa que est

    ejecutado y pasa a procesar una rutina que se encuentra a partir de una posicin

    de memoria fija denominado vector de interrupcin.

    En las interrupciones se salva el contenido interno de los registros ms

    importantes del procesador, de modo que luego, al volver al programa que se

    est ejecutando, se prosiga sin alteraciones[8].

    .

    Fig. 3 Proceso de interrupcin

    La familia Pic16F87x tiene 13 fuentes de interrupciones. Al aceptarse una interrupcin

    se salva el valor del PC (contador de porgrama) en la pila y se carga aquel con el valor

    0004h, que es el Vector de Interrupcion. La mayora de los recursos o perifricos de

    que disponen los Pic16F87x son capaces de ocasionar una interrupcin.

    1. Desbordamiento del TMR0

    2. Activacin de la patita de interrupcin RB0/INT

    3. Cambio de estado de una de las cuatro patitas de ms peso del puerto B

    4. Finalizacin de la escritura de un byte en la EEPROM

    5.

    Desbordamiento del Timer1

    6.

    Desbordamiento del Timer2

    7.

    Captura o comparacin en el mdulo CCP1

    8. Captura o comparacin en el mdulo CCP2

    9. Transferencia en la puerta serie Sncrona

    10.

    Colisin de bus en la puerta serie Sncrona

    11.Fin de la transmisin en el USART

    12.

    Fin de la recepcin en el USART

    13.Fin de la conversin en el conversor A/D

    14.Transferencia en la puerta paralela esclava

    CONEXIN DE UN TECLADO MATRICIAL

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    6/14

    No existe un estndar para los conectores de los teclados en aplicaciones de los sistemas

    de microcontrol, de tal forma que cada modelo exige un hardware de conexin y una

    subrutina de manejo distintos.

    La configuracin ms sencilla es la conocida como matricial, con 4 renglones y 4columnas, para un total de 16 botones.

    Fig. 4 Diagrama del teclado y su interfaz con sistema EB88

    El teclado viene organizado con 4 renglones (X1...X4) y 4 columnas (Y1...Y4), de tal

    forma de que cada tecla queda identificada por la interseccin de un rengln y una

    columna. En la figura se muestran los diagramas del teclado, as como de la asignacin

    de seales en el puerto B, en el conector del sistema y en el conector del teclado. Las

    seales RB0...RB3 se programan como salidas del puerto B, mientras las seales

    RB4...RB7 como entradas.

    El programa de control del teclado tiene dos partes: una es la subrutina de "deteccin"

    en la cual el programa detecta que se oprimi una tecla. En su segunda parte, aparece la

    subrutina de "identificacin" mediante la cual el programa identifica que tecla fue la que

    se oprimi.

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    7/14

    Fig. 5 Teclado 4 X 4

    Algoritmo de deteccin e identificacin:La tcnica de programacin para detectar qubotn fue oprimido, es escribir en los bits del puerto B en forma secuencial un CERO

    en las columnas Y1, Y2, Y3, Y4, y leer cada vez los renglones X1, X2, X3, X4. Cuando

    una tecla es oprimida, la lectura en alguno de los renglones ser CERO y el cdigo de

    8 bits X-Y hallado se convierte en el cdigo ASCII de la tecla oprimida mediante una

    tabla. La tabla muestra esta relacin:[7]

    RB7RB0 HEXA TECLA RB7..RB0 HEXA TECLA

    11101110 EE "0" 10111110 BE "8"11101101 ED "1" 10111101 BD "9"

    11101011 EB "2" 10111011 BB "A"

    11100111 E7 "3" 10110111 B7 "B"

    11011110 DE 4 01111110 7E "C"

    11011101 DD 5 01111101 7D D

    11011011 DB 6 01111011 7B E

    11010111 D7 7 01110111 77 F

    Al tener una secuencia es deducible saber la forma de trabajo del teclado 3 X 3 puesto

    que la combinacin de valores solo se reduce a 9 valores.

    CONEXIN DE UNA PANTALLA LCD

    La pantalla LCD es otro dispositivo muy verstil y viene en una gran cantidad de

    modelos y configuraciones. Sirven como ventana a datos, configuraciones o despliegue

    de informacin donde un LED no es suficiente.

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    8/14

    Fig. 6. LCD genrica 16X2

    Lo primero que debemos saber, es la conexin de la pantalla LCD segun el tipo que

    vamos a usar y para esto consultaremos el datashet de una pantalla LCD genrica 16X2

    es decir 2 filas de 16 caracteres cada una.

    Fig. 7. Diagrama de la pantalla LCD

    Se puede dividir el diagrama en dos partes, la parte de "control y despliegue"(izquierda)y la parte de "alimentacin y ajuste" (derecha).

    Fig. 8. Control y Despliegue LCD

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    9/14

    Fig. 9. Conexin Iluminacin LCD

    No es obligatorio conectar el (LED BACKLIGHT) para que funciones la LCD, ya que

    es es un circuito independiente, lo interesante es que se puede usar un interruptor

    normal o uno mediante un circuito de conmutacin

    Para los dems pines voy a colocar la descripcin que me da la hoja del fabricante.

    Fig. 10. Descripcin de los pines y su funcin

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    10/14

    Cdigo utilizado para la manipulacin de LCD

    FUNCION DESCRIPCION

    InitIO( )Enva los comandos para inicializar el LCD. El cursor se

    posiciona en (0,0).

    ClearScreen( ) Pone las 16 celdas del LCD en blanco.

    GotoXY(1,5) Posiciona el cursor en el rengln 1, celda 5

    PrintString("ANSI

    C")

    Escribe el texto entrecomillado, iniciando en la celda en donde se

    encuentre posicionado el cursor. Mximo 8 caracteres.

    PrintString(wob)

    La funcin acepta como parmetro de entrada un string, en este

    ejemplo de nombre "wob". Escribe en el LCD el contenido del

    string. Mximo 8 caracteres. Vea el programa de prueba 3

    PutChar('*')Escribe el caracter indicado en la posicin en donde se encuentre

    el cursor. Observe que deben usarse diresis y no comillas.

    PutChar(53); se enva el cdigo ASCII del nmero 5, cuyo valor decimal es 53

    PutChar(x);se enva al LCD, en un solo caracter, el valor de la variable x, que

    debe ser un cdigo ASCII.

    DelayMs(100)Realiza un retraso de 100 milisegundos. El valor mximo es

    30,000.

    LCD 20x4

    Todos los lcd de 20x4 requiere una alimentacin de 3v a 5v, a diferencia del lcd 16x2

    este dispositivo permite visualizar ms datos en la configuracin de salida, permitiendo

    una mayor rapidez en la obtencin y visualizacin de datos configurados en salida en la

    pantalla con un PIC.

    Los pines de salida del mdulo son:

    1

    23

    4

    5

    6

    7

    8

    9

    10

    1112

    Tierra

    VCC (Por lo general, +5 V)Ajuste de contraste (VO)

    Registrar Select (RS).

    RS = 0: Comando, RS = 1: Datos

    Lectura / escritura (R / W).

    R / W = 0: Escribir, R / W = 1: Leer

    Enable

    Bit 0 (No se requiere en la operacin de 4 bits)

    Bit 1 (No se requiere en la operacin de 4 bits)

    Bit 2 (No se requiere en la operacin de 4 bits)

    Bit 3 (No se requiere en la operacin de 4 bits)

    Bit 4Bit 5

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    11/14

    13

    14

    15

    16

    Bit 6

    Bit 7

    LED de luz de fondo del nodo (+)

    LED de luz de fondo del ctodo (-)

    Por lo general, el dispositivo requiere 8 lneas de datos para proporcionar datos a Bits 0-

    7. Sin embargo, esta pantalla LCD se puede configurar para utilizar un modo "de 4

    bits", que le permite enviar datos en dos trozos de 4 bits. Esto reduce el nmero de

    conexiones GPIO que necesita, al conectarse con su pic.[9]

    Fig.10 LCD 20x4

    Correspondencia entre los cdigos de caracteres y patrones de caracteres (Cdigo deROM: A00)

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    12/14

    Fig 11.- tabla de correspondencia de datos en la ROM[10]

    Instrucciones para LCD 20x4

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    13/14

    Fig. 12.- tabla de instrucciones para el LCD 20x4[10]

    VI. Conclusiones

    Se pudo explicar los parmetros necesarios en la configuracin inicial de los

    puertos presentes en un microcontrolador ya inicializando el valor o

    identificando su forma de trabajo.

    Al describir las interrupciones se puede observar que al programar existe cdigo

    que permite cortar la secuencia que realiza un microcontrolador

    Se logra identificar la forma de configuracin que poseen los teclados

    matriciales dentro de los microcontroladores permitiendo as la insercin de

    datos directos desde una fuente externa.

    Al efectuar la revisin sobre de configuracin del microcontrolador cuando al

    mismo se le aade pantallas de cristal lquido se identifica como es posible

    obtener resultados de un proceso por medio de dispositivos externos que ayudan

    a la visualizacin de informacin.

  • 8/10/2019 Manejo de Microcontroladores, Entradas, Fusibles Interrupciones, Teclados y LDC,.

    14/14

    VII. Referencias bibliogrficas

    [1]Manual CCS, http://www.cursos.ucv.cl/eie48700/referencias/CCS_C_Manual.pdf

    [2] Programando microcontroladores pic, dialnet.unirioja.es/descarga/

    articulo/4587553.pdf

    [3] http://xorwf.blogspot.com/2010/08/fusibles-de-configuracion-bits-de.html

    [4] FernandoE.,ValdsP.,RamnP., Microcontroladores: fundamentos y aplicaciones

    con PIC, Marcobombo S.A., Espaa(2007) pp 36

    [5] FernandoE.,ValdsP.,RamnP., Microcontroladores: fundamentos y aplicaciones

    con PIC, Marcobombo S.A., Espaa(2007) pp 37

    [6] Microchip, PIC16F882/883/884/886/887 Data Sheet

    [7] FernandoE.,ValdsP.,RamnP., Microcontroladores: fundamentos y aplicaciones

    con PIC, Marcobombo S.A., Espaa(2007) pp 217

    [8] Users Staff, Microcontrolador, Dalaga S.A., Buenos Aires(2011) pp 66

    [9] http://www.raspberrypi-spy.co.uk/2012/08/20x4-lcd-module-control-using-python/

    [10] http://www.systronix.com/access/Systronix_20x4_lcd_brief_data.pdf