# 4 - Contador Binario

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

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F1YlCn1gONZAPltlZP1L6%2F4%20-%20Contaodor%20binario.jpg?alt=media&#x26;token=2448e3a0-b5db-41e3-9f16-09c33dfe64bf" alt=""><figcaption></figcaption></figure>

## **Introducción**

En esta práctica se configura entradas y salidas digitales del microcontrolador para implementar un contador binario que incrementa cada vez que se presiona un push button, el conteo se despliega a través de LEDs.

## **Descripción**

En esta práctica se implementa un contador binario usando la tarjeta **X-TRAINER** con el **PIC18F4550/PIC18F45K50**. El contador se incrementa cada vez que se presiona un botón conectado al pin A2, configurado como entrada digital. Para visualizar el valor del contador se utilizan 8 LEDs.

**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)

8 x Resistencias 220 ohms.

8 x LEDs.

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 v5.35. [**Descarga**](https://www.microchip.com/en-us/tools-resources/archives/mplab-ecosystem)

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)

{% hint style="warning" %}
**Nota**: Asegúrate de instalar la versión de **MPLAB X IDE** antes mencionada, de lo contrario es posible que surjan errores.
{% endhint %}

## **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.** Compila el proyecto

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

<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>

**4.** 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 %}

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

## **Diagrama esquemático**

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

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/4-Contador-binario-MPASM-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/ENTRENADOR%20X-TRAINER%20LITE%20M%20PIC18F45K50%20PIC18F4550%20CONTADOR%20BINARIO%20MICROSIDE.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%2FwS3qAqkLShp6tUog95MT%2FContador%20Binario%20PIC18F44550%20o%20PIC18F45K50%20X-TRAINER%20LITE%20M%20MICROSIDE.webp?alt=media&#x26;token=a8b6bfc4-981f-457c-ac65-b9717ce8fcd7" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="LITE F" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/4-Contador-binario-MPASM-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/ENTRENADOR%20X-TRAINER%20LITE%20F%20PIC18F45K50%20PIC18F4550%20CONTADOR%20BINARIO%20MICROSIDE.png" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="DIP" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/4-Contador-binario-MPASM-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/ENTRENADOR%20X-TRAINER%20DIP%20PIC18F45K50%20PIC18F4550%20CONTADOR%20BINARIO%20MICROSIDE.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%2FXOmPujECa5EepZNrHFjN%2Fhands-on-pic18f-p4-x-trainer-dip-r3.png?alt=media&#x26;token=614103f7-434c-4822-88c9-74ce80155825" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="PRO R2" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/4-Contador-binario-MPASM-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/ENTRENADOR%20X-TRAINER%20PRO%20PIC18F45K50%20PIC18F4550%20CONTADOR%20BINARIO%20MICROSIDE.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%2FA3qMbxfR5Gqo23l2xfyS%2F4%20Contador%20Binarios%20X%20Trainer%20Pro%2018.png?alt=media&#x26;token=d2a27822-7514-436a-9f88-d3197700b664" 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%2FptjyRAYRBbZZOQYM2hYs%2FContador%20Binario%20PIC18F4550%20%20o%20PIC18F45K50%20X-TRAINER%20PRO%20R4%20MICROSIDE.webp?alt=media&#x26;token=299701f5-8a9e-49a1-8567-812f67ecc259" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## **Código**

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

{% tab title="PIC18F45K50" %}
{% embed url="<https://gist.github.com/microside-mx/a0386c9ab234889f279d9f2cc1433953>" %}
{% 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/4-Contador-binario-MPASM-PIC18F4550-45K50/archive/refs/heads/main.zip">https://github.com/MICROSIDE-TECHNOLOGY/4-Contador-binario-MPASM-PIC18F4550-45K50/archive/refs/heads/main.zip</a></td></tr></tbody></table>
