Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas
description
Transcript of Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas
![Page 1: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/1.jpg)
11
Unidad I Unidad I Panorama Panorama general de lenguajes general de lenguajes de programación en de programación en
aplicaciones aplicaciones mecatrónicasmecatrónicas
M.C. Juan Carlos Olivares Rojas
![Page 2: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/2.jpg)
AgendaAgenda
1.1 Clasificación de los lenguajes de programación y su evolución.
1.2 Lenguaje ensamblador.
22
![Page 3: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/3.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• Un lenguaje es la forma que utilizan dos entidades llamadas emisor y receptor para comunicarse.
• Un lenguaje de programación es la forma en que un ser humano le indica a una computadora lo que debe de hacer.
33
![Page 4: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/4.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• Los lenguajes de programación son necesarios dado que el lenguaje que entendemos los humanos y las máquinas es totalmente distinto.
• Las computadoras entienden un lenguaje máquina de 0s y 1s.
44
![Page 5: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/5.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• El lenguaje máquina es diferente entre familia de microprocesadores
• Los lenguajes de programación se clasifican de acuerdo a su objetivo en: de propósito general y propósito específico.
55
![Page 6: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/6.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• Los lenguajes de propósito general sirven para resolver casi cualquier problema. Ejemplos: C/C++, Java, Pascal, Ada, etc.
• Los lenguajes de propósito específico son de un dominio más específico. Ejemplo: SQL (Base de Datos), Promela (Simulación), etc.
66
![Page 7: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/7.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• Los lenguajes de programación también se pueden clasificar de acuerdo a su nivel de abstracción en bajo nivel y alto nivel.
• El nivel de abstracción se da desde el punto de vista humano; es decir, el de alto nivel está más cercano al lenguaje natural.
77
![Page 8: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/8.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• Los lenguajes de alto nivel son muy parecidos a lenguajes naturales como el inglés. Permiten un rápido desarrollo e implantación de algoritmos. Ejemplo: C++, Java, BASIC, Fortran, COBOL, etc.
88
![Page 9: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/9.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• Los lenguajes de bajo nivel son los que están más cercano al lenguaje máquina, permiten el desarrollo más eficiente de aplicaciones, pero la programación es más complicada. Ejemplo: lenguaje ensamblador x86, ensamblador PPC, ensamblador 68x, etc.
99
![Page 10: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/10.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• ¿Cómo es posible que dos entidades con diferentes lenguajes (humanos y computadoras) puedan comunicarse entre si?
• Se puede realizar por medio de un traductor. Lo cual da otra clasificación de lenguajes de programación.
1010
![Page 11: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/11.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• Por la forma en que se realiza la programación, los lenguajes se clasifican en lenguajes compilados (compilador) e interpretados (intérprete).
• Los lenguajes interpretados se procesa el código fuente y se traduce línea por línea.
1111
![Page 12: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/12.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• Ejemplo de lenguajes interpretados está la línea de comandos (shell) de un sistema operativo, BASIC, entre otros.
• En los lenguajes compilados la traducción se realiza leyendo todo el código fuente. Ejemplo: Pascal, Delphi, C/C++, etc.
1212
![Page 13: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/13.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• Otra forma de clasificar los lenguajes de programación es en base al paradigma utilizado para programar.
• Existen diversos paradigmas como procedimental o estructurado (C, Pascal, etc.), orientado a objetos (Java, C++, SmallTalk, etc.).
1313
![Page 14: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/14.jpg)
Clasificación de los lenguajes de Clasificación de los lenguajes de programación y su evoluciónprogramación y su evolución
• Otros paradigmas de programación son el funcional como LISP, la programación lógica con PROLOG, programación orientada a aspectos, etc.
• Los lenguajes de programación también tienen otros fines como configurar programas.
1414
![Page 15: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/15.jpg)
Lenguaje ensambladorLenguaje ensamblador
• Es totalmente dependiente de la arquitectura de la computadora.
• Utiliza instrucciones cortas llamadas mnemónicos. Las cuales se sustituyen al momento de ensamblar.
1515
![Page 16: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/16.jpg)
Lenguaje ensambladorLenguaje ensamblador• La mayoría de los lenguajes de alto
nivel genera como código intermedio instrucciones en ensamblador.
• Por ejemplo el código máquina 10110000 01100001 (0xb061) es representado en ensamblador x86 como MOV al, 061h
1616
![Page 17: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/17.jpg)
Lenguaje ensambladorLenguaje ensamblador• Una forma fácil de aprender a programar
en ensamblador es haciendo uso de la herramienta debug presente en DOS.
• Las opciones básicas de debug son:– A Ensamblar– D Mostrar el contenido de un área de memoria– E Introducir datos en memoria, iniciando en
una localidad específica1717
![Page 18: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/18.jpg)
Lenguaje ensambladorLenguaje ensamblador– G correr el programa ejecutable en memoria– N nombrar un programa– P Proceder a ejecutar un conjunto de
instrucciones relacionadas– Q salir de la sesión– R mostrar el contenido de los registros– T Rastrear la ejecución del programa– U Desensamblar– W Escribir o grabar un programa a disco
1818
![Page 19: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/19.jpg)
Actividad 2Actividad 2• Se deberán realizar cada una de las
siguientes actividades por parejas utilizando debug y capturando pantalla de cada una de las actividades.
• Para ver la fecha que tiene la ROM de nuestra computadora: D FFFF:5
1919
![Page 20: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/20.jpg)
Lenguaje ensambladorLenguaje ensamblador• Se deberá cargar el siguiente programa en
ensamblador en memoria en la localidad de memoria de sus últimos 4 números de su matrícula, por ejemplo: A 0100
• Se deberá tener cuidado al cargarlo por que sino se deberá reescribir el programa. No dar enter hasta estar seguros
2020
![Page 21: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/21.jpg)
Lenguaje ensambladorLenguaje ensamblador• Se deberá seguir la traza del
programa con la opción T hasta que se terminen las instrucciones.
• Finalmente se deberá desensamblar el código con la opción U y la dirección de memoria en donde se empezó el programa.
2121
![Page 22: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/22.jpg)
Lenguaje ensambladorLenguaje ensamblador• Colocar tu número de matricula a partir de la
dirección 100 con la opción E. • Mostrar las direcciones de memoria a partir
de la localidad 100.
• Con el código del programa anterior desensamblado colocarlo directamente en memoria en la dirección cs:100
2222
![Page 23: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/23.jpg)
Lenguaje ensambladorLenguaje ensamblador• Realizar programación en ensamblador
de esta forma es sumamente complicado.
• Para facilitar el proceso se utilizan editores de texto o en casos más elaborados IDEs para programar. La desventaja es que entre diferentes herramientas puede cambiar la sintaxis.
2323
![Page 24: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/24.jpg)
Lenguaje ensambladorLenguaje ensamblador
;Programa Ejemplo ensamblador.model small .stack .data Cadena1 DB 'Hola Mundo.$' .code ;inicio del código
2424
![Page 25: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/25.jpg)
Lenguaje ensambladorLenguaje ensamblador
programa: mov ax, @data mov ds, ax mov dx, offset Cadena1 mov ah, 9 int 21h end programa
2525
![Page 26: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/26.jpg)
Lenguaje ensambladorLenguaje ensamblador• Para ensamblar el siguiente código
utilizaremos el TASM (Turbo Assembler) y para generar el ejecutable el TLINK (Turbo Linker).
• El código debe tener extension .asm en formato de texto plano. Luego se ejecuta desde línea de comandos: tasm archivo.asm.
2626
![Page 27: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/27.jpg)
Lenguaje ensambladorLenguaje ensamblador• Sino ocurrió ningún error, se generó un
archivo objeto (.obj) que es el código máquina.
• Al enlazar con tlink archivo.obj se obtiene un ejecutable como tal.
• Otro ejemplo de ensamblador es el del PIC 16F84 que se muestra a continuación:
2727
![Page 28: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/28.jpg)
Lenguaje ensambladorLenguaje ensambladorORG 0 Inicio bsf STATUS,RP0 clrf PORTB movlw 0xFF movwf PORTA bcf STATUS,RP0 Principal
2828
![Page 29: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/29.jpg)
Lenguaje ensambladorLenguaje ensamblador movf PORTA,W movwf Contador movf Contador,F btfsc STATUS,Z goto PuntoDecimal sublw d'9' btfss STATUS,C END
2929
![Page 30: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/30.jpg)
Ejercicio de ReforzamientoEjercicio de Reforzamiento• Realizar un pequeño resumen en el
cual se muestren la arquitectura básica del microprocesador Intel 8086 así como los mnemónicos básicos y ejemplos de ellos.
• Fecha de entrega, hasta el día del examen por Blackboard.
3030
![Page 31: Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas](https://reader035.fdocumento.com/reader035/viewer/2022070502/56815270550346895dc0a0f8/html5/thumbnails/31.jpg)
3131
¿Preguntas, dudas y ¿Preguntas, dudas y comentarios?comentarios?