Práctica 6 – ADC Set Point

 

INTRODUCCIÓN

 

En esta práctica se implementa un control de encendido y apagado de un LED mediante un valor analógico de referencia, el cual proporciona la lectura de un potenciómetro conectado al puerto ADC. Si la lectura del potenciómetro es arriba de 2.5 V el LED se enciende, de lo contrario, si esta por debajo del valor el LED se apaga. Esta práctica utiliza el módulo I/O’s ADC de Microside para facilitar componentes y conexiones.

 

Selecciona la plataforma y entorno de programación.

 

 

PIC
AVR
ARDUINO
PIC
PIC C Compiler
MikroC PRO
MPLAB X IDE
PIC C Compiler
Bootloader PIC18FX5K50
Bootloader PIC18FX5K50

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28, con el PIC18F45K50 o el PIC18F25K50. El potenciómetro se conecta en el pin A3, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin A1 incluido en los módulos X-TRAINER P8.

 

Materiales:

1 x Módulo X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Juego de cables Dupont. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

PIC C Compiler v5.069 o posterior Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama Esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código", que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el compilador, pega el código en un nuevo proyecto. En el siguiente link encontrarás un manual para compilar en PIC C Compiler.

4. Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste, en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

 

Diagrama esquemático

 

X-TRAINER P8
X-TRAINER P8 DIP 40
X-TRAINER P8 DIP 28
X-TRAINER P8

X-TRAINER P8 DIP 40

X-TRAINER P8 DIP 28

 

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Implementar una lectura analógica de un potenciómetro, si el valor del ADC supera

un Set Point, el LED encenderá.

**************************************************************************/

 

#include <18F45K50.h>                           //Incluye la librería para el PIC ( para X-TRAINERp8DIP28: #include <18F25K50.h> )

#DEVICE ADC=8                                   //Configura el ADC a 8 bits

#use delay(internal=48MHz)                     //Configura frecuencia del oscilador interno

#build(reset=0x02000,interrupt=0x02008)   //Asigna los vectores de reset e interrupción para la versión con bootloader

#org 0x0000,0x1FFF {}                             //Reserva espacio en memoria para el bootloader

#define LED PIN_A1                                //Pin donde está conectado el LED de X-TRAINER

 

int ValorPot;                                             //Variable para almacenar el valor leído del ADC

 

void SisInit(void)

{

setup_adc_ports (sAN3);                           //Configura solo el puerto A0 como entrada analógica

setup_adc (ADC_CLOCK_INTERNAL);     //Configura oscilador interno para la conversión

}

 

void main()

{

    SisInit();

 

    while (1)

  {

       set_adc_channel (3);                           //Selecciona el canal 0 para la conversión

       ValorPot = read_adc ();                        //Lee el valor del ADC y lo guarda en la variable

      if (ValorPot >= 128)                               //Compara el valor de el ADC con 114

             {

                     output_HIGH (LED);               // Leds activos

             }

      else

             {

                    output_LOW (LED);                 // Leds activos

             }

       }

}

 

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 6 – PIC – Bootloader-PIC C Compiler

Descargar código en PIC C Compiler de la práctica 6.

MikroC PRO
Bootloader PIC18FX5K50
Programador XCU
Bootloader PIC18FX5K50

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28, con el PIC18F45K50 o el PIC18F25K50. El potenciómetro se conecta en el pin A3, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin A1 incluido en los módulos X-TRAINER P8.

 

Materiales:

1 x Módulo X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Juego de cables Dupont. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

MikroC PRO for PIC. Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama Esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código", que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el compilador, pega el código en un nuevo proyecto, selecciona en el apartado de librerías la necesaria para esta práctica como se muestra en la siguiente imagen y realiza la compilación. En el siguiente link encontrarás un manual para compilar en MikroC PRO for PIC.

4. Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste, en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

 

Diagrama esquemático

 

X-TRAINER P8
X-TRAINER P8 DIP40
X-TRAINER P8 DIP28
X-TRAINER P8

X-TRAINER P8 DIP40

X-TRAINER P8 DIP28

 

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Controlar el encendido y apagado de un LED, por medio de la lectura de un puerto ADC.

**************************************************************************/

/**************************************************************************

Para usar el código con bootloader MICROSIDE:

1) Tools>Options>Output>Output Settings>Marcar «Long HEX format»

2) Project>Edit Project>Insertar 48000000 en «MCU Clock Frequency [MHz]» box

**************************************************************************/

#pragma orgall 0x1FFF                                                                             //Espacio reservado para bootloader

#define LED_ON LATA1_bit = 1                                                            //Se definen las variables globales de salida del LED en sus dos

estados

#define LED_OFF LATA1_bit = 0                                               

unsigned int ValorPOT;                                                                             //Se define una variable global para la lectura analógica                     

void SisInit(void)                                                                                         //Se inicializa el PIC

{                                                                                                                       //Se configura el oscilador interno

              OSCTUNE = 0x80;                                                                       //Se activa el multiplicador de frecuencia 3X PLL

              OSCCON = 0x70;                                                                          //Se cambia de HFINTOSC a 16MHz

              OSCCON2 = 0x10;                                                                        //Se habilita el PLL, oscilador primario deshabilitado

              while (PLLRDY_bit==0);                                                           //Se crea un bucle donde se estabiliza la frecuencia

              ACTCON = 0x90;                                                                          //Mantiene la frecuencia una vez estable

                                                                                                                         //Se configuran las entradas y salidas del PIC

             LATA1_bit = 0;                                                                               //Se escriben ceros a la salida del pin A1

             TRISA1_bit = 0;                                                                             //Se declara el pin A1 como salida

             ANSA1_bit = 0;                                                                              //Se declara el pin A1 como señal digital

             TRISA3_bit = 1;                                                                             //Se declara el pin A3 como entrada

             ANSA3_bit = 1;                                                                              //Se declara el pin A3 como señal analógica

}

void main() org 0x2000                                                                             //Se crea el vector de inicio usando bootloader MICROSIDE

{

               SisInit();                                                                                         //Se manda a instanciar la configuración del PIC

               ADC_Init_Advanced(_ADC_INTERNAL_REF);                 //Se manda a llamar la librería y voltaje de referencia a VDD y GND

               while (1)                                                                                          //Mientras sea verdadero se ejecutará el código

                              {

                                 ValorPOT=ADC_Get_Sample(3);                           //Lee el valor analógico del potenciómetro por el pin A3

                                  if(ValorPot <=512)                                                     //Compara el valor del ADC con 512

                                         {

                                          LED_OFF;                                //Apaga el LED

                                         }

                                  else

                                        {

                                         LED_ON;                                    //Enciende el LED

                                        }

                             }

}

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 6 – PIC – Bootloader

Descargar código en mikroC PRO for PIC de la práctica 6.

Programador XCU
PIC10F
PIC12F
PIC16F
PIC18F
PIC10F

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-TRAINER P8, con el PIC10F322. El potenciómetro se conecta en el pin A0 el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin A1 incluido en los módulos X-TRAINER P8.

 

Materiales:

1 x Módulo X-TRAINER P8. Comprar

1 x Módulo Programador XCU. Comprar

1 x Microcontrolador PIC10F322. Comprar

1 x Módulo I/O´s ADC. Comprar

1 x Juego de cables Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

MikroC PRO for PIC. Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama Esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código", que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el compilador, pega el código en un nuevo proyecto, selecciona en el apartado de librerías la necesaria para esta práctica como se muestra en la siguiente imagen y realiza la compilación. En el siguiente link encontrarás un manual para compilar en MikroC PRO for PIC.

4. Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste, en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-TRAINER P8
X-TRAINER P8

 

Código 

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Implementar una lectura analógica de un potenciómetro, si el valor del ADC supera

un set point, el LED encenderá.

**************************************************************************/

/**************************************************************************

Para configurar el oscilador interno:

1) Project>Edit Project, insertar 16000000 en «MCU Clock Frequency [MHz]» box

2) Project>Edit Project>Oscillator>Seleccion bit>Seleccionar «INTOSC oscillator: CLKIN function disabled»

**************************************************************************/

#define LED_ON LATA1_bit = 1                               // LED encendido

#define LED_OFF LATA1_bit = 0                            // LED apagado

char Bool_Var= 0x00;

unsigned int ValorPOT;

void SisInit(void) {                                                       //Inicializa el PIC                             

                     OSCCON = 0X7B;                            // 0111 1011 16MHz

                                                                                      //Configurar entradas y salidas

                               LATA1_bit = 0;                              //Salida a 0

                               TRISA1_bit = 0;                             //Pin como salida

                               ANSA1_bit = 0;                              //Pin como digital

                               ANSA0_bit = 1;                              //PIN como analógico

}

void main()

{      

SisInit();

                  ADC_Init();                                                                  //Voltaje de referencia a VDD

                   while (1)

                  {

                                     ValorPOT=ADC_Get_Sample(0);                       //Leer el valor del potenciometro de A0

                                                       if (ValorPOT<=128) {                        //Pregunta el estado del boton

                                                         LED_OFF;                                         //Apaga el LED

                                                   } else {

                                                         LED_ON;                                            //Enciende el LED

                                                   }

                   }

}

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 6-XCU-PIC10F322

Desacargar el código en mikroC PRO for PIC de la práctica 6.

 

PIC12F

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-TRAINER P8, con el PIC12F1572. El potenciómetro se conecta en el pin A0, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin A1 incluido en los módulos X-TRAINER P8.

 

Materiales

1 x Módulo X-TRAINER P8. Comprar

1 x Módulo programador XCU. Comprar

1 x Microcontrolador PIC12F1572. Comprar

1 x Módulo I/O´s ADC. Comprar

1 x Juego de cables Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

Software

Windows 7 o posterior.

MikroC PRO for PIC. Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama Esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código", que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el compilador, pega el código en un nuevo proyecto, selecciona en el apartado de librerías la necesaria para esta práctica como se muestra en la siguiente imagen y realiza la compilación. En el siguiente link encontrarás un manual para compilar en MikroC PRO for PIC.

4. Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste, en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-TRAINER P8
X-TRAINER P8

 

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Implementar una lectura analógica de un potenciómetro, si el valor del ADC supera

un set point, el LED encenderá.

**************************************************************************/

/**************************************************************************

Para ocnfigurar el osilador interno:

1) Project>Edit Project, insertar 16000000 en «MCU Clock Frequency [MHz]» box

2) Project>Edit Project>Oscillator>Seleccion bit>Seleccionar «INTOSC oscillator: CLKIN function disabled»

**************************************************************************/

#define LED_ON LATA1_bit = 1

#define LED_OFF LATA1_bit = 0

char Bool_Var= 0x00;

unsigned int ValorPOT;

void SisInit(void) {                                        //Inicializa el PIC

OSCCON = 0XF0;                                      // 11110000 32 MHz

 }                                                                    //Configurar entradas y salidas

  LATA1_bit = 0;                                           //Salida A 0

  TRISA1_bit = 0;                                         //PIN como salida

  ANSA1_bit = 0;                                         //PIN como digital

  ANSA0_bit = 1;                                          //PIN como analógico

}

void main()

{

  SisInit();                                                       // Se inicializa la función

  ADC_Init();                                                //Voltaje de referencia a VDD

  while (1)

      {

        ValorPOT=ADC_Get_Sample(0);              //Leer el valor del potenciometro de A0

        if (ValorPOT<=128) {                                    //Compara con el valor del Set Point

              LED_OFF;                                                 //Apaga el LED

     } else {

               LED_ON;                                                //Enciende el LED

               }

        }

}

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 6-PIC-XCU-12F1572

Descarga el código en mikroC PRO for PIC de la práctica 6.

PIC16F

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-TRAINER P8, con el PIC16F1827. El potenciómetro se conecta en el pin A3, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin A1 incluido en los módulos X-TRAINER P8.

 

Materiales:

1 x Módulo X-TRAINER P8. Comprar

1 x Módulo Programador XCU. Comprar

1 x Microcontrolador PIC16F1827. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Juego de cables Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

MikroC PRO for PIC. Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama Esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código", que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el compilador, pega el código en un nuevo proyecto, selecciona en el apartado de librerías la necesaria para esta práctica como se muestra en la siguiente imagen y realiza la compilación. En el siguiente link encontrarás un manual para compilar en MikroC PRO for PIC.

4. Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste, en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-TRAINER P8
X-TRAINER P8

 

Código 

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Implementar una lectura analógica de un potenciómetro, si el valor del ADC supera

un set point, el LED encenderá.

**************************************************************************/

/**************************************************************************

l) Project> Edit Project>Oscillator Selection Bits>seleccionae «INTOSC oscillator: I/O function on CLKIN pin»

2) Project>Edit Project, insertar 32000000 en «MCU Clock Frequency [MHz]» box

**************************************************************************/

#define LED_ON LATA1_bit = 1

#define LED_OFF LATA1_bit = 0

unsigned int ValorPOT;

void SisInit(void)

{

                                                                                                                  //Inicializa el PIC

                                                                                                                  //Configura el oscilador interno

     OSCCON = 0xF0;                                                                                  //Cambiar HFINTOSC a 16MHz

                                                                                                                  //Configurar entradas y salidas

     LATA1_bit = 0;                                                                                       //Salida

     TRISA1_bit = 0;                                                                                     //Pin como salida

     ANSA1_bit = 0;                                                                                     //Pin como digital

     TRISB = 0x00;                                                                                      //Puerto B como salida

     TRISA3_bit = 1;                                                                                    //PIN como entrada

     ANSA3_bit = 1;                                                                                    //PIN como analógico

}

void main()

{

      SisInit () ;

      ADC_Init_Advanced (_ADC_INTERNAL_REF);                                 //Voltaje de referencia a VDD

      while (1)

      {

             ValorPOT = ADC_Get_Sample (3);                                              //Leer el valor del potenciometro

             if (ValorPOT >= 512)                                                                     // el valor del potemciometro es igual o mayor

             {

                  LED_ON;

              }

              else

              {

                   LED_OFF;

              }

       }

}

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 6-PIC-XCU-16F

Descargar código en mikroC PRO for PIC de la práctica 6.

PIC18F

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-TRAINER P8 o X-TRAINER P8 DIP28, con el PIC18F25K22. El potenciómetro se conecta en el pin A3, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin A1 incluido en los módulos X-TRAINER P8.

 

Materiales:

1 x Módulo X-TRAINER P8 o X-TRAINER P8 DIP28. Comprar

1 x Módulo Programador XCU. Comprar

1 x Microcontrolador PIC18F25K22. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Juego de cables Dupont. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

MikroC PRO for PIC. Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama Esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código", que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el compilador, pega el código en un nuevo proyecto, selecciona en el apartado de librerías la necesaria para esta práctica como se muestra en la siguiente imagen y realiza la compilación. En el siguiente link encontrarás un manual para compilar en MikroC PRO for PIC.

4. Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste, en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-TRAINER P8
X-TRAINER P8 DIP28
X-TRAINER P8

X-TRAINER P8 DIP28

 

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Implementar una lectura analógica de un potenciómetro, si el valor del ADC supera

un set point, el LED encenderá.

**************************************************************************/

/**************************************************************************

1) Project> Edit Project> Oscillator Selection> Internal Oscillator»

2) Project>Edit Project>Insertar 64000000 en «MCU Clock Frequency [MHz]» box

**************************************************************************/

unsigned int ValorPOT;                                                                   //Se declara variable global para la lectura analógica

#define LED_ON LATA1_bit = 1                                                      //Se declaran las variables y estados de la salida LED

#define LED_OFF LATA1_bit = 0

void SisInit(void)                                                                             //Se inicializa el PIC

{                                                                                                     //Se configura el oscilador

              OSCCON = 0x78;                                                              //Se cambia la frecuencia a 16MHz

              PLLEN_bit = 1 ;                                                                 //Se habilita el multiplicador de frecuencia x4. Multiplica 16×4 = 64 MHz

              while (PLLRDY_bit == 0);                                                   //Se crea un bucle donde pregunta la frecuencia hasta que sea estable

                                                                                                              //Se configuran las entradas y salidas del PIC

              LATA1_bit = 0;                                                                       //Se escriben ceros a la salida del pin A1

              TRISA1_bit = 0;                                                                     //Se declara el pin A1 como salida

              ANSA1_bit = 0;                                                                      //Se declara el pin A1 como señal digital

              TRISA3_bit = 1;                                                                     //Se declara el pin A3 como entrada

              ANSA3_bit = 1;                                                                      //Se declara el pin A3 como señal analógica

}

void main()                                                                                            //Se inicializa el main principal

{

              SisInit () ;                                                                                 //Se manda a instanciar la configuración del PIC

              ADC_Init_Advanced (_ADC_INTERNAL_REF);         //Se manda a instanciar la librería y el voltaje de referencia a VDD

              while (1)                                                                                    //Se crea un bucle, mientras sea verdadero se ejecutará el código

                            {

                               ValorPOT = ADC_Get_Sample (3);                   //Se lee el valor del potenciometro por el pin A3

                               if (ValorPot <= 528)                                              //Se compara el valor de el ADC con 528, set point

                                   {

                                    LED_OFF;                        //Apaga el LED

                                   }

                                    else                                                                            //Si no se compara con el valor de ADC con 528

                                     {

                                    LED_ON;                         //Apaga el LED

                                   }

                              }

}

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 6 – XCU – PIC18F25K22

Descargar código en mikroC PRO for PIC de la práctica 6.

MPLAB X IDE
Bootloader PIC18FX5K50
Programador PK3 LITE
Bootloader PIC18FX5K50

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28, con el PIC18F45K50 o el PIC18F25K50. El potenciómetro se conecta en el pin A3, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin A1 incluido en los módulos X-TRAINER P8.

 

Materiales:

1 x Módulo X-TRAINER P8 o X-TRAINER P8 DIP40 o X-TRAINER P8 DIP28. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Juego de cables Dupont. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

MPLAB X IDE. Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama Esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código" que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, ejecuta MPLAB X IDE, pega el código en un nuevo proyecto y realiza la compilación. En el siguiente link encontrarás un manual para compilar tu proyecto en MPLAB X IDE.

4. Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste en el módulo. En el siguiente  link encontrarás el manual de usuario para el Software XIDE v1.0. 

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-TRAINER P8
X-TRAINER P8 DIP 40
X-TRAINER P8 DIP 28
X-TRAINER P8

X-TRAINER P8 DIP 40

X-TRAINER P8 DIP 28

 

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Implementar una lectura analógica de un potenciómetro y desplegar el valor

en 8 LEDs

**************************************************************************/

/**************************************************************************

Para configurar el Bootloader:

1) File>Project properties> XC8 Linker>Options categories>Memory models>ROM ranges> Esribir: 2000-7F00

2) File>Project properties> XC8 Linker>Options categories>Additional options>Codeoffset> Esribir: 2000

3) File>Project properties> Building>Marcar:Insert unprotected checksum in user ID memory

**************************************************************************/

#include <xc.h>

#include <stdint.h>

#define _XTAL_FREQ 48000000                                  //DEFINE LA FRECUENCIA DE 64MHz

#define POT_CH 0x03                                                //DEFINE EL CANAL

uint16_t ValorPOT = 0;                                                //DECLARA UNA FUNCIÓN

void SisInit(void) {                                                       //INICIALIZA EL PIC

//CONFIGURA EL OSCILADOR INTERNO

OSCTUNE = 0x80;                                                     //3X PLL

OSCCON = 0x70;                                                       //Cambiar HFINTOSC a 16MHz

OSCCON2 = 0x10;                                                     //Habilita PLL, oscilador primario deshabilitado

while (OSCCON2bits.PLLRDY == 0);

ACTCON = 0x90;

//CONFIGURAR ENTRADAS Y SALIDAS

TRISB = 0X00;                                                          //Puerto B como salida

TRISAbits.TRISA3 = 1;                                              //PIN como entrada

ANSELAbits.ANSA3 = 1;                                           //PIN como analógico

TRISAbits.TRISA1 = 0;                                              //PIN como salida

ANSELAbits.ANSA1 = 0;                                           //PIN como digital

//CONFIGURA ADC

ADCON0 = 0x01;                                                      // GO_nDONE stop; ADC habilitado;

ADCON1 = 0x00;                                                      // TRIGSEL CCP2; NVCFG VSS; PVCFG VDD;

ADCON2 = 0x0E;                                                     // ADFM derecha; ACQT 2; ADCS FOSC/64;

}

uint16_t ADC_Muestra(char canal) {                            //Lectura del canal ADC

ADCON0bits.CHS = canal;                                        //selecciona el canal

ADCON0bits.ADON = 1;                                           //Habilita ADC

ADCON0bits.GO_nDONE = 1;                                   //Inicia conversión

while (ADCON0bits.GO_nDONE);

return ((uint16_t) (ADRESH << 2) + (ADRESL>>6));

}

void main(void) {

    SisInit();                                                                     //INICIALIZA EL PIC

    LATB = 0X00;                                                             //VALOR INICIAL

          while (1) {

              __delay_ms(50);

              ValorPOT = ADC_Muestra(POT_CH);

              if (ValorPOT <= 114){

                 PORTB=0B00000000;

              } else if (ValorPOT <= 228){

                 PORTB=0B00000001;

              } else if (ValorPOT <= 342){

                  PORTB=0B00000011;

              } else if (ValorPOT <= 456){

                  PORTB=0B00000111;

              } else if (ValorPOT <= 570){

                  PORTB=0B00001111;

              } else if (ValorPOT <= 684){

                   PORTB=0B00011111;

              } else if (ValorPOT <= 798){

                   PORTB=0B00111111;

              } else if (ValorPOT <= 912){

                    PORTB=0B01111111;

              } else if (ValorPOT <= 1023){

                    PORTB=0B11111111;

            }

      }

}

 

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

Práctica 6-PIC-BOOTLOADER/MPLAB

Descargar código en MPLAB X IDE de la práctica 6.

 

Programador PK3 LITE

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-TRAINER P8 o X-TRAINER P8 DIP40, con el PIC18F47K42. El potenciómetro se conecta en el pin A3, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin A1 incluido en los módulos X-TRAINER P8.

 

Materiales:

1 x Módulo X-TRAINER P8 o X-TRAINER P8 DIP40Comprar

1 x Módulo Programador PK3 LITE. Comprar

1 x Microcontrolador PIC18F47K42. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Juego de cables Dupont. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

MPLAB X IDE. Descarga

 

Procedimiento

1. En el apartado de "Diagrama esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código" que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, ejecuta MPLAB X IDE, pega el código en un nuevo proyecto y realiza la compilación. 

4. Programa el código en el microcontrolador. En el siguiente link encontrarás un manual para compilar y programar tu proyecto en MPLAB X IDE.

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-TRAINER P8
X-TRAINER P8 DIP 40
X-TRAINER P8

X-TRAINER P8 DIP 40

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Implementar una lectura analógica de un potenciómetro, si el valor del ADC supera

un Set Point, el LED encenderá.

**************************************************************************/

                                                                                                 //Fusibles

#pragma config FEXTOSC = OFF                                     //Osilador externo deshabilitado

#pragma config RSTOSC = HFINTOSC_64MHZ          //Frecuencia de 64MHz

#pragma config CLKOUTEN = OFF                                 //Función CLOKOUTEN deshabilitada

#pragma config WDTE = OFF                                            //Deshabilitado WDT

#include <xc.h>

#include <stdint.h>

#define _XTAL_FREQ 64000000                                  //Define la frecuencia de 64MHz

#define LED_High() LATAbits.LA1 = 1;                        //Función para encender el LED 

#define LED_Low() LATAbits.LA1 = 0;                         ///Función para apagar el LED

#define POT_CH 0x03                                                        //Ddefine canal

uint16_t ValorPOT = 0;                                                       //Declaracion de función

void SisInit(void) {                                                              

//CONFIGURA EL OSCILADOR INTERNO

   OSCCON1 = 0X60;                                                         //NOSC HFINTOSC; NDIV 1;

   OSCCON3 = 0X00;                                                         //CSWHOLD procede; Oscilador secundario opera en Low power;

   OSCEN = 0X00;                                                               //Activación manual de osciladores

   OSCFRQ = 0X08;                                                            //HFFRQ 64_MHz;

   OSCTUNE = 0X00;                                                         //TUN 0;

//CONFIGURAR ENTRADAS Y SALIDAS

   TRISAbits.TRISA3 = 1;                                                 //PIN como entrada

   ANSELAbits.ANSELA3 = 1;                                       //PIN como analógico

   TRISAbits.TRISA1 = 0;                                                 //PIN como salida

   ANSELAbits.ANSELA1 = 0;                                       //PIN como digital

//CONFIGURA ADC

  ADCAP = 0x00;

  ADCON1 = 0x00;

  ADCON2 = 0x00;

  ADCON3 = 0x00;

  ADSTAT = 0X00;

  ADREF = 0X00;

  ADACT = 0X00;

  ADCLK = 0X3F;

  ADCON0 = 0x84;

}

uint16_t ADC_Muestra(char canal) {                       //Lectura del canal ADC

   ADPCH = canal;

   ADCON0bits.ADON = 1;                                       //Habilita ADC

   ADCON0bits.ADCONT = 0;

   ADCON0bits.ADGO = 1;                                      //Inicia conversión

   while (ADCON0bits.ADGO);

   return ((uint16_t) (ADRESH << 8) + ADRESL);

  }

void main(void) {

      SisInit();                                                                  

      LATB = 0X00;                                                        //Valor inicial

      while (1) {

           __delay_ms(50);

           ValorPOT = ADC_Muestra(POT_CH);

          if (ValorPOT <= 2048) {

                       LED_Low();                                          //Enciende el LED 

          } else {

                        LED_High();                                        //Apaga el LED

                }

         }

}

 

 

 

Descargas

Práctica 6-PIC-PK3

Descargar código en MPLAB X IDE de la práctica 6.

 

AVR
MikroC PRO
Atmel Studio 7
MikroC PRO
Programador XCU
Programador XCU

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-UNO o X-NANO. El potenciómetro se conecta en el pin C0, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin B5 incluido en los módulos X-UNO o X-NANO.


Materiales:

1 x Módulo X-UNO o X-NANO. Comprar

1 x Módulo programador XCU. Comprar

1 x Módulo X-AVR. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Juego de cables Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.


Software:

Windows 7 o posterior.

MikroC PRO for AVR. Descarga

XIDE v1.0 Descarga

 

Procedimiento

1. En el apartado de "Diagrama esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código" que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el compilador, pega el código en un nuevo proyecto, verifica en el apartado de librerías que este seleccionada la necesaria para esta práctica como se muestra en la siguiente imagen y realiza la compilación. En el siguiente link encontrarás un manual para compilar en MikroC PRO for AVR.

4. Abre el Software XIDE v1.0 y programa el código que descargaste o compilaste en el módulo. En el siguiente link encontrarás el manual de usuario para el Software XIDE v1.0. 

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-UNO
X-NANO
X-UNO

X-NANO

 

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

  Implementar una lectura analógica de un potenciómetro

   para encender o apagar un LED. 

**************************************************************************/

/**************************************************************************

     Registros de configuración:

     Project>Edit Project

     CKDIV8 = NO SPIEN = SI

     CKOUT = NO WDTON = NO

     RSTDISBL = NO EESAVE = SI

     DWEN = NO BOOTRST = NO

     Brown – out detection level al VCC = 2.7 V

     Boot Flash section size = 256 words…

     Start – up time PWRDWN / RESET: 16K CK / 14 CK + 65 ms

     Ext. Crystal Osc., Frequency > 8.0MHz, Show startup

     Insertar 16.000000 en «MCU Clock Frequency [MHz]» box

     En «Program Memory is used for»: Application (Boot Flash Section is reserved)

**************************************************************************/

#define LED_ON                 PORTB |= (1<<PORTB5)

#define LED_OFF               PORTB &= ~(1<<PORTB5)

 unsigned int ValorPOT;

void SisInit(void)

{

                                                                                                                 //Inicializa

}

void main()

{

                    SisInit ();

                    DDB5_bit = 1;                                                                     //B5 como salida

                    ADC_Init_Advanced (_ADC_INTERNAL_REF);     //Voltaje de referencia a VDD

                     while (1)

                     {

                              ValorPOT = ADC_Get_Sample (0);              //Leer el valor del potenciometro

                             if (ValorPOT <= 528)                                        //Compara el valor del ADC con 528

                             {

                                      LED_OFF;                                                            //Apaga  el led

                              }

                             else

                              {

                              LED_ON;                                                                       //Enciende el led

                               }

                      }

}

 

Descargas

Software XIDE v1.0

Descarga el software XIDE v1.0 

 

Práctica 6-XCU-AVR

Descargar código en mikroC PRO for AVR de la práctica 6.

 

Atmel Studio 7
Programador MKII LITE
Programador MKII LITE

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-UNO o X-NANO. El potenciómetro se conecta en el pin C0, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin B5 incluido en los módulos X-UNO o X-NANO.


Materiales:

1 x Módulo X-UNO o X-NANO. Comprar

1 x Módulo Programador MKII LITE. Comprar

1 x Módulo X-AVR. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Juego de cables Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

Atmel Studio 7. Descarga

 

Procedimiento

1. En el apartado de "Diagrama esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código" que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, ejecuta Atmel Studio 7, pega el código en un nuevo proyecto y realiza la compilación.

4. Programa el código que descargaste o compilaste en el módulo. En el siguiente link encontrarás un manual para compilar y programar tu proyecto en Atmel Studio 7.

5. Al terminar de programar, el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-UNO
X-NANO
X-UNO

X-NANO

 

Código 

Código

/**

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Controlar el encencido y apagado de un led, por medio de la lectura de un puerto ADC

**************************************************************************/

#include <avr/io.h>

#define F_CPU 16000000

#include <util/delay.h> 

int ValorPOT;

#define LED_ON PORTB |= (1<<PORTB5)

#define LED_OFF PORTB &= ~(1<<PORTB5)

void SistIni ()

 {

       ADMUX| = (1<<REFS0);                                                                                   // Selecciona Vref

       ADCSRA| = (1<<ADPS2)| (1<<ADPS1)| (1<<ADPS0)| (1<<ADEN);           //Habilita ADC.

       DDRD = 0xFF;                                                                                                  //Inicializa el puerto D como salida.

    }

   uint16_t ReadADC (uint8_t ADCchannel)

   {

         ADMUX = (ADMUX&0xF0)| (ADCchannel&0x0F);                                        //Selecciona el canal del ADC.

         ADCSRA| = (1<<ADSC);                                                                                   // Modo de coversión unica.

         while (ADCSRA& (1<<ADSC));                                                                        //Espera hasta que se complete la conversion de ADC.

         return ADC;

   }

int main ()

{

     SistIni ();                                                                                                                     //Inicializa ADC.

     while (1)

     {

            ValorPOT = ReadADC (0);                                                                               //Lectura del valor del potenciometro.

            if (ValorPOT >= 512)                                                                                         // Compara el valor de Set Poin

            {

               LED_ON;                                                                                                      //Enciende LED

            }

            else

            {

                  LED_OFF;                                                                                                   //Apaga LED

             }

      }

}

 

Descargas

 

Práctica 6 -AVR-MKII

Descargar código en Atmel Studio 7 de la práctica 6.

ARDUINO

Descripción

En esta práctica se implementa una lectura analógica utilizando el potenciómetro incluido en el módulo I/O's ADC de Microside, el cual se conecta con los módulos X-UNO o X-MEGA o X-NANO. El potenciómetro se conecta en el pin A0, el cual se configura como entrada y señal analógica donde, si el valor del ADC supera un Set Point se podrá visualizar el encendido del LED conectado al pin D13 incluido en los módulos X-UNO o X-MEGA o X-NANO.

 

Materiales:

1 x Módulo X-UNO o X-MEGA o X-NANO. Comprar

1 x Módulo programador XCU. Comprar

1 x Módulo I/O's ADC. Comprar

1 x Juego de cables Dupont. Comprar

1 x Protoboard de 830 puntos. Comprar

1 x Cable micro USB.

 

Software:

Windows 7 o posterior.

Arduino IDE. Descarga

 

Procedimiento

1. En el apartado de "Diagrama esquemático", que se encuentra a continuación, selecciona tu módulo, realiza las conexiones que se muestran en la imagen y conéctalo a la computadora.

2. Al final de esta práctica, en el apartado de "Descargas", puedes encontrar los archivos del código fuente, o bien copiarlo del apartado de "Código" que se encuentra más abajo.

3. Si descargaste el archivo del paso 2, omite este paso. Si copiaste el código, abre el software Arduino IDE, pega el código en un nuevo proyecto, realiza la compilación. 

4. Programa el código que descargaste o compilaste, en el módulo. En el siguiente link encontrarás un manual para compilar y programar en Arduino IDE.

5. Al terminar de programar, el módulo se reiniciará y el programa de esta práctica se ejecutará.

 

Diagrama esquemático

 

X-UNO
X-MEGA
X-NANO
X-UNO

X-MEGA

X-NANO

 

Código

Código

/*

AUTOR: MICROSIDE TECHNOLOGY S.A. DE C.V.

FECHA: JUNIO 2019

*/

/**************************************************************************

Controlar el encendido y apagado de un LED, por medio de la lectura de un puerto ADC.

**************************************************************************/

int POT = A0;                                                                                      // Entrada para el potenciómetro

int ValorPOT = 0;                                                                               // Variable donde se guardara el valor del potenciómetro

const int ledPin = 13;                                                                        // Pin del LED

void setup()

 {

             pinMode (ledPin, OUTPUT); 

}

void loop()

 {

          ValorPOT = analogRead (POT);                                          //Leer el valor del potenciómetro

      if (ValorPOT >= 512)                                                                // Compara el valor del potenciómetro

      {

          digitalWrite (ledPin, HIGH);                                             //Enciende el LED

        }

        else

            {

                 digitalWrite (ledPin, LOW);                                      //Apaga el LED

             }

 }

 

Descargas

Práctica 6-Arduino

Descarga código en Arduino de la práctica 6.

 

Fecha

julio 14, 2019

Categoría

Prácticas XIDE

× WhatsApp