Está en la página 1de 4

#include

#include
#include
#include
#include
#define
#define
#define
#define
#define
void
void
void
void
void
void
void
void

<stdio.h>
<stdlib.h>
<dos.h>
<graphics.h>
<conio.h>
PA 0x100 //La direccion del puerto A
PB 0x101
PC 0x102
PPI 0x103
BGI ""

Ini_Graficos();
Fin_Graficos();
sensor();
banda1(); //HARDWARE
banda2();
mueve(); //SIMULACION EN SOFTWARE
mueve2();
sensor2();

void main()
{
Ini_Graficos();
outportb(PPI,0x90); //PROGRAMA EL PPI CON LA PALABRA DE CONTROL
banda1();
banda2();
Fin_Graficos();
}
void Ini_Graficos()
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver &gmode, BGI);
errorcode = graphresult();
if(errorcode != gr0k) // Error del modo grafico
{
textbackground(BLUE);
textcolor(WHITE);
clrscr();
gotoxy(10,10);
prinft("error del modo grafico: %s", grapherrormsg(errorcode));
gotoxy(20,20);
prinft("verificar que el directorio se encuentre en BGI");
gotoxy(22,12);
textcolor(BLINK+YELLOW);
cprintf("presiona cualquier tecla para continuar:");
getch();
}
}//ini_graficos
void Fin_Graficos()
{
closegraph();
}//fin_graficos

void motor1()
{
int i;
outportb(PC,6);
for(i=0; i<5; i++)
{
outportb(PC,6);
delay(5000);
outportb(PC,2);
delay(5000);
printf("a\n");
}
}
void sensor()
{
int i;
unsigned char dato
outportb(PC, 6);
for(i=0; i<10; i++)
{
dato = inportb(PA);
printf("%d\n",dato);
getch();
}
}
void banda1()
{
unsigned char dato;
outportb(PC,6);
int i,cont=0;
do{
dato=inportb(PA);
//printf("%d\n",dato);
setcolor(YELLOW);
rectangle(100,100,150,150);
rectangle(100,150,300,200);
setcolor(WHITE);
rectangle(151,130,187,149);
if(dato<10 && cont<3)
{
x=112;
for(i=0; i<3; i++)
{
outportb(PC,2);
delay(2000);
outportb(PC,6);
delay(2000);
{
if(i==3)
{
mueve();
}
}
printf("OBJECTO %d\n", cont+1);

cont++;
}
}
}while(cont!=3);
}
void banda2()
{
int i;
outportb(PC,6);
delay(1000);
for(i=0;i<5;i++)
{
outportb(PC,5);
delay(2000);
outportb(PC,6);
delay(2000);
}
//cleardevice();
delay(1000);
mueve2();
outportb(PC,6);
setcolor(WHITE);
settextstyle(7,0,4);
sensor2();
//outtextxy(50,50,"..........BANDA VACIA............");
getch();
}
void mueve()
{
int i;
int x=100,x2=112;
//int x2=x+12;
for(i=0; i<4; i++)
{
setcolor(WHITE);
rectangle(x,80,x2,100-1);
delay(400);
setcolor(BLACK);
rectangle(x,80,x2,100-1);
x+=12;
x2+=12;
}
}
void mueve2()
{
int i, x=151, x2=187;
for(i=0; i<4; i++)
{
setcolor(WHITE);
rectangle(x,130,x2,149);
delay(400);
setcolor(BLACK);
rectangle(x,130,x2,149);

x+=37;
x2+=37;
}
}
void sensor2()
{
unsigned char dato;
outportb(PC,7);
dato=inportb(PA);
if(dato>10)
printf("banda vacia");
}

También podría gustarte