Programa para puerto serial

Embed Size (px)

DESCRIPTION

consiste en un proyecto para relaizar en puerto serial para el curso de arquitectura de computarodras

Citation preview

#include #include #include #include #include #include int paralelo(), para, contador=2; unsigned int _far *puntero_a_direccion;char binario[8]={'0','0','0','0','0','0','0','0'};int numbinario[8];int decimal=0;int a;int b=-1;void main(){clrscr();paralelo();do{printf("\n\n \t \t \t \t CASA INTELIGENTE \n");printf("\n\n \t Escriba (1) y (0) en el orden de la siguiente lista\n ");printf("\n \t 1 para encender y 0 para apagar, Ejemplo (00101100)\n \n ");printf("\n bit 0 - luz habitacion 1 ");printf("\n bit 1 - luz habitacion 2 ");printf("\n bit 2 - luz Escaleras ");printf("\n bit 3 - Aire Acondicionado habitacion 1 ");printf("\n bit 4 - Aire Acondicionado habitacion 2 ");printf("\n bit 5 - otros 1 ");printf("\n bit 6 - otros 2 ");printf("\n bit 7 - otros 3 ");printf("\n \n \n Para cerrar el progama desactive todo (00000000):\n ");printf("\n \n \n Ingrese datos a usar en el orden:\n ");printf("\n \t\t\tbits: 7-6-5-4-3-2-1-0 \n \n \t\t\t"); do { combercion(); // Sacamos el nmero por el puerto paralelo. if (decimal != 0) { outportb(para, decimal); } printf("\nEl numero en decimal es %i \n \n",decimal); delay(1000); clrscr(); } while (decimal < 0 || decimal > 255); }while(decimal != 0);outportb(para,0); printf("\n \n \t ...Aplicacin Finalizada..."); delay(1000); } combercion(){scanf("%8s",binario); for(a=7;a>=0;a=a-1) { b++; switch(binario[b]) { case '0': numbinario[a]=0; break; case '1': numbinario[a]=1; break; default: printf("Los caracteres introducidos no son correctos"); delay(1000); } decimal=numbinario[a]*pow(2,a)+decimal; }return 0;}paralelo(){ clrscr(); busqueda: puntero_a_direccion=(unsigned int _far *)0x00000408; printf("Rastreando Direccin de Puerto Paralelo"); while(contador