Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <conio.h>
- #include <iostream>
- #include "USB.h"
- #include "USB2550.h"
- using namespace std;
- void main()
- {
- USB Miusb;
- //DWORD sensor;
- BYTE datos[10];
- int d, datos_en_leds;
- cout<< "Que dato desea mostrar por el puerto b: ";
- cin>>d;
- datos[0]=2; //Puerto B: 2, Puerto D: 3
- datos[1]=d; // dato que se mostrará en el puerto|
- Miusb.SendPacket(datos,2);
- Sleep(1000);
- datos[0]=2;
- datos[1]=0;//apaga los led que se indicaron en binario en el puerto B
- Miusb.SendPacket(datos,2);
- cout<<"datos enviados por USB"<<endl;
- getch();
- system("cls");
- do{
- cout<<"\n.....................................................";
- cout<<"\nPrograma de manejo del semaforo";
- cout<<"\nIndique una opcion";
- cout<<"\n 1. Activar el sistema de semaforos";
- cout<<"\n 2. Semaforos desactivados calle principal";
- cout<<"\n 3. Semaforos desactivados calle secundaria";
- cout<<"\n 4. Salir";
- int p;
- cin>>p;
- switch(p)
- {
- case 1: cout<<"\nCuantas horas desea activarlo?";
- int horas;
- cin>>horas;
- for(int i=0;i<horas;i++)//las horas son relativas, aqui las horas seran ciclos para apreciar la duracion del semaforo activo
- {
- system("cls");
- datos[0]=2;//Tomamos el puerto B
- datos[1]=33;
- Miusb.SendPacket(datos,2);
- Sleep(50000);//Hace la accion por 50 seg
- for(int k=0;k<8;k++){
- datos[0]=2;
- datos[1]=32;
- Miusb.SendPacket(datos,2);
- Sleep(1000);//1 seg
- datos[0]=2;
- datos[1]=33;
- Miusb.SendPacket(datos,2);
- Sleep(1000);//1 seg
- }//Parpadeo del color verde
- datos[0]=2;
- datos[1]=34;
- Miusb.SendPacket(datos,2);
- Sleep(1000);//Prendemos el amarillo
- datos[0]=2;//Tomamos el puerto B
- datos[1]=12;//Inicia el ciclo el otro semaforo
- Miusb.SendPacket(datos,2);
- Sleep(50000);//Hace la accion por 50 seg
- for(int k=0;k<8;k++){
- datos[0]=2;
- datos[1]=4;
- Miusb.SendPacket(datos,2);
- Sleep(1000);//1 seg
- datos[0]=2;
- datos[1]=12;
- Miusb.SendPacket(datos,2);
- Sleep(1000);//1 seg
- }//Parpadeo del color verde
- datos[0]=2;
- datos[1]=20;
- Miusb.SendPacket(datos,2);
- Sleep(1000);//Prendemos el amarillo}
- }
- break;
- case 2:cout<<"\nCuantas horas desea activarlo?";
- int horas;
- cin>>horas;
- for(int i=0;i<horas;i++)
- {
- datos[0]=2;
- datos[1]=0;
- Miusb.SendPacket(datos,2);
- Sleep(1000);//1 seg
- datos[0]=2;
- datos[1]=18;
- Miusb.SendPacket(datos,2);
- Sleep(1000);//1 seg
- } break;
- case 3:cout<<"\nCuantas horas desea activarlo?";
- int horas;
- cin>>horas;
- for(int i=0;i<horas;i++)
- {
- datos[0]=2;
- datos[1]=0;
- Miusb.SendPacket(datos,2);
- Sleep(1000);//1 seg
- datos[0]=2;
- datos[1]=36;
- Miusb.SendPacket(datos,2);
- Sleep(1000);//1 seg
- }break;
- case 4: break;
- default:cout<<"\nOpcion no valida en el menu"; break;
- }
- }while(p!=4);
- /*
- datos[0]=2; //indica el puerto B
- datos[1]=0;
- Miusb.SendPacket(datos,2);
- Sleep(3000);
- datos[0]=2;
- datos[1]=0;
- Miusb.SendPacket (datos, 2);
- Sleep (100);
- datos_en_leds=1; //Corre izq
- int aux;
- for(int i=0; i<8;i++)
- {
- datos[1]=datos_en_leds;
- aux=datos_en_leds;
- printf("\n%d",datos_en_leds);
- datos_en_leds<<=1;
- Miusb.SendPacket (datos, 2);
- Sleep (100);
- }
- datos_en_leds=128; //Corre der
- for(int i=0; i<8;i++)
- {
- datos[1]=datos_en_leds;
- printf("\n%d",datos_en_leds);
- datos_en_leds>>=1;
- Miusb.SendPacket (datos, 2);
- Sleep (100);
- }
- datos_en_leds=255;
- for(int i=0; i<10;i++)
- {
- //Parpadeo todo
- //dato_en_LEDS=dato_en_LEDS^255;
- datos_en_leds^=255;
- datos[1]=datos_en_leds;
- printf("\n\n\t...%d\t...%d",i+1,datos_en_leds);
- Miusb.SendPacket (datos, 2);
- Sleep (250);
- }
- printf("\nBinario....Decimal....Caracter....Octal...Hexadecimal");
- cout<<"\n";
- for(int i=0; i<10; i++)
- {
- datos[0]=2; //Puerto B: 2, Puerto D: 3
- datos[1]=i;
- Miusb.SendPacket(datos,2);
- //cout<<i <<" "<< oct <<i<<" "<< hex <<i<<endl;
- int binario[8];
- int posicion;
- datos_en_leds=i;
- posicion=0;
- do{
- binario[posicion]=datos_en_leds%2;
- datos_en_leds=datos_en_leds/2;
- posicion ++;
- }
- while (posicion<=7);
- for (posicion=7; posicion>=0; posicion--)
- printf("%d",binario[posicion]);
- printf("B ");
- printf(" %d %c",i,i);
- cout <<" "<< oct <<i<<"Q";
- cout<<" "<< hex <<i<<"H"<<endl;
- /*for (posicion=7; posicion>=0; posicion--)
- printf("%d",binario[posicion]);
- printf("B ");
- printf("%d %c",i,i);
- cout <<" "<< oct <<i;
- cout<<" "<< hex <<i<<endl;
- */
- Sleep(500);
- }*/ //termina la parte del for muestra numeros en diferentes sistemas
- }
Advertisement
Add Comment
Please, Sign In to add comment