Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Programación y simulación de microcontroladores, Apuntes de Microprocesadores

Este documento proporciona una introducción a los periféricos de un microcontrolador y la programación y simulación de los mismos. Se describen los equipos periféricos o auxiliares que, en conjunto con el microcontrolador, desarrollarán la función de control. La programación se realiza mediante el lenguaje basic, que es un lenguaje fácil de entender y escribir, e ideal para iniciar al estudiante en el mundo de la programación de microcontroladores. Se presentan las consideraciones y pasos importantes para programar microcontroladores, así como un kit de instrucciones para programar en lenguaje basic utilizando el compilador picbasic pro (pbp). Además, se incluye un ejemplo práctico de cómo encender y apagar un led con un microcontrolador pic16f84a. El documento concluye resaltando la importancia de estos conocimientos previos para asignaturas relacionadas con microcontroladores.

Tipo: Apuntes

2023/2024

Subido el 25/09/2023

alva-rado
alva-rado 🇲🇽

3 documentos

1 / 35

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Sistemas Digitales
Sesión 18
Simulación y
Programación de
Microcontroladores
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Vista previa parcial del texto

¡Descarga Programación y simulación de microcontroladores y más Apuntes en PDF de Microprocesadores solo en Docsity!

Sistemas Digitales

Sesión 1 8

Simulación y

Programación de

Microcontroladores

Objetivo:

Verificar programas a través de software de simulación y desarrollar aplicaciones básicas sencillas mediante el uso de microcontroladores.

Temario

Introducción

Periféricos de un microcontrolador

Programación y simulación de microcontroladores

Conclusión

1. Periféricos de un microcontrolador

¿Cómo se comunica un microcontrolador?

El microcontrolador se comunica con sus periféricos mediante estas entradas y salidas, y puede hacerlo de forma paralela o en serie.

La forma paralela sirve para comunicarse a distancias cortas, y la forma en serie, cuando las distancias son largas.

Algunos de los pines con los que cuenta un microcontrolador sirven para conectarlo con algunos complementos o elementos auxiliares que mejoran su funcionamiento; algunos aumentan la memoria o incorporan nuevos recursos.

1.1. Complementos o elementos auxiliares

A. Generador de impulsos (Oscilador)

Permite el funcionamiento de todos los circuitos del microcontrolador de forma sincronizada.

Este elemento es un oscilador que genera una onda de tipo angular y de alta frecuencia. Esta onda configura los impulsos de las operaciones del sistema.

El oscilador utiliza un cristal de cuarzo o resonador cerámico para estabilizar su frecuencia.

El cristal de cuarzo ayuda a mantener la frecuencia del oscilador y la estabiliza, generando así los impulsos del mismo ancho haciendo que la medición del tiempo sea exacto.

Tipos de osciladores

 Oscilador LP: de bajo consumo ( Low Power ). Oscilador XT: Cristal / Resonador.  Oscilador HS: de alta velocidad ( High Speed ). Oscilador RC: Resistencia / Condensador.

Oscilador y su onda

En los osciladores LP, XT y HS, el cristal debe ser conectado a lo pines 15 y 16, Osc2/CLKout y Osc1/CLKin respectivamente

En la siguiente figura, se presenta este elemento conectado en el microcontrolador PIC16F84A

Rangos de frecuencia de los osciladores de este tipo:

Modo Frecuenci a

Osc1/CLKin Osc2/CLKou t LP

32 kHz 200 kHz

68 - 100 pF 15 - 33 pF

68 - 100 pF 15 - 33 pF

XT

2 MHz 4 MHz

15 - 33 pF 15 - 33 pF

15 - 33 pF 15 - 33 pF

HS

4 MHz 10 MHz

15 - 33 pF 15 - 33 pF

15 - 33 pF 15 - 33 pF

El cristal de cuarzo si está dañado o mal conectado el PIC no funciona.

B. Temporizadores

Orientados a controlar tiempos. Para la medida de tiempos se carga un registro con el valor adecuado y a continuación dicho valor se va incrementando o disminuyendo al ritmo de los impulsos de reloj.

El temporizador mide el tiempo transcurrido entre dos eventos y esto lo hace con ayuda del cristal de cuarzo.

2. Programación de microcontroladores

Consideraciones para programar microcontroladores:

 Una PC con el software precargado: el software de edición y compilación además de un software para programación o simulación.  Conocer el kit básico de instrucciones para declarar entradas y salidas.

Es necesario tener bien definido la función de cada uno de los pines, por ejemplo los pines I/O, (IN/OUT) pueden ser programados como entrada o salida. Un puerto o pin puede ser usado como control para algunos dispositivos periféricos como por ejemplo, servomotores, led, teclados, etc.

Hay que considerar cuatro aspectos importantes para trabajar con microcontroladores PIC sobre el conexionado mínimo.

  1. Polarización a 5 V. Es la alimentación de voltaje al circuito integrado (microcontrolador, en este caso el PIC).
  2. El oscilador bien conectado. Debe estar conectado a las terminales (pines) adecuadas, dependiendo del tipo de oscilador.
  3. El MCLR. El Master Clear debe estar siempre en nivel alto para correr el programa; esto también se llama “modo run”. Si llega a estar en 0V el microcontrolador se encuentra en modo reset y no opera.
  4. Una carga conectada como salida.

En la siguiente figura se presenta la configuración de un conexionado mínimo, es decir, lo indispensable para poder comprobar un programa en el microcontrolador.

Configuración del oscilador para establecer la base de tiempo de ejecución de cada instrucción en el microcontrolador, en este caso es un oscilador XT Cristal de cuarzo de 4 MHz

Voltaje de polarización o alimentación para el circuito integrado (microcontrolador PIC) conectando el Vdd y Vss.

MCLR: debe estar conectado a nivel alto, 5V para que pueda funcionar el microcontrolador, si se encuentra en nivel bajo, el microcontrolador estará en modo “reset” o fuera de operación.

Tener una carga o indicador para poder comprobar que el microcontrolador realiza la tarea para la cual fue programado.

La programar un microcontrolador hay que ejecutar cuatro pasos importantes.

1. Editar

Se debe escribir un conjunto de instrucciones en un determinado lenguaje (Lenguaje Basic, Lenguaje C, Lenguaje Ensamblador, etc.), este paso se lleva a cabo en un PC (computadora) usando un software o programa (para lenguaje Basic utilizaremos el software Microcode Studio.

2. Compilar

Esta etapa significa que hay que poner las instrucciones del lenguaje de alto nivel (en este caso el lenguaje Basic es de alto nivel) a lenguaje máquina; es decir, un lenguaje que sea entendible por el microcontrolador (hexadecimal). Para realizar ésta tarea también utilizaremos el software Microcode Studio, este software sirve para editar y compilar.

3. Quemar o programar

Introducir el programa en el microcontrolador utilizando una tarjeta programadora a través de un cable de interface a la computadora. Esta tarea también se puede realizar mediante un software de simulación (Proteus, que es el que usaremos para la simulación en este curso).

4. Comprobación

Es el procedimiento que se sigue para comprobar que el programa fue transferido de forma correcta al microcontrolador. Se puede hacer de dos formas, una es mediante un circuito de prueba (tarjeta de circuitos electrónicos), la otra es mediante el software de simulación Proteus.

A continuación se presenta el kit de instrucciones para programar en lenguaje Basic, utilizando el compilador PicBasic Pro (PBP).

@ Inserta una línea de código ensamblador ASM...ENDASM Inserta una sección de código ensamblador BRANCH GOTO computado(equiv. a ON..GOTO) BRANCHL BRANCH fuera de página(BRANCH largo)

BUTTON

Anti-rebote y auto-repetición de entrada en el pin especificado CALL Llamada a subrutina de ensamblador CLEAR Hace cero todas las variables COUNT Cuenta el número de pulsos en un pin DATA Define el contenido inicial en un chip EEPROM DEBUG Señal asincrónica de salida en un pin fijo

RCTIME Mide el ancho de pulso en un pin READ Lee byte de un chip EEPROM RESUME Continua la ejecución después de una interrupción RETURN Continua en la declaración que sigue al último GOSUB

REVERSE

Convierte un pin de salida en entrada o uno de entrada en salida SERIN Entrada serial asincrónica (tipo BS!) SERIN2 Entrada serial asincrónica (tipo BS2) SEROUT Salida serial asincrónica (tipo BS1) SEROUT2 Salida serial asincrónica (tipo BS2) SHIFTIN Entrada serial sincrónica SHIFTOUT Salida serial sincrónica SLEEP Apaga el procesador por un periodo de tiempo SOUND Genera un tono o ruido blanco en un pin STOP Detiene la ejecución del programa SWAP Intercambia los valores de dos variables TOGGLE Hace salida a un pin y cambia su estado WHILE..WEND Ejecuta declaraciones mientras la condición sea cierta WRITE Graba bytes a un chip EEPROM XIN Entrada X - 10 XOUT Salida X - 10

Ejemplo 1

Como primer programa haremos que se encienda un led, permanezca encendido un cierto tiempo y después se apague.

Esta primera vez se recomienda que se elabore un diagrama de flujo para comprender la secuencial de pasos de cómo se ejecutan las instrucciones, en este caso el diagrama es el siguiente:

DESCRIPCIÓN DE PASOS DIAGRANA DE BLOQUES CÓDIGO DE PROGRAMA

EN LENGUAJE BASIC

Edición

Una vez entendida la lógica del programa, se procede a editarlo en el software para este fin, el MicroCode Studio.

Enseguida se compila el programa para generar el archivo hexadecimal que será cargado en el micrcontrolador en software de simulación (Proteus) ISIS 7 Professional.

ENCENDIDO DE LED

INICIO

RETARDO DE ENCENDIDO

APAGADO DE LED

RETARDO DE APAGADO

FIN

Etiqueta de inicio, sirve para establecer una posición como referencia dentro del programa.

Tarea a ejecutar, en este caso es el colocar un nivel alto a la salida

Retardo de lectura de instrucción, se utiliza con la finalidad de percibir la tarea asignada al microcontrolador, de lo contrario la instrucción se ejecuta en un tiempo aproximado de un microsegundo, que sería imposible de detectar u observar el encendido y apagado

Fin del programa

X:

High portb.

Pause 1000

Low portb.

Pause 1000

End

Una pause de 1000, equivale aproximadamen te a un segundo.

  1. Comienza a editar (escribir) el programa.
  2. Enseguida se debe compilar el programa. Da clic en el botón Compile.
  1. Aparece la siguiente pantalla en donde el cuadro de diálogo es para guardar el programa que hasta este momento no tiene título o nombre. Podemos llamarlo Enc_led. Cabe mencionar que los archivos deben tener un asignado un lugar para guardarlos, para ello se genera una carpeta en Mis documentos a la cual llamaremos, como sugerencia MCS , para guarda todos los trabajos o proyectos. Finalmente da clic en Guardar.
  2. En el momento de dar Guardar , el archivo se compila y aparece el nombre en la pestaña de la hoja de edición.

Este mensaje indica que se compiló el archivo correctamente.

  1. Aparece la hoja de trabajo del software de simulación.
  2. Selecciona los elementos que conforman el conexionado mínimo, para ello, ve al menú de herramientas del lado izquierdo y da clic en el botón Component mode

Component Mode

  1. Da clic en la letra P ( Pic Devise )
  2. Al Da clic en la letra P , se abre la ventana de las librerías.

Aparecen las librerías que incluyen todos los componentes.

En esta ventana seleccionaremos los elementos del conexionado mínimo.

  1. Da doble clic al microcontrolador seleccionado. Con esta acción se copiará el elemento en la lista del lado izquierdo.
  2. Selección de oscilador. En la categoría de Miscellaneous se selecciona el oscilador ( cristal de cuarzo de 4 MHz ). Con 4 MHz se aproxima mucho al tiempo real. Recuerda que Pause 1000 es aproximadamente un segundo. Hay que dar doble clic al nombre del elemento para que lo copie en el listado de la izquierda.
  1. Selección de capacitores. En Category (Categoría) ve a Capacitors , en la Sub- categoría selecciona Generic para reducir la selección. Da doble clic en el primer capacitor de la lista.
  2. Selección de resistencias. En la Category selecciona Resistors , en la subcategoría selecciona Generic donde aparecerán solo dos selecciones. Da doble clic en la primera resistencia para copiar en la lista de elementos seleccionados.