Ir al contenido principal

Entradas

Mostrando entradas de junio, 2016

Recepcion Serial de una Cadena

Para recibir datos, es necesario Revisar La Bandera de Recepción de Datos Serial "RCIF", Cuando esta bandera se establece, es decir, SE PONE A UNO "1" (RCIF==1), nos está indicando  que ha llegado un dato. ¿Donde Buscamos el Dato que ha Llegado.?   Para leer el Dato que ha llegado, leemos el registro RCREG, este registro contiene el dato que ha llegado vía comunicación serial. Luego de leer el Dato, ó de atender cualquier interrupción, debemos borrar la bandera que nos indicó el evento de la interrupción, para este caso de comunicación serial borramos la bandera RCIF. PERO cuando leemos el REGISTRO "RCREG", esta bandera se borra automáticamente por Software. FUNCIÓN PARA RECIBIR UN DATO int   EUSART_RX  () { // COMPROBAMOS SI HA LLEGADO UN  DATO      while  ( RCIF ==0){ }  // EL BIT RCIF ES LIMPIADO CUANDO SE LEE EL REGISTRO                             ...

LIBREIAS PARA PIC 18

Se trata de una libreria que nos proporciona la MICROCHIP, donde contamos con subrutinas y funciones prediseñadas para configurar los periféricos de los microcontroladres de la serie PIC18. Esta libreria esta disponible y gratiuta  en la pagina de la MICROCHIP, donde podemos descargarla. http://www.microchip.com en la pestaña de DESIGN SUPPORT hacemos click en  Development Tools y selececionamos Compilers, en esta pagina seleccionamos Donwloads y nos dirigmos hasta la seccion de  Peripheral Libraries (PLIBS) Legacy Peripheral Libraries PIC18F Legacy Peripheral Libraries v2.0 - Windows     LINK DE DESCARGA. Después de instalar la librería, ésta crea una carpeta "plib" en la ruta donde se instalo en compilador C:\Program Files\Microchip\xc8\v1.37\sources\pic18\plib, y en esta carpeta esta los archivos ".h" que contiene esta libreria. Para utilizar un archivo de esta Libreria, incluimos la ruta del archivo de la libreria en nuestro programa princ...

TIMER 1

El Módulo Timer1 es un Contador/Temporizador con una Resolución de 16 bits en dos registros concatenados TMR1L y TMR1H. También puede ser configurado como fuente de oscilador para el microcontrolador ya que cuenta con su propio oscilador de baja-potencia. Además se puede utilizar para aplicaciones como, generar un reloj de tiempo real. ¿Cómo configuramos el Módulo Timer1?  Para configurar el Módulo TIMER1, elegimos el  Modo de Operación que deseamos. Modo de Operación:  Tenemos 3 opciones en que puede operar el Modulo Timer1. Temporizador. Contador Síncrono. Contador Asíncrono. TEMPORIZADOR Para este modo de operación como TEMPORIZADOR, el Modulo Timer1, incrementa los registros de trabajo del TIMER1 que son TMR1H:TMR1L, es decir,  por cada ciclo de instrucción (4/Fosc) se incrementará TMR1H:TMR1L, este incremento va desde 0000h hasta FFFFh (0 a 65536), en el momento que esto ocurre el modulo avisara que ha ocurrido un desbordamiento. C...

EUSART

Configuración Comunicación Serial. Registros a Configurar:     TXSTA = Control y Estado de Trasmisión.     RCSTA = Control y estado de Recepción.     BAUDCON = Control del Generador De Baudio. Para modo de Operación Asíncrono:   Configurar los siguientes Registros:     Registro de Control y Estado de Transmisión (TXSTA).           Configurar los siguientes Bits:          Modo Asíncrono SYNC=0.          Habilitar Transmisor TXEN=1.          8 Bits de datos a transmitir TX9=0.          Baud Rate Alta Velocidad BRGH=1.    Registro de Control y Estado de Receptor (RCSTA).           Configurar los Siguientes Bits:          Habilitar Puerto Serial SPEN=1.          8 datos a Recibir RX9=0.   ...

TIMER 0

TEMPORIZADOR                     El módulo TIMER0, puede ser configurado como CONTADOR o como TEMPORIZADOR Módulo TIMER0 como TEMPORIZADOR: Para Configurar el Módulo TIMER0 como TEMPORIZADOR, tomaremos en cuenta lo siguiente: El Registro de Control para el TIMER0 es T0CON Acrivar el Timer0 TMR0 (T0CON<7>).   TMR0=1 Habilitado.   TMR0=0 Deshabilitado. Definir el Tamaño del Registro de Trabajo del TIMER0 T08BIT (T0CON<6>)   T08BIT=1   8 Bits.   T08BIT=0   16 Bits. Asignar el origen de la Fuente de Reloj a la Frecuencia de Trabajo.   T0CS=0 Fuente de Reloj Interna. Activar el prescaler para el TIMER0.   PSA=0 prescaler activo.   PSA=1 Prescaler desactivado. Establecer un valor para el Prescaler.   T0PS2:T0PS1      000=1:2      001=1:4      010=1:8      011=1:16      100=1...

LCD

Las siguientes Líneas de Código, configuran el funcionamiento de la LCD.} Se muestran 5 Funciones definidas: 1. void LCD_ENVIAR (char a) Esta función está diseñada para imprimir un carácter en la LCD con un bus de 4 Datos. Primero Envía el Nibble mas Significativo y Luego envía el Nibble menos Significativo, para esto la función LCD_ENVIAR define un parámetro tipo Carácter " char a". El caracter a enviar se guarda en dos variables: la Variable "a" y la Variable "temp", en la variable temp dejo los 4 bits mas significativo "Nibble Alto", y luego para enviar los 4 bits menos significativo, rotamos 4 veces la variable "a" a la izquierda. 2. void LCD_DATO (char a) Esta función está diseñada para enviar un solo carácter, la misma define un parámetro para argumentar el carácter que queremos enviar. Esta función establece mediante la linea RS=1 el envío de carácter. 3. void LCD_CMD (char a) Esta función establece que e...

INTERRUPCIONES

Definición                                                                                        Una interrupción es una subrutina ejecutada desde una dirección de memoria de Programa ROM, cada vez que ocurre un evento previamente configurado, el contador de programa se ubica en dicha dirección de memoria, y comienza a ejecutar las instrucciones programadas desde esa dirección de memoria. Estos dispositivos cuentan con múltiples fuentes de interrupción, por ejemplo, Conversor Analógico Digital, Recepción Serial, Contador, Entre Otros.          La dirección donde comienza a ejecutarse esta subrutina para el PIC 18f4550 es:          08h Cada vez que ocurre una Interrupción, se activa un bit, es decir, u...

Practicas

2. LCD MENSAJE Realizar un programa donde se  Establezcan  Los diferentes Comando para presentar un mensaje en la LCD, imprimir un mensaje y a través de un teclado elegir las opciones ya establecidas. Ejemplo:  Desplazamiento de Display    Derecha:    Izquierda:  Desplazamiento de Cursor    Derecha:    Izquierda: Activar:   Display   Caracter   Cursor. Archivo LCD.h Comandos LCD  : En esta diapositiva están las combinaciones de comandos. 3. Diseñar un programa para Configurar los Registros de Control de Los Siguientes Timers: TIMER0, TIMER1, TIMER2,  Parámetros a Configurar:         1. Modo de Operación:                Contador.               Temporizador.         2. Habilitar o Deshabilitar el Timer.         3. Transición del Flanco de R...