26 Aug
26Aug

Objetivo:

El alumno implementará sistemas de control a través de la programación de sistemas embebidos y su interacción con periféricos para el diseño de sistemas en la automatización de procesos.

Microprocesadores

Son circuitos integrados que contienen millones de transistores en su interior los cuales crean circuitos complejos encargados de realizar diferentes tareas.Tambien se los denomina unidad de procesamiento central o CPU, ya que muchos de ellos pueden actuar como el "cerebro".

Para que sirven:

Estan diseñados para interpretar y ejecutar las instrucciones que nosotros les indiquemos y que suelen ser operaciones simples.

Por otra parte, tambien existe instrucciones lógicas (AND,OR, NOT, etc.)

A este listado de instrucciones reciben el nombre de "programa" el cual las ejecuta una por una por medio del microprocesador.

Microcontrolador

El desarrollo de la tecnologia permite introducir en un solo chip todo un sistema mínimo, esto dio nacimiento a la microcomputadora, actualmente conocido como microcontrolador.

Dentro de ellas esta:

-CPU

-Memoria de programa

-Memoria de datos

-Circuitos de reset

.Circuitos de oscilador

-Puertos I/O

-

Práctica 1

Objetivo Desarrollar un programa en MPLAB para controlar una barra de LEDs conectada a un PIC18F4550 con un cristal de 20 MHz, y simular su funcionamiento en Proteus. El programa debe encender y apagar los LEDs en un orden específico, siguiendo una secuencia predeterminada y repitiendo el ciclo indefinidamente.  

Lista De Materiales 

  • Barra de leds
  • Resistencias de 220ohms y de 10K ohms
  • PIC18F4550
  • Cristal de 20MHz
  • Condensadores de 22pF
  • Push Button

  Procedimiento  

  • Código 

Se incluyen las librerías que se van a usar como lo es: xc.h: Contiene las definiciones necesarias para trabajar con el PIC18F4550. configuracion.h: Aquí se encuentran las configuraciones del microcontrolador. pic18f4550.h: Define registros específicos del PIC18F4550.

Después en la función InitPort(): ADCON1bits.PCFG = 0xFF: Configura todos los pines analógicos como digitales. LATA = 0 y LATB = 0: Inicializa los puertos A y B en 0, apagando cualquier dispositivo conectado a ellos. TRISx: Configura los pines de los puertos A y B como salidas (0 = salida), lo que permitirá controlar los LEDs conectados a estos pines.

Para la Función principal (main): InitPort(): Se llama a la función para configurar los puertos y pines. while(1): Bucle infinito que repetirá la secuencia de LEDs continuamente. Para encender todos los leds al mismo tiempo, configuramos los pines RA0, RA1, RA2, RB0, RB1, RB2, RB3 y RB4 en 1, y los mantiene encendidos durante 3 segundos (__delay_ms(3000)).

Para apagar los LEDs uno por uno, se coloca en el orden: RA0, RA1, RA2, RB0, RB1, RB2, RB3 y RB4, con un retraso de 1 segundo entre cada uno y configuramos los pines a 0 y los mismo se hace para encenderlos en el orden RB4, RB3, RB2, RB1, RB0, RA2, RA1, RA0 pero ahora se configuran los pines en 1.

Para apaga todos los LEDs al mismo tiempo y colocamos una es espera 1 segundo al último antes de repetir la secuencia.

Después debemos elegir todos los pines a usar, deben mostrase como salidas y exportamos el archivo hex.

Proteus:

En Proteus se realizan las conexiones además de que al pic se le da doble clic y en archivos de programa agregamos el .hex que guardamos desde MPLAB y en la frecuencia de reloj se coloca a 20MHz de igual forma el cristal se coloca a 20MHz.

Conexiones


Simulación

Práctica 2

Objetivo Desarrollar un programa en MPLAB para convertidor de binario (con dipswitch) a decimal (con el display de siete segmentos) en MPLAB y Proteus además de que también debe ser físico.  Lista De Materiales 

  • 7 segmentos
  • Resistencias de 220ohms y de 10K ohms
  • PIC18F4550
  • Cristal de 20MHz
  • Condensadores de 22pF
  • Push Button
  • Dip switch

 Diagrama de flujo

Procedimiento  

  • Código 

Se incluyen las librerías que se van a usar como lo es: xc.h: Contiene las definiciones necesarias para trabajar con el PIC18F4550. configuracion.h: Aquí se encuentran las configuraciones del microcontrolador. pic18f4550.h: Define registros específicos del PIC18F4550.

Después en la función configuracion_puertos (): Esta función configura los puertos del microcontrolador. Los pines del puerto D se configuran como salidas para controlar el display de siete segmentos, y los pines del puerto A se configuran como entradas para leer el estado del dipswitch.

Para la Función estado_dipswitch: Esta función lee el estado de los pines del puerto A y combina los bits para formar un valor binario que representa el estado del dipswitch.

La función mostrar_numero: Esta función recibe un valor decimal y enciende los segmentos correspondientes del display de siete segmentos para mostrar el número.

La función principal main: En la función main, se configura inicialmente los puertos y luego entra en un bucle infinito donde se lee el estado del dipswitch, se convierte el valor binario a decimal y se muestra en el display de siete segmentos. La función __delay_ms(200) introduce un retardo de 200 milisegundos entre cada lectura y actualización del display.

Después debemos elegir todos los pines a usar para esto no dirigimos a la parte superior en Window, luego en Simulator y finalmente en IOPin, deben mostrase como salidas y entradas, después exportamos el archivo hex.

Proteus En Proteus se realizan las conexiones además de que al pic se le da doble clic y en archivos de programa agregamos el .hex que guardamos desde MPLAB y en la frecuencia de reloj se coloca a 20MHz de igual forma el cristal se coloca a 20MHz.

Conexión en Proteus:

Circuito físico:

Actividad

Comentarios
* No se publicará la dirección de correo electrónico en el sitio web.
ESTE SITIO FUE CONSTRUIDO USANDO