PC-7423 12位16路光隔A/D转换板
板上的核心芯片为AD1674,自带采样保持器。
有一个用C编写的程序如下:
#include "dos.h"
#include "stdio.h"
#include "conio.h"
#include "process.h"
#define Port 0x300
void main()
{
int combase,dl[16],dh[16],i,k,m,n,g=0;
char inpch,loop_end=0;
float b=10/4.096,dn[16],dm[10][16];
for(m=0;m<16;m++)
{dn[m]=0;
for(n=0;n<10;n++)
{dm[n][m]=0;}
}
for(m=0;m<10;m++){
outportb(combase,g*16+i);
for(k=1;k<100;k++);
outportb(combase+1,i);           /    *A/D*  /
for(k=1;k<100;k++);
do{
    dh[i]=(inportb(combase+1)&0x80);
   }while(dh[i]&0x80==0x80);
dl[i]=inportb(combase+2);       /*read D7-D0*/
for(k=1;k<100;k++);
dh[i]=inportb(combase+3);       /*read AD1674D8-D11*/
for(k=1;k<100;k++);
......
}
BASIC程序:
20 DIM D(15)
30 B=5000                            :偏移量为5V
40 G=0                               :增益为1倍
50 U=10000/4096                      :1LSB=2.44MV
60 A=&H300                           :确定基地址为300H
70 FOR N=0 T0 15
80 OUT A,G*16+N                      :写通道控制字
90 OUT A+1,N                         :启动AD
100 L=INP(A+2)                       :读AD转换结果的低4位
110 H=INP(A+3)                       :读AD转换结果的低4位
120 D(N)=(H*16+L/16)*U-B
130 NEXT N
140 FOR N=0 T0 15                    :输出结果
150 PRINT "CH=";N,D(N);"MV"
160 NEXT N
170 END 
180 REM ADC 输入-5伏----+5伏  ,偏移码输出
现在我用VC编写程序,在C以及BASIC中有这样几个函数,outportb(),inportb(),OUT
如何在VC中引用有同样功能的函数