Introducción a la programación de microcontroladores · 2013-04-29 · La instrucción encontrada...

Post on 05-Aug-2020

1 views 0 download

Transcript of Introducción a la programación de microcontroladores · 2013-04-29 · La instrucción encontrada...

Computadoras Electrónicas 2010

Introducción a la programaciónIntroducción a la programaciónde microcontroladoresde microcontroladores

TCO. NOGUERA Guillermo SebastiánInstituto Politécnico San Arnoldo Janssen

www.guillenoguera.com.ar

Conceptos Previos

Repasamos (sintesis al 010410 - webpage)

sistemas digitales. problema técnico. metodología. algoritmo. programa. lenguajes de programación. programación estructurada: estructuras de

datos, de control, operadores, operandos. diagrama de flujo y pseudocódigo.

Controlador: recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o más procesos.

Algunos ejemplos:

Velocidad de motores. Temperatura de un recinto (habitación, horno,etc). Humedad, presión, etc. Nivel de líquido en un tanque. Alarmas hogareñas. Encendido/apagado de dispositivos. Contador de eventos y control de acceso. Nivel e intensidad de luz.

¿Algunos aportes más acerca de los procesos que podemos controlar?

Controladores

Evolución histórica: Componentes mecánicos. Componentes de lógica discreta. Sistemas con microprocesadores.

¿Cuál es el esquema básico de un sistema basadoen un microprocesador?

Evolución histórica

Microcontrolador

Un circuito integrado de alta escala de integración que incorpora la mayor parte de los elementos que conforman un controlador. “La solución en un chip”...

¿Qué es un microcontrolador ?

- Procesador o UCP (Unidad Central de Proceso).- Memoria RAM para Contener los datos.- Memoria para el programa tipo ROM/PROM/EPROM.- Líneas de E/S para comunicarse con el exterior.- Diversos módulos para el control de periféricos (temporizadores, Puertas Serie y Paralelo, CAD: Conversores Analógico/Digital, CDA: Conversores Digital/Analógico, etc.).- Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema.

http://www.areacapacitacion.com.ar/

Arquitectura interna - Elementos

Procesador o UCP: se encarga de direccionar la memoria de programa, recibir el OP de la instrucción en curso, su decodificación y la ejecución de la operaciónque implica la instrucción, asi como la búsqueda de operandos y el almacena-miento del resultado.

Memoria: una parte de memoria no volatil (destinada al almacenamiento del prog.)y una parte de memoria volatil destinada a guardar variables y datos.

Puertas de E/S: líneas que comunican la UCP con los periféricos exteriores.

Reloj: los microcontroladores disponen de un oscilador que genera una onda cua-Drada de alta frecuencia, que configura los impulsos de reloj usados en la sincro-nización de todas sus operaciones internas.

Recursos especiales: “Timers” o temporizadores, Watchdog, Conversores A/D y D/A, Comparadores, PWM o moduladores de anchura de pulso, Puertos de comu-Nicación (USART, USB, I2C, etc.)

Actividad 1: Elaborar un diagrama de bloques o esquema básico que represente la arquitectura interna del PIC16F84.

Los PIC16 tienen 3 bloques de memoria

Memoria de Programa Flash/RomMemoria de Datos RAMMemoria de Datos E2prom

La memoria de datos y de programa tienen buses separados, lo que permite accesos a ambas zonas en un mismo ciclo de máquina. (Harvard)

PIC16 - Organizacion de Memoria

Organización de MemoriaMemoria de Programa

Memoria de Datos / Recursos

Organización de MemoriaMemoria de Programa

Memoria de Datos / Recursos

PIC16 - Memoria

La serie PIC16 tiene un PC (Contador de programa) de 13 bits.

El Vector de Reset se encuentra en la dirección 0000h

El Vectores de Interrupción se encuentran en la direccion 0004h.

Mapas de Memoria

PIC16 – Funcionamiento

Un ciclo de instrucción (C.I) consiste en cuatro ciclos de reloj (Q1,Q2, Q3, Q4). La instrucción encontrada es latcheada en el R.I en el Estado Q1, luego es decodificada y ejecutada durante Q2, Q3 y Q4.Lectura de datos durante Q2 y escritura durante Q4. En un mismoC.I mientras se ejecuta una instrucción se busca la siguiente (pipeline).

Actividad 2: tomando como base el concepto de ciclo instrucción, si unmicrontrolador tiene como Fosc = 4Mhz. ¿cuánto tardaría en ejecutar un programa de 1000 instrucciones?.Deducir una fórmula general que relacione Tosc y CM (C.I)

Diagramas de tiempo – Ciclo instrucción

PIC16 – Circuito y Funcionamiento

Programación de uCLenguaje Máquina: 1000110101010 (“entiende el microcontrolador”)Lenguaje Ensamblador: MOVWF portb (“comprende el programador”)

SET de Instrucciones

El Set de instrucciones o repertorio del PIC 16F84A está compuesto por35 instrucciones que podemos agrupar en:

1. Instrucciones de carga: transfieren el contenido de un registro origen (f) a unregistro destindo (d) o bien cargan el destino con una constante (k).2. Instrucciones aritméticas: permiten realizar sumas, restas, incrementar un registro o decrementarlo.3. Instrucciones lógicas: and, or, xor, swap, complemento a 1, rotar a la izq. oderecha.4. Instrucciones de bit: setean (1) o borran (0) un determinado bit de un registrode la memoria de datos.5. Instrucciones de salto: incondicional a la dirección k, salta si b es 0 o 1 de (f),decrementa e incrementa y salta si 0.6. Instrucciones para el manejo de subrutinas: llamadas y retornos a subrutinas.7. Instrucciones especiales: nop, clrwdt, sleep.

¿ CONSULTAS ?

Continuamos con la última actividad...

Actividad 3: considerando el set de instrucciones del PIC16F84 clasificarlas instrucciones. Dos ejemplos de cada tipo.

FINConsultas vía email: guillenoguera@gmail.comAsunto: programapic

Materiales en: www.guillenoguera.com.ar

Usted es libre de:Usted es libre de:Copiar, distribuir, exhibir, y ejecutar esta obraCopiar, distribuir, exhibir, y ejecutar esta obraHacer obras derivadasHacer obras derivadasBajo las siguientes condiciones:Bajo las siguientes condiciones:Atribución. Usted debe atribuir la obra en la forma especificada Atribución. Usted debe atribuir la obra en la forma especificada por el autor o el licenciante.por el autor o el licenciante.No Comercial. Usted no puede usar esta obra con fines comerciales.No Comercial. Usted no puede usar esta obra con fines comerciales.Si usted altera, transforma, o crea sobre esta obra, sólo podrá distribuirSi usted altera, transforma, o crea sobre esta obra, sólo podrá distribuirla obra derivada resultante bajo una licencia idéntica a ésta.la obra derivada resultante bajo una licencia idéntica a ésta.