⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 showdata.c

📁 这是我做的数据采集实验
💻 C
字号:
#include <dos.h>
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#define num_sample 256
void interrupt ( *oldsample)(void);
void interrupt  datasample(void);
void showdata(void);
void dashow(void);
void file_creat_datashow(void);
int count=0, dbyte,da;
int data_sample[num_sample];
float  data[num_sample];
FILE *pt1;
void    main()
{
    disable();
    oldsample=getvect(0x08);/*保护现场*/
    outportb(0x43,0x36); /*选择通道0*/
    outportb(0x40,0x9d); /*置计数初值,先低后高*/
    outportb(0x40,0x2e);
    setvect(0x08,datasample);
    enable();

    while(count<num_sample);
    puts("\n The data_sampling is over!\n");

    disable();
    setvect(0x08,oldsample);
    outportb(0x43,0x36);
    outportb(0x40,0x00);
    outportb(0x40,0x00);
    enable();
    getch();
    putchar('\n');
    file_creat_datashow();
}


void  interrupt datasample()
{     outportb(0x280,0x00);
     do
     ;
     while(!(inportb(0x285)&0x80));
     dbyte=inportb(0x281)|((inportb(0x282)&0x0f)<<8);
      showdata();
      dashow();
      count++;
      outportb(0x283,(da&0x00ff));
      outportb(0x284,((da>>8)&0x0f));
      outportb(0x20,0x20);
}
void showdata()
{    data_sample[count]=dbyte-2047;
     data[count]=data_sample[count]*10/4096;
     printf("%d,The Voltage is %f  \n",data_sample[count],data[count]);
 }
void dashow()
 { if(dbyte==4095)
      da=dbyte;
   else if(dbyte<4095)
      da=dbyte+1;
 }

void file_creat_datashow()
{

    int i;
    printf("\n");
    pt1=fopen("d:\datashow.dat","wb");
    for(i=0;i<num_sample;i++)
    fprintf(pt1,"%d ",data_sample[i]);
    fclose(pt1);
    pt1=fopen("datashow.dat","rb");
     while(feof(pt1)==0)
     {
     fscanf(pt1,"%d ",&i);
     printf("%d,",i);}
      fclose(pt1);
    getch();
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -