Pascal/Turbo Pascal - Necesito ayuda

 
Vista:

Necesito ayuda

Publicado por José (3 intervenciones) el 09/06/2008 20:09:33
Hola estimados programadores.

Necesito ayuda, pues debo enseñar a alumnos de 8º básico nuevas tecnologías y con ello controlar el puerto paralelo del PC.
No cuento con mucho conocimiento del programa turbo pascal pero es más fácil de conseguir y algunos comentarios dicen es más simple.
Necesito saber entre otras cosas
¿Como puedo controlar un pin del puerto paralelo para que abra o cierre?
¿Como puedo programar más de un pin del puerto paralelo?
¿Como programo para recibir una señal externa (corriente)?

Por el momento sólo necesito informaciones básicas, pues debo enseñar a niños de 8º básico 12 o 13 años aproximadamente. Comprenderan que ellos son aún muy concretos y enseñar a programar creo será todo un desafío.

Les agradesco de antemano todo tipo de información que puedan compartir.

Saludos

José
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Necesito ayuda

Publicado por Diego Romero (996 intervenciones) el 09/06/2008 21:24:10
Lo que pretendes no es adecuado para enseñar a personas con nulos conocimientos de programación porque además de programación en sí requiere saber arquitectura de computadores.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesito ayuda

Publicado por Jose (3 intervenciones) el 12/06/2008 04:34:23
No hay problema, soy profe de electrónica, he desarrollado una interface para proteger al computador. Conozco la arquitectura del computador pero no la programación del puerto paralelo en pascal. He creado algunos pequeños programas en él, por ello necesito saber cómo controlar este puerto, consegui el dll que permite tener acceso al puerto paralelo, pero no puedo controlarlo.
Si me puedes ayudar te lo agradecería muchisimo
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesito ayuda

Publicado por Diego Romero (996 intervenciones) el 12/06/2008 11:47:44
Hablaba de tus alumnos, no de ti... en fin. ¿Qué compilador estás usando?. Una DLL no sirve de nada en Turbo Pascal porque TP es para DOS y en DOS no existe el concepto de DLL.
En Turbo Pascal para acceder a posiciones de memoria mapeadas, como es el caso de los puertos paralelos, se usa un array predefinido llamado port[] cuyo índice es la dirección de memoria que quieres leer (asignando port[] a una variable) o escribir (asignando a port[] un valor), cada posición de ese array es un tipo byte. Por ejemplo:

a:=port[$378];

Estás leyendo los primeros ocho pines del puerto LPT1 (los siguientes 8 pines están en la siguiente posición del array port), un byte son 8 bits, cada bit se corresponde con un pin del puerto. Un puerto LPT tiene 25 pines pero solo 16 de ellos están utilizados. Para activar o desactivar cada pin tendrás que hacer aritmética de bits. Por ejemplo:

port[$378]:=8;

Estarás activando el pin 5 (empiezan en el 2, 8 en binario es 1000). Para encender todos los pines:

port[$378]:=255;

255 en binario es 11111111. Para encender todos menos el quinto puedes hacer:

port[$378]:=255 xor 8; { 11111111 xor 1000 = 11110111 }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesito ayuda

Publicado por Jose (3 intervenciones) el 13/06/2008 06:26:45
Estimado Diego

Muchas gracias por responder.

En una oportunidad revise un pequeño programa que tenía sólo 8 líneas en visualbasic, esto controlaba 4 salidas y 4 entradas por medio de 8 botones.
Me pareció muy interesante pero no me lograron explicar el funcionamiento del programa y menos el control de un sólo pin del puerto paralelo.
Este era muy interesante para trabajar con niños, pues era muy sencillo, pero si no lo puedo explicar no me sirve de nada. Un amigo programador no experto en pascal me comentó que éste programa era mas sencillo de usar y programar.
Pero con tu opinión más experta me doy cuenta que se equivocó.
Te agradesco mucho tu comentario. Continuaré tratando de controlar el puerto con actionScript y visual basic, ya que es más interactivo, pero tremendamente complejo.

Saludos y nuevamente muchas gracias.
José

P.E. Si por casualidad alguno de tus colegas programadores conoce una forma fácil (muy fácil) de controlar el puerto paralelo y me pudiera escribir, te lo agradecería un muchisimo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar