Lenguajes Electrónicos - 6º año.
Indicadores de promoción
El alumno deberá
- Codificar algoritmos, a nivel básico, en un lenguaje de programación estructurado (Lenguaje C).
- Diseñar e implementar soluciones básicas que involucren programas realizados en lenguaje C.
- Diseñar e implementar proyectos básico utilizando conceptos y técnicas de programación básica en lenguaje C.
Contenidos
Programación Orientada a Objetos (software recomendado: Borland C++ Builder 6.0)
- Programación orientada a objetos: Uso de clases, objetos, atributos y eventos.
- Variables Globales y locales en código orientado a objeto.
- Data Type complejos: Array bidimensionales y n-dimensionales. Estructuras, punteros, array de estructuras, punteros a estructuras, objetos y clases.
- Funciones. Funciones definidas por el usuario. Tipos de funciones. Pasaje por valor y por referencia.
- Confección y uso de librerías de usuario.
- Archivos. Archivos de texto. Archivos binarios.
- Introducción a la Programación de Bajo Nivel en C. Variables registro (register).
- Operadores a nivel de bits. Campos de bits.
- Modelos de memoria. La familia de los procesadores x86. Cálculo de direcciones.
- Acceso al Hardware. Uso de ports. Funciones relacionadas. Acceso al hardware interno de la PC a través de los ports. Interrupciones. Concepto y fundamento de las interrupciones. Vector de interrupciones. Interrupciones enmascarables y no enmascarables. Controlador programable de interrupciones. Interrupciones del BIOS. Concepto de interrupciones de software. Innovación mediante funciones. Funciones y estructuras asociadas. Casos de estudio: interrupciones de video (10 H). Aplicaciones. Puerto paralelo. Puerto paralelo. Manejo a bajo nivel. Registros y direcciones asociados. Aplicaciones. Interrupciones por puerto paralelo.
- Puerto USB. Pines y señales. Manejo a bajo nivel. Transferencia e identificación de datos. Manejo a bajo y alto nivel. Registros y direcciones asociadas. Aplicaciones.
- Puerto Serie. Transmisión de datos serie. Transmisión asíncrona. Velocidad de transmisión. Norma RS232. Descripción, programación y manejo de la UART a través de las funciones de la API de Windows. Registros. Modos de operación.
- Comunicación entre dos computadoras. Comunicación simplex y duplex. Transferencia de archivos entre computadoras. Implementación de protocolos simples.
- Interrupciones por puerto serie. Interfaces.
- Diferencia entre interfaz de aplicación de software e interfaz de aplicación en hardware.
- Diseño e implementación de interfaces. Programación de interfaces. Utilización de la PC como herramienta de control. Aplicaciones.
Practicas sugeridas:
- Realización de programas de muy baja complejidad para incorporar el manejo del entorno de programación.
- Realización de programas de muy baja complejidad que involucre relacionar e identificar objetos y sus atributos.
- Realización de programas que usen estructuras de decisión (if-else), selección (switch-case) y repetición (while, do-while y for).
- Realización de programas que involucre el uso de cadenas de texto, conversión a números enteros y reales, operaciones aritméticas y de string.
- Manejo y uso del Timer.
- Realización de programas que hacen uso de variables locales y globales, operación y uso de estructuras propias.
- Realización de programas con funciones propias. Confección de librería de usuario y su uso.
- Realización de programa que realice la creación, apertura, inserción y cierre de archivos de carácter binario o de texto.
- Uso del API de windows para apertura, configuración, uso y cierre del puerto serie. Incluyendo manipulación a nivel bits.
- Criterios de diseño de interfaces de software y de hardware.
- Realización de un programa de comunicación simplex entre dos pc.
- Realización de un programa de comunicación duplex entre dos pc (Chat).
- Realización de un programa de comunicación para el manejo de interfaz de entrada y salida del puerto serie (placa interfaz).
- Desarrollo de TP final que hacen uso de una interfaz por USB/ Puerto Serie que controle, comande o supervise alguna situación a elección.