• Martes 15 de Julio de 2025, 07:16

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - laupotter

Páginas: 1 [2]
26
Visual C++ / Cómo Mandar Información A Lcd En Visual C++
« en: Jueves 16 de Diciembre de 2004, 20:20 »
Hola a todos:
Quisiera ver si alguien me puede ayudar a mandar la infomación a una LCD (como la pantalla de las calculadoras) para que se puedan aparcer los números, se encienda y se apague.

Tengo este programa pero mi maestro nos lo pidió en VISUAL C++ y no se como lo puedo hacer, lo que pasa es que no se utilizar muy bien visual y pues tengo problemas, si alguien me puede ayudar se lo agradecería, y si notan algo que esté mal en el programa pueden decirmelo?? por favor.

saludos

#include <stdio.h>
#include <dos.h>

int puerto(int direcc);
int seleccion;

int main()
{
    unsigned int __far *puntero_a_direccion;
    int i, direccion[3]={0,0,0}, disponible[3]={0,0,0};

    puntero_a_direccion = (unsigned int __far *)0x00000408;

    printf("Seleccione el puerto:\n");
    /* ¿Cuantos puertos existen? */
    for (i=0; i<3; i++)
    {
        if (*puntero_a_direccion == 0)
        printf("Puerto LPT%d...............no disponible\n", i+1);
        else
        {
            disponible = 1;
            direccion = *puntero_a_direccion;
            printf("Puerto LPT%d...............%d\n", i+1, i+1);
        }
        puntero_a_direccion++;
    }
    printf("Salir del programa........0\n");
    scanf("%d", &seleccion);

    do
    {
        switch(seleccion)
        {
            case 0:/* Salir del programa */
            printf("Adios!!!\n");
            return 0;
            break;

            case 1:/* Puerto LPT1 */
            if(disponible[0]==1)
            puerto(direccion[0]);
            else
            {
                printf("ERROR: PUERTO NO DISPONIBLE\n");
                return 0;
            }
            break;

            case 2:/* Puerto LPT2 */
            if(disponible[1]==1)
            puerto(direccion[1]);
            else
            {
                printf("ERROR: PUERTO NO DISPONIBLE\n");
                return 0;
            }
            break;

            case 3:/* Puerto LPT3 */
            if(disponible[2]==1)
            puerto(direccion[2]);
            else
            {
                printf("ERROR: PUERTO NO DISPONIBLE\n");
                return 0;
            }
            break;

            default:
            printf("ERROR: OPCION INCORRECTA!\n");
            break;
        }
        if(seleccion!=0)
        {
            printf("Seleccione otra opcion\n");
            scanf("%d", &seleccion);
        }
    }
    while(seleccion!=0);

    return 0;
}

int puerto(int direcc)
{
    unsigned char valor; /* Solo valores entre 0 y 255 */

    printf("Ahora puede escribir cualquier valor\n");
    printf("entre 1 y 255, 0 para terminar el programa\n");
    do
    {
        printf("Valor al puerto?\n");
        scanf("%d", &valor);
        outp(direcc, valor);
        printf("Se ha escrito %d al puerto\n", valor);
    }
    while(valor!=0);

    return seleccion=0;
}

Páginas: 1 [2]