该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
自己先贴个,哪位有更好的程序。发上来啊
#include
#include
#define DR 0x378
#define SR 0x379
#define TIME1 1000
#define TIME2 1
void adc0809(int *s);
int i=0;
void main()
{
int driver=9, mode=2;
int x=15, y=400;
int i, j;
unsigned char data=0;
float data1;
char ch=0;
unsigned int temp;
initgraph(&driver, &mode, "");
while(ch != 27)
{
cleardevice();
setcolor(RED);
outtextxy(20,40,"The graphic of signal :");
outtextxy(x+600-15,y+15,"t");
outtextxy(x+15,y-300+5,"|x(t)|");
outtextxy(x,y+15,"0");
moveto(x,y);
lineto(x+600,y);
lineto(x+600-7,y+7);
moveto(x+600,y);
lineto(x+600-7,y-7);
moveto(x,y);
lineto(x,y-300);
lineto(x-7,y-300+7);
moveto(x,y-300);
lineto(x+7,y-300+7);
setcolor(GREEN);
moveto(x,y);
for(i=0; i<580; i++)
{
outportb(DR,0x00);
outportb(DR,0x01);
delay(TIME2);
outportb(DR,0x00);
/**************************************/
data1 = data;
gotoxy(40,4);
printf("INPUT V = %f v",data1/51);
lineto(x+i,y-data);
/**************************************/
while(inportb(SR) & 0x80);
outportb(DR,0x02);
delay(TIME2);
temp = inportb(SR)<<1;
data = temp&0xf0;
outportb(DR,0x06);
/*delay(TIME2);*/
temp = inportb(SR)>>3;
temp &= 0x0f;
data |= temp;
outportb(DR,0x00);
/**************************************/
}
if(kbhit())
ch = getch();
}
}