Está en la página 1de 9

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA


Unidad Profesional Zacatenco

Materia: MICROCONTROLADORES
Profesor: Ing. Efraín Cuauhtémoc Sandoval Lara

Grupo:
7CV1

Entregable: PRÁCTICA Núm. _5_

Título: “Conversión Analógico a digital (ADC básica)”


(Incluye funciones de conversión BINARIO a BCD-ASCII y comunicación serial por UART)

Presenta(n): Número de boleta: Nombre:

2020301714 Porras González Irvin Ángel


2019350819 Díaz Hurtado Diego Alejandro
2019301109 Gerón Quintana Javier
2020301847 Fernández Ochoa Daniel Eduardo

Fecha: 10 de Julio de 2023


Configuración MCC.

Pin mánager

UART1
ADC 1
Diagrama eléctrico.
Código:
/**
Generated main.c file from MPLAB Code Configurator
@Company
Prof. EFRAIN CUAUHTEMOC SANDOVAL LARA
@File CONVERSION DE BINARIO A BCD-ASCII
main.c
@Summary
This is the generated main.c using PIC24.
@Description
Este software es un ejemplo-ejercicio de conversión de Binario o Hexadecimal
a BCD y su equivalente en ASCII.
Generation Information :
Product Revision : PIC24 / dsPIC33 / PIC32MM MCUs - 1.171.1
Device : PIC24FJ64GU205
The generated drivers are tested against the following:
Compiler : XC16 v1.70
MPLAB : MPLAB X v5.50
*/
/**
Section: Included Files
*/
#include "mcc_generated_files/system.h"
#define FCY 8000000
#include <libpic30.h>
void BintoBCDInt(unsigned int x);//funcion prototipo para convetir binario a bcd,ASCii
volatile unsigned int conversion;
volatile unsigned char Ones, Tens, Hund, Thou,Tenk;
/* --------------------- Main application --------------------- */
int main(void)
{
// initialize the device
SYSTEM_Initialize();
while (1)
{
// Add your application code
// Las siguientes dos lineas son el número a convertir, asignado a la variable
// "conversion". Puede ser Hexadecimal o Binario.
// Por ello, en este ejemplo, sólo puede funcionar una linea a la vez,
// cualquiera de las dos, pero la otra linea DEBE ESTAR COMENTADA.
// El valor debe ingresarse "a mano" y el resultado debe verificarse mediante
// la impresión (printf) aquí en DataVisualizer, o externamente en una terminal
// real o emulada, como por ejemplo TeraTerm, usando la comunicación serial
// que ya se aprendió anteriormente (UART).
// EL EJERCICIO CONSISTE EN CAMBIAR MANUALMENTE EL VALOR, EN HEX O EN BIN,
// DE LA VARIABLE "conversion" Y EJECUTAR EL PROGRAMA. PROBAR DIFERENTES VALORES.
// EL OBJETIVO ES ENTENDER Y COMPROBAR EL ALGORITMO DE CONVERSIÓN.

conversion = 0xFFFF; //Número en Hexadecimal (máximo 4 nibbles).


// conversion = 0b0111111111111111; //Número en Binario (máximo 16 bits).
BintoBCDInt (conversion); //Llamada a la función.
printf(" El número en DECIMAL, convertido mediante BCD-ASCII es: %c%c%c%c%c%c \r \n",Tenk,
Thou, Hund, Tens, Ones);
__delay_ms(800);

}
return 1;

}
void BintoBCDInt(unsigned int x) //Funcion para convetir Binario a BCD-ASCII.
{
Ones=x%10+0x30;
x/=10;
Tens=x%10+0x30;
x/=10;
Hund=x%10+0x30;
x/=10;
Thou=x%10+0x30;
x/=10;
Tenk=x%10+0x30;
}
/**
End of File
*/

Conclusiones:
Porras González Irvin Ángel:
El proceso ADC es crucial para convertir señales entre los dominios analógico y digital.
Este proceso es fundamental en numerosas aplicaciones, como sistemas de audio,
comunicaciones, instrumentación y control, entre otros. La precisión y la resolución de
los convertidores ADC tienen un impacto directo en la calidad y la fidelidad de la señal
convertida. Por lo tanto, es importante comprender y considerar adecuadamente estos
procesos al diseñar y utilizar sistemas electrónicos y de comunicaciones.
Fernández Ochoa Daniel Eduardo:
En esta práctica observamos que tuvimos inconvenientes al momento de programar,
pero finalmente después de varios intentos logramos dar valores y hacerla despegar.
Gracias a esto pudimos aprender de los errores y comprender como funciona nuestro
circuito y optimizar nuestras tareas mencionadas en la practica.
Gerón Quintana Javier:
Por lo expresado anteriormente la elaboración de este proyecto nos sirve para
comprender un poco más la teoría de los microcontroladores y su aplicación; de ahí la
importancia del mismo, pues a través de él se puede apreciar lo interesante que es la
programación en nuestra vida cotidiana.
Díaz Hurtado Diego Alejandro:
En conclusión, el puerto serial UART es un estándar de comunicación utilizado para
establecer la conexión entre dispositivos electrónicos. Permite la transmisión de datos bit
a bit, de manera asíncrona, lo que significa que no requiere una señal de reloj externa
para sincronizar la comunicación.
La conversión de binario a BCD es el proceso de transformar una representación
numérica binaria (compuesta por 0 y 1) en su equivalente en código decimal codificado
en binario. El BCD es una forma de representar los números decimales utilizando
combinaciones de bits, donde cada dígito decimal se representa con un código binario
de cuatro bits. Esta conversión la utilizamos en este caso para mostrar el valor recibido
por el potenciómetro, mostrado en la terminal, esto de la mano de la comunicación UART
para mostrar correctamente los valores decimales.

También podría gustarte