microprocesadores, tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · organización...
TRANSCRIPT
![Page 1: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/1.jpg)
Microprocesadores, Tema 3 (2):
Programación del Microcontrolador PIC18 a Bajo Nivel
Guillermo Carpintero
Marta Ruiz
Universidad Carlos III de Madrid
![Page 2: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/2.jpg)
La primera instrucción debe localizarse en la dirección 0000h . . . . . . . . . . . . . . . ¿Cómo se especifica eso?
Para especificar instrucciones, escribo el mnemónico, pero, y para meter datos en memoria . . . . . . Cómo se introducen?
Ubicando el programa en la memoria del PIC18
Figura del “PIC18F2525/2620/4525/4620 Data Sheet”
Con permiso de MICROCHIP
¿Cómo se definen las etiquetas?
LOOP1 MOVWF PORTA, ABCF PORTA, BIT5, A
![Page 3: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/3.jpg)
Programación Ensamblador
Ensamblador
Directivas
Operación: OP CODE
Juego de Instrucciones(Instruction Set)
Modos de Direccionamiento (Addressing Modes)
Instrucciones
Operación: OP CODE
Localización de los operandos
![Page 4: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/4.jpg)
#define <name> [<string>]
define una etiqueta <name> que durante la compilación será sustituida por su equivalente:
#define PORTA 80
#includePermite incluir ficheros fuente adicionales
Directivas de ensamblador, relativas al Código
#include <p18f2525.inc>
ORGEstablece la dirección en la que se localiza el código que se escribe a continuación
Reset ORG 0000h
Cuando se instale la herramienta MPASM, buscar e indicar cuál es el contenido, y para qué se usa el fichero p18f2525.inc
![Page 5: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/5.jpg)
Directivas de ensamblador, relativas al Datos
EQU <label> EQU <expr>Define constantes durante el proceso de ensamblado
DATA [<label>] DATA <expr>Permite inicializar el valor de una/s posición/es de memoria de programas con datos
data 1,2,3data “hola mundo”
DB [<label>] DB <expr>Permite reservar y dar valor a posiciones de memoria de 8 bits
DB ‘1’,1,0x03
DW [<label>] DW <expr>Permite reservar y dar valor a posiciones de memoria de 16 bits
DW ‘1’,1,0x03
![Page 6: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/6.jpg)
Primer programa ensamblador, Plantilla
Importante!
Configuración del Sistema
Bucle Infinito para programa principal
![Page 7: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/7.jpg)
Organización del programa
Los diagramas de flujo permiten organizar la secuencia de acciones del programa.
Son una herramienta para:
diseñar un programa
Programación, Diagramas de Flujo
diseñar un programadocumentar un programa
Símbolos estándar se conectan mediante flechas que indican el curso (orden secuencial) que siguen las acciones del programa (indicadas por los símbolos).
![Page 8: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/8.jpg)
Símbolos
INICIOPrograma o función FIN
Programa o función
Programación, Diagramas de Flujo
DecisiónBinariaSi No
PROCESO
![Page 9: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/9.jpg)
Clase Micros
Atender
Programación, Diagramas de Flujo
Ir a la 4.1E04
Hay problemas
pendientes?
Si
Preguntar Cuestión Fin Clase Micros
Hacer los problemas
Entiendo?No
Final Clase?No
![Page 10: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/10.jpg)
¿ Para qué usar técnicas de programación ?
Es difícil escribir un buen programa.
¿Qué es un buen programa?:
Que el programa ocupe poca memoriase ejecute en el menor tiempo posible
Programación, Técnicas
se ejecute en el menor tiempo posiblese pueda modificar con facilidadeste listo a tiempo
Técnicas :Ensayo y errorProgramación estructurada + Diseño Top/Down
![Page 11: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/11.jpg)
¿ En que consiste ?
Los diagramas de flujo permiten infinitas combinaciones de los cuatro elementos que hemos presentado. Es decir, organizar no significa que la estructura sea óptima.
La programación estructurada es una disciplina para limitar las combinaciones posibles de los diagramas de flujo (y por tanto, estructura
Programación Estructurada, Concepto
combinaciones posibles de los diagramas de flujo (y por tanto, estructura de los programas).
La programación estructurada define estructuras fundamentales:
SecuenciaIF-THEN-ELSEDO-WHILE
![Page 12: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/12.jpg)
Programación Estructurada, Concepto
![Page 13: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/13.jpg)
Secuencia IF-THEN-ELSE DO-WHILE
PROCESO
PROCESO
Programación Estructurada, Estructuras
PROCESO
PROCESOPROCESO
PROCESO
¿Qué tienen todas estas estructuras en común?
![Page 14: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/14.jpg)
INICIO
Táctica de Divide y vencerás
Comienza por la estructura general, definiendo partes del problema que se abordaran de
Diseño Top-Down
FIN
problema que se abordaran de forma independiente.
Diseño del programa definiendo funciones
![Page 15: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/15.jpg)
Programación, Entorno de Desarrollo Integrado
MPLAB
Escribir
Ensamblar
Simular
Programar
Depurar
![Page 16: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/16.jpg)
Introduction to MPLAB IDE 03/30/2004
Tips and Tricks Using MPLAB v6.61 09/16/2004
Programación, Mas Información en . . .
Introduction to Microchip's Development Tools 02/17/2004
Choosing a Debug Tool 02/24/2006
Introduction to the MPLAB Visual Device Initializer (VDI) 08/26/2004
![Page 17: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/17.jpg)
Ejemplo, Cambio Bits
![Page 18: Microprocesadores, Tema 3 (2)ocw.uc3m.es/cursos-archivados/sistemas-digitales... · Organización del programa Los diagramas de flujo permiten organizar la secuencia de acciones del](https://reader033.vdocuments.co/reader033/viewer/2022041905/5e634a9d96685858eb472123/html5/thumbnails/18.jpg)
Ejemplo, Cambio Bits con Periodo Ajustable