Lenguajes de programación

Documentos relacionados
Objetos de aprendizaje: Computadora

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

COMO EMPEZAR... Proceso de conexión de la placa al ordenador:

TEMA 1: Concepto de ordenador

Laboratorio 02: Ejercicios de programación en C

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

Lenguaje binario. Código ASCII. Medidas de la información

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

SISTEMAS OPERATIVOS Arquitectura de computadores

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Tema: Introducción al IDE de Microsoft Visual C#.

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Tema 3. Aplicaciones de Tipo Consola

Guía rápida para gestionar el puerto paralelo del PC

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

1. Computadores y programación

FUNCIONAMIENTO DEL ORDENADOR

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

Técnicas de Programación

Iniciación a la informática

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Introducción a la Computación. Herramientas Informáticas. Omar Ernesto Cabrera Rosero Universidad de Nariño

PROCESADORES. Existen 3 tipos de procesadores: DE GALLETA, DE PINES Y DE CONTACTO. DE GALLETA: se utilizaban en las board en los años 80 y 90.

Qué es un programa informático?

INTRODUCCIÓN DESCRIPCIÓN... 4 Características Hardware... 4

Fundamentos de las TIC

TEMA 2: Sistemas Operativos

Informática Ingeniería en Electrónica y Automática Industrial

GENERALIDADES DEL LENGUAJE C

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

F.A.Q. CirPark. Soluciones de eficiencia para la movilidad en aparcamientos

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

AUTOMATIZACIÓN INDUSTRIAL

FUNDAMENTOS DE INFORMÁTICA. Principios Básicos de Sistemas Operativos. Definición de Sistema Operativo

Introducción. Aparición en los 50, se facilita la comunicación entre el usuario y el ordenador Cualquier persona puede utilizar un ordenador.

Práctica final. Emilia Cruz Fernández Martínez

Se llama hardware a todos los dispositivos que forman la PC y que se puedan tocar, es decir, es todo el conjunto de accesorios que se le pueden

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

Sede electrónica. Requisitos de configuración del Applet de Firma

INFORMATICA I EJERCICIOS PROPUESTOS Buscar en el diccionario Qué es INFORMÁTICA?, Qué es

Tema: Microprocesadores

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein --Javier Navarro

INFORMATICAFACIL BIOS AMI. configuración. ekocop H T T P : / / I N F O R M A T I C A F A C I L. W O R D P R E S S. C O M

Actividad colaborativa Ejercicios de programación Programación básica C++

MANUAL DE INSTALACION Y CONFIGURACION ANTAMEDIA HOTSPOT

Programación. Test Autoevaluación Tema 3

EL ORDENADOR Y SUS COMPONENTES

MIA RICARDO GONZALEZ LOZANO APLICACIONES EN LENGUAJE C

Manual de Instrucciones para el uso con un ordenador

PUENTE DE RED DE ALTA VELOCIDAD POWERLINE

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

funciones printf scanf

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Práctica 2: Sector de arranque

PRÁCTICAS CON ARDUINO UNO

ABCPINT. 1. Identificación del programa. 2. Aspectos técnicos. Análisis de Software Educativo. ABCpint. ABCpint Página 1 NOMBRE DEL PROGRAMA EMPRESA

Sensor Analógico: Potenciómetro

Arquitectura de computadoras

Pruebas de escritorio

COMO FLASHEAR / REPARAR / LIBERAR TELEFONOS MOBILES NOKIA

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

Computadora y Sistema Operativo

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO

Dispositivos externos

Cómo controlar el puerto serie usando C#? Javier Gómez. Ingeniero de Telecomunicaciones por la Escuela Tecnica Superior de Bilbao

Tema 2 Introducción a la Programación en C.

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Utilidad de configuración

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

Introducción a los Sistemas Operativos

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Práctica 5MODBUS: Bus Modbus

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Explicación didáctica sobre comandos de Linux: Comandos de Inicio

La plataforma Arduino y su programación en entornos gráficos

Serialización de datos en C# en Binario, Soap y Xml

Conversor USB a cctalk

Menú de Arranque en Windows VISTA

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Configuración básica de redes TCP/IP.

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Guía de obtención e instalación del Certificado digital de usuario emitido por CamerFirma

Asignatura: Estructuras de Datos. Año Escolar: Grado y Sección: 6to INF A-B Docente: Ing. Yesika Medina

Capítulo 7. Introducción a las Interfaces Gráficas de usuario. Continuar

1-Componentes Físicos y Lógicos de un Ordenador.

ESTRUCTURA BÁSICA DE UN ORDENADOR

ESTÁNDAR DE COMPETENCIA

Descripción del sistema eléctrico CAN-BUS con pantallas táctiles.

Tema: Entorno a C# y Estructuras Secuenciales.

Transcripción:

Lenguajes de programación Son muchos los lenguajes en los que se pude programar la controladora CNICE pero en este caso nos centraremos en dos de ellos: MSWLogo C Lenguaje MSWLogo MSWLogo se puede usar en cualquier Sistema Operativo de entorno Windows pero no MSDOS por tratarse de un lenguaje visual. Mención especial a los sistemas Windows 2000 y Windows XP, en los cuales se permite el acceso al puerto paralelo mediante las funciones PortOut y PortIn de la librería io.dll. Para ello, hay que cargar previamente la librería io.dll, mediante la orden de MSWLogo: cargadll "io.dll Es importante que sepa que se ha desarrollado una versión de MSWLogo 6.5a traducida al Castellano por el ITE (descarga en la sección de Descargas de este CD- Rom). Este compilador de MSWLogo incluye todas las rutinas primitivas necesarias para manejar la controladora CNICE, para leer y escribir en las entradas y salidas digitales y analógicas y puesto que este compilador ya realiza su carga de la librería io.dll no será necesario realizar su carga. Si intenta realizar la carga se le mostrará una pantalla de error. Para poder saber el valor que tienen en cada momento las entradas y salidas el usuario solo necesitará realizar las llamadas a los procedimientos y funciones que se proporcionan con el compilador, liberando de esta forma al usuario de la tediosa tarea de definir funciones y procedimientos para leer/escribir por el puerto. No obstante y si no desea utilizar este compilador, a continuación tiene los procedimientos básicos para activar/desactivar las salidas digitales y para leer las entradas digitales y analógicas aunque, recordamos que estos procedimientos están ya implementados como funciones del propio MSWLogo 6.5a desarrollado por el ITE. A continuación se explican los procedimientos básicos necesarios implementados en este lenguaje de programación para realizar las siguientes acciones: Escribir en las salidas digitales Leer las entradas digitales Leer las entradas analógicas Destacar que los nombres que se han empleado para las funciones se pueden cambiar: SALIDA_DIGITAL, VE? y Leer_Entrada_Analogica_num. Lo importante es el código que contiene cada función. Funcionamiento Programación Lenguajes de programación 1

Interfaz de control de dispositivos externos por ordenador a través de puerto paralelo Función para escribir en las salidas digitales PARA SALIDA_DIGITAL :VALOR LLAMADLL [v PortOut w 7 w 890] HAZ ''x (LISTA ''v ''PortOut ''w :Dato ''w 888) LLAMADLL :x FIN Procedimiento que pone un número entre 0 y 255 que viene representado por el parámetro VALOR en las salidas digitales. VALOR es un número decimal que representa a un número binario, el cual indica qué salidas digitales se quieren activar. Para poder realizar lo anterior se usa la función PortOut de la librería io.dll. Para poder invocar a las funciones de la librería io.dll se necesita la instrucción en MSWLogo LLAMADLL. SALIDA_DIGITAL Dato Si por ejemplo queremos activar las salidas digitales 0 y 5 deberíamos ejecutar la instrucción siguiente: SALIDA_DIGITAL 33 Función para leer las entradas digitales para VE? HAZ ''bajo LEER_ENTRADA_DIGITAL_BAJA HAZ ''alto LEER_ENTRADA_DIGITAL_ALTA HAZ ''dato bito :alto * 16 :bajo DEV :dato para LEER_ENTRADA_DIGITAL_BAJA LLAMADLL [v PortOut w 3 w 890] HAZ ''BAJO PRIMERO LLAMADLL [w PortIn w 889] HAZ ''BAJO bity :BAJO :MASCARA HAZ ''BAJO :BAJO / 8 HAZ ''BAJO BITINVERSO :BAJO El ordenador como elemento de control 2

HAZ ''BAJO bity :BAJO :MASCARA DEV :BAJO para LEER_ENTRADA_DIGITAL_ALTA LLAMADLL [v PortOut w 1 w 890] HAZ ''ALTO PRIMERO LLAMADLL [w PortIn w 889] HAZ ''ALTO bity :ALTO :MASCARA HAZ ''ALTO :ALTO / 8 HAZ ''ALTO BITINVERSO :ALTO HAZ ''ALTO bity :ALTO :MASCARA DEV :ALTO El procedimiento VE? devuelve el estado de los ocho sensores digitales como un número decimal equivalente a un número binario que es la suma de las entradas que toman valor 1. Para ello se usa la función PortIn y PortOut de la librería io.dll. El procedimiento VE? necesita como procedimientos auxiliares LEER_ENTRADA_DIGITAL_BAJA LEER_ENTRADA_DIGITAL_ALTA los cuales leen las entradas digitales bajas (de la 0 a la 3) y las entradas digitales altas (de la 4 a la 7), respectivamente. Si queremos almacenar en una variable llamada entradas el valor de las ocho entradas digitales, la llamada al procedimiento sería: HAZ "entradas VE? Si por ejemplo, el valor que almacenara la variable entradas fuese 141, quería decir que las entradas digitales 0, 2, 3 y 8 estaría recibiendo un valor de 1 mientras que el resto de entradas tomaría valor 0. Funcionamiento Programación Lenguajes de programación 3

Interfaz de control de dispositivos externos por ordenador a través de puerto paralelo Función para leer una entrada analógica determinada para Leer_Entrada_Analogica_num :SELECC ;Lectura del nibble bajo de la entrada analógica LLAMADLL [v PortOut w 5 w 890] HAZ ''x (LISTA ''v ''PortOut ''w :SELECC ''w 888) LLAMADLL :x LLAMADLL [v PortOut w 2 w 890] HAZ ''BAJO PRIMERO LLAMADLL [w PortIn w 889] ESPERA 1 HAZ ''BAJO ( bity :BAJO :MASCARA ) HAZ ''BAJO :BAJO / 8 HAZ ''BAJO ( bity :BAJO :MASCARA ) ;Lectura del nibble alto de la entrada analógica LLAMADLL [v PortOut w 0 w 890] HAZ ''ALTO PRIMERO LLAMADLL [w PortIn w 889] ESPERA 1 HAZ ''ALTO ( bity :ALTO :MASCARA ) HAZ ''ALTO :ALTO / 8 HAZ ''ALTO ( bity :ALTO :MASCARA ) HAZ ''ALTO :ALTO * 16 HAZ ''DATO_DIGITAL ( bito :ALTO :BAJO ) DEV :DATO_DIGITAL Procedimiento que devuelve en la variable DATO_DIGITAL el valor leido correspondiente a la entrada analógica que se le indique en el parámetro SELECC. El valor que puede tomar SELECC El ordenador como elemento de control 4

es 1, 2, 4 u 8 para hacer referencia a las entradas analógicas 1, 2, 3 ó 4 respectivamente. El proceso es similar al explicado en la función de Visual Basic para leer las entradas digitales. Si deseamos saber el valor de tensión, sólo debemos introducir las siguientes líneas en el programa principal: HAZ "dato_tension (Leer_Entrada_Analogica_num ENT)*5 / 256 donde ENT puede tomar los valores 1, 2, 4 u 8 dependiendo de la entrada analógica de la que queramos saber su valor de tensión. Leer_Entrada_Analogica_num ENT donde ENT puede tomar los valores 1, 2, 4 u 8 dependiendo de la entrada analógica de la que queramos saber su valor de tensión. Lenguaje C A continuación se explican los procedimientos básicos necesarios implementados en este lenguaje de programación para realizar las siguientes acciones: Escribir en las salidas digitales Leer las entradas digitales Leer las entradas analógicas Destacar que los nombres que se han empleado para las funciones se pueden cambiar: Escribir_Salidas_Digitales, Leer_Entrada_Digital y Leer_Entrada_Analógica. Lo importante es el código que contiene cada función. Función para escribir en las salidas digitales void Escribir_Salidas_Digitales (int Dato) { PortOut (0x37A,0x7) PortOut (0x378,Dato) } Procedimiento que pone un número entre 0 y 255 que viene representado por Dato en las salidas digitales. Para ello se usa la función PortOut de la librería io.dll. Las direcciones hay que escribirlas en hexadecimal anteponiendo al número los caracteres 0x. Escribir_Salidas_Digitales (Dato) Funcionamiento Programación Lenguajes de programación 5

Interfaz de control de dispositivos externos por ordenador a través de puerto paralelo Función para leer las entradas digitales void Leer_Entrada_Digital (int *bajo,int *alto,int *dato) { PortOut (0x37A, 0x3); *bajo = PortIn(0x379); *bajo = (*bajo & 0x78) / 8; *bajo = ~*bajo; *bajo = *bajo & 15; PortOut(0x37A, 0x1); *alto = PortIn(0x379); *alto = (*alto & 0x78) / 8; *alto = ~*alto; *alto = *alto & 15; *dato=(*alto * 16) *bajo; } Procedimiento que lee un dato correspondiente a las entradas digitales y lo almacena en el parámetro dato. El procedimiento es similar al explicado en Visual Basic para leer las entradas digitales. Leer_Entrada_Digital (&bajo, &alto, &dato) Función para leer una entrada analógica determinada void Leer_entrada_analogica (int *selecc,int *bajo,int *alto,int *dato) { PortOut(0x37A,5); PortOut(0x378,selecc); PortOut(0x37A,8); PortOut(0x37A,2); sleep(1); *bajo=portin(0x379); El ordenador como elemento de control 6

*bajo=(*bajo & 0x78)/8; *bajo=~*bajo; *bajo=*bajo & 15; PortOut(0x37A,5); PortOut(0x378,selecc); PortOut(0x37A,8); PortOut(0x37A,0); sleep(1); *alto=(*alto & 0x78)/8; *alto=~*alto; *alto=*alto & 15; *dato=(*alto * 16) *bajo; } Procedimiento que lee un dato correspondiente a las entrada analógica que se le indique en el parámetro selecc y lo devuelve en la variable dato. El parámetro selecc puede tomar los valores 1, 2, 4 u 8, correspondientes a las entradas analógicas 1, 2, 3 y 4 respectivamente. Si deseamos saber el valor de tensión, sólo debemos introducir las siguientes líneas en el programa principal: dato_tension=dato*5 / 256 Leer_Entrada_Analógica (&selecc, &bajo, &alto, &dato) Es muy importante destacar que las llamadas a las funciones PortOut y PortIn sustituyen a las antiguas outp e inp que se localizaban en la librería conio.h. Estas funciones accedían directamente al hardware de la máquina. Por motivos de seguridad, esta capacidad fue restringida a partir del sistema operativo Windows 2000. Por ello, tanto en este S.O. como en Windows XP el acceso a los puertos se debe hacer mediante el uso de las funciones PortOut y PortIn de la librería io.dll. Funcionamiento Programación Lenguajes de programación 7