📄 tz.c
字号:
#include <formatio.h>
#include <userint.h>
#include <utility.h>
#include <ansi_c.h>
#define DAC_port 0x16f //output
#define CONTROL_port 0x16e //output
#define DECIDE_TRIG_port 0x16d //input
#define VOLT_max 255
#define VOLT_min 0
#define VOLT_0 128
#define V_1_set 0x09 //0110 reverse 1001
#define V_1_reset 0x08 //0111 1000
#define V_4_set 0x07 //1000 0111
#define V_4_reset 0x06 //1001 0110
#define V_5_set 0x05 //1010 0101
#define V_5_reset 0x04 //1011 0100
#define V_3_set 0x03 //1100 0011
#define V_3_reset 0x02 //1101 0010
#define V_2_set 0x01 //1110 0001
#define V_2_reset 0x00 //1111 0000
#define AD_trig 0x0a //0101 1010
#define START_sys 0x0f //0000 1111
#define RESET_sys 0x0d //0011 1100
main()
{
int i,j,k,dh,dl,ready;
int t;
int dat[32768];
char fname[30];
char f[10];
char num[10];
FILE *fp;
outp(CONTROL_port,V_2_reset);
outp(CONTROL_port,V_3_reset);
outp(CONTROL_port,V_4_reset);
outp(CONTROL_port,V_5_reset);
outp(CONTROL_port,V_1_set);
printf("\nInput delay data:");
scanf ("%d", &t);
printf("\nInput save file name:");
scanf("%s",f);
outp(0x161,0); // Reset RAM Address
for( k =0; k<2*t; k++);
outp(0x163,0); //Reset A/D system
for(j=0;j<8;j++)
{
while(inp(DECIDE_TRIG_port) & 0x01);
outp(DAC_port,VOLT_min);
for( k =0; k<(20*t); k++);
outp(CONTROL_port,AD_trig);
for( k =0; k<(50*t); k++);
for(i=VOLT_min;i<=VOLT_max;i++)
{
outp(DAC_port,i);
for( k =0; k<t; k++);
}
for( k =0; k<(50*t); k++);
outp(DAC_port,VOLT_0);
Delay(0.3);
}
ready = inp(0x167)&0x01;
while(ready == 0)
{
outp(CONTROL_port,AD_trig);
ready = inp(0x167) & 0x01;
}
getchar();
printf("%s","Now Transfering Data of:... \n");
for(j=0;j<9;j++)
{
printf("Channel No.%2d\n",j+1);
outp(0x160,j+1); //Channel number
for( k=0; k<2*t; k++);
outp(0x161,0);
for( i=0;i<32768;i++)
{
inp(0x164); //Clock in Transfering Address
outp(0x162,0); //set low 8_bit
for( k=0; k<t; k++);
dl=inp(0x165); //Read data
inp(0x166); // set High 8_bit
for( k=0; k<t; k++);
dh=inp(0x165); //Read data
dat[i]=((dh<<4)&0xff0)+((dl>>4)&0x0f);
}
sprintf (num, ".%d", j+1);
strcpy (fname, f);
strcat (fname, num);
fp=fopen (fname, "w");
//fwrite (dat, 2, 32768, fp);
for(i=0;i<32768;i++) fprintf(fp,"%d\n",dat[i]);
fclose(fp);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -