# 6 - ADC Set Point

> **MPLAB X IDE - PIC Assembler**
>
> [**PIC18F4550 / PIC18F45K50**](https://docs.microside.com/practicas/mplab-x-ide/pic-as-compiler/pic18f4550-or-pic18f45k50)

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FQkOHmysLNZFj6AhQ31Ao%2F6%20-%20ADC%20Set%20point.png?alt=media&#x26;token=ea6436f7-5bad-46dc-a0e4-f4c19d9aba28" alt=""><figcaption></figcaption></figure>

## **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.

## **Descripción**

En esta práctica se implementa una lectura analógica utilizando un potenciómetro, el cual se conecta la tarjeta  **X-TRAINER** con el **PIC18F4550/PIC18F45K50**. 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 A4 incluido en las tarjetas **X-TRAINER**.

**Materiales:**

1 x Tarjeta **X-TRAINER**. [**Manuales**](https://docs.microside.com/tarjetas-de-desarrollo/x-trainer) | [**Comprar**](https://www.microside.com/shop/category/entrenadores-pic-1)

1 x Potenciómetro 10 Kohms.

1 x Protoboard de 830 puntos.

1 x Juego de cables Dupont.

1 x Cable micro USB.

**Software:**

Windows 8.1 o posterior.

MPLAB X IDE. [**Descarga**](https://www.microchip.com/mplab/mplab-x-ide)

Compilador XC8. [**Descarga**](https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-xc-compilers)

X-TRAINER Suite v1.0 [**Descarga**](https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/microside_download_archive/main/Tools/X-TRAINER%20Suite/X-TRAINER%20Suite%20Setup.zip)

## **Procedimiento**

**1.** En el apartado de “[**Diagrama Esquemático**](#diagrama-esquematico)” selecciona el modelo de tu tarjeta, realiza las conexiones que se muestran en la imagen y conéctala a la computadora.

{% hint style="info" %}
Las conexiones mostradas en los diagramas esquemáticos son las mismas ya sea que la tarjeta **X-TRAINER** posea el **PIC18F4550** o el **PIC18F45K50**.
{% endhint %}

**2.** Ejecuta **MPLAB X IDE** y crea un nuevo proyecto con el código fuente que se encuentra en el apartado "[**Código**](#codigo)".

**3.** Realiza los siguientes pasos para configurar el **bootloader** y poder programar la tarjeta **X-TRAINER**:

* Da clic en ***File*** y ***Project Properties***.

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FhRqKCwnSHnuJluZRjpqi%2FSeccion%20configurar%20Bootloader%20MPLAB%20X%20IDE%20Microside.PNG?alt=media&#x26;token=c7d34c40-5610-4e86-870b-061ed87a0bf2" alt=""><figcaption></figcaption></figure>

* Selecciona ***Building***, marca la casilla ***Insert unprotected checksum in user ID memory*** y da clic en ***Apply***.

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FY4OviHczTtY17AXhu7vC%2FInsert%20unprotected%20checksum.webp?alt=media&#x26;token=68c0221e-115c-4e12-a3ab-58d8e1687650" alt=""><figcaption></figcaption></figure>

* Selecciona ***pic-as Linker**,* escribe **-mrom=2000-7F00** en el campo ***Additional options*** y da clic en ***Apply***.

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F7bKiIKmePcBB1fXYixm2%2Fpic-as%20Linker.jpg?alt=media&#x26;token=d3cbfa76-7d9a-4523-8d99-247c136e5633" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Para compilar el proyecto dirígete a la barra de herramientas superior y da clic en el icono señalado.
{% endhint %}

**4.** Una vez realizadas las configuraciones del bootloader compila el proyecto.

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FDGwDX5b1oP9HATCsHUD9%2FSeccion%20configurar%20Bootloader%20compilacion%20MPLAB%20X%20IDE%20Microside.png?alt=media&#x26;token=37d2e155-0ac6-417f-934d-1a8cb2a176eb" alt=""><figcaption></figcaption></figure>

**5.** Abre el **Software X-TRAINER Suite v1.0** en el apartado **PIC18F4550/45K50**, selecciona el archivo .hex generado al compilar el proyecto y programa la tarjeta.

{% hint style="success" %}
Si tienes dudas de cómo realizar los pasos anteriores puedes encontrar un manual del **Software X-TRAINER Suite v1.0**. a través del siguiente[ **link**](https://docs.microside.com/tarjetas-de-desarrollo/software-x-trainer-suite).
{% endhint %}

**6.** Al terminar de programar, la tarjeta **X-TRAINER** se reiniciará automáticamente y se ejecutará el programa de esta práctica.

## **Diagrama esquemático**

Selecciona el modelo de tu tarjeta **X-TRAINER.**

{% tabs %}
{% tab title="LITE M R2" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/6-ADC-Set-Point-PIC-Assembler-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/X-TRAINER_Lite-M-r2_Practica-6_Microside_02.png" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="LITE M R3" %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F5zzaQoLGfpKnNtQtcxul%2FADC%20Set%20Point%20PIC18F44550%20o%20PIC18F45K50%20X-TRAINER%20LITE%20M%20MICROSIDE.webp?alt=media&#x26;token=2b18efc5-06f7-49d7-8ef3-7d02fef8bd79" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="LITE F" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/6-ADC-Set-Point-PIC-Assembler-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/X-TRAINER_LITE-F_Practica-6_Microside_01.png" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="DIP" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/6-ADC-Set-Point-PIC-Assembler-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/X-TRAINER_DIP_Practica-6_Microside_01.png" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="DIP R3" %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FFdyyZhMCcguMMuSrfhnW%2Fhands-on-pic18f-p6-x-trainer-dip-r3.png?alt=media&#x26;token=f7427339-3ce2-4970-8e0a-16b7bfcc90b8" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="PRO R2" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/6-ADC-Set-Point-PIC-Assembler-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/X-TRAINER_PRO-r2_Practica-6_Microside_01.png" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="PRO R3" %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FlEypUo5nEJGqhlAzVBWM%2F6%20ADC%20Set%20Point%20X%20Trainer%20Pro%2018.png?alt=media&#x26;token=a2adedcf-c617-4663-8e57-e62715680d42" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="PRO R4" %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FOF3uR7LPe4zE0m9NKLYl%2FADC%20Set%20Point%20PIC18F4550%20%20o%20PIC18F45K50%20X-TRAINER%20PRO%20R4%20MICROSIDE.webp?alt=media&#x26;token=c101ebc2-f5d1-4e38-9fc5-ba209b11fd72" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## **Código**

{% tabs %}
{% tab title="PIC18F4550" %}
{% embed url="<https://gist.github.com/microside-mx/f8f4388ce6dcf662450635f2fa6bae0c>" %}
{% endtab %}

{% tab title="PIC18F45K50" %}
{% embed url="<https://gist.github.com/microside-mx/441a3b6ff7ab1d6ded36d592eed67a19>" %}
{% endtab %}
{% endtabs %}

## **Descargas**

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/microside_download_archive/main/Tools/X-TRAINER%20Suite/X-TRAINER%20Suite%20Setup.zip">https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/microside_download_archive/main/Tools/X-TRAINER%20Suite/X-TRAINER%20Suite%20Setup.zip</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Proyecto</strong></mark></td><td><a href="https://github.com/MICROSIDE-TECHNOLOGY/6-ADC-Set-Point-PIC-Assembler-PIC18F4550-45K50/archive/refs/heads/main.zip">https://github.com/MICROSIDE-TECHNOLOGY/6-ADC-Set-Point-PIC-Assembler-PIC18F4550-45K50/archive/refs/heads/main.zip</a></td></tr></tbody></table>
