好文档 - 专业文书写作范文服务资料分享网站

简易频率特性测试仪的设计

天下 分享 时间: 加入收藏 我要投稿 点赞

4-40000k(40M) ========对应关系========*/ unsigned int adtmp,adtmp0,adtmp1;//记录采集出来的ADC0的12位数据 long double ad0,ad1,sinFi,Du,K;//将12位数据转化为实际电压值,保存为浮点数据//cosFi已经不用了 unsigned char wei,count,incount;//LCDsys用的:数据标志位、全局计数位、内嵌套计数位 unsigned char cmd;//画图时候:1-频率特性绘图,2-幅度特性曲线,3-校准,4-退出 //扫频时候:1-步进,2-起始频率,3-截止频率 bit AorF;//用于标志:设置频率或者幅度、的标志位。 unsigned int mo=1;//扫频使用 scan using... unsigned long Freq1=1000000.0;//扫频使用 scan using... unsigned int scanstep=1;//扫频使用 scan using... 扫频步进 void initlcdsys()//LCDsys初始化函数 { ADCcount=0; f=100;// kHz a=2000;// mV wei=0;AorF=0; Clear(); fun_ok(); JiaoZhunBit=0; MaxValue=0; MaxPoint=0; //MinValue=0; //MinPoint=0; for(count=0;count<120;count++){Value[count]=0;} ThreeDb[0]=0;ThreeDb[1]=0; } 【其实最好是写一个初始化函数,给自己定义了的变量赋一个初值】 【下面是一个寻找5个数字的中值得函数,用到了冒泡排序,还记得不?】 unsigned int mid5(unsigned int num1,unsigned int num2,unsigned int num3,unsigned int num4,unsigned int num5){ } 【下面是一个将一位的整型转化成字符串的函数】 //将 1 位的 int 型数据转换,返回‘字符’的子函数 char int2char(int input) { } 【在液晶屏上画无符号整型的函数】 void drawint(unsigned int num,unsigned char row,unsigned char col) { Drawchar(int2char((num/1)),row,col+4); Drawchar(int2char((num/10)),row,col+3); Drawchar(int2char((num/100)),row,col+2); Drawchar(int2char((num/1000)),row,col+1); Drawchar(int2char((num/10000)),row,col+0); return 0x30+input; unsigned int a[6],i,start; a[1]=num1;a[2]=num2;a[3]=num3;a[4]=num4;a[5]=num5; for(start=5;start>1;start--){ } return a[3]; for(i=1;ia[i+1]){a[0]=a[i];a[i]=a[i+1];a[i+1]=a[0];} } 【在液晶屏上画有符号整型的函数】 void drawsignedint(int input,unsigned char row,unsigned char col) { put;} } 【在液晶屏上画有符号浮点数的函数】 void drawsignedfloat2_2(float input,unsigned char row,unsigned char col) { } Drawchar(int2char((num/1)),row,col+4); Drawchar(int2char((num/10)),row,col+3); Drawchar(int2char((num/100)),row,col+2); Drawchar(int2char((num/1000)),row,col+1); int num; if(input<0){Drawchar('-',row,col+0);num=-input;}else{Drawchar('+',row,col+0);num=infloat num; if(input<0){ Drawchar('-',row,col+0); num=-input; }else{ } Drawchar(int2char((int)(num/10.0)),row,col+1); Drawchar(int2char((int)(num/1.0)),row,col+2); Drawchar('.',row,col+3); Drawchar(int2char((int)(num*10.0)),row,col+4); Drawchar(int2char((int)(num*100.0)),row,col+5); Drawchar('+',row,col+0); num=input; 【这个函数是我们打主屏(F和A设置时候的函数),贴出图片来看看 】 void fun_ok() { if(AorF){ DrawcharS(\ drawint(a,1,0); } DrawcharS(\DrawcharS(\ drawint(f,3,7); DrawcharS(\ }else{ } DrawcharS(\DrawcharS(\ drawint(f,1,0); DrawcharS(\ DrawcharS(\ drawint(a,3,7); DrawcharS(\【这是画扫频菜单时候的函数。。。 靠。。。找不到照片。。。可能没拍吧。。。 】 void fun_scanmsg() { Clear(); } 【下面是两路ADC的补偿函数,根据不同的频率,将电压分别在接直通网络自动校准的时候,分别校准位1250mV和2500mV】 /*========对应关系======== 0- 5000k( 5M) DrawcharS(\DrawcharS(\DrawcharS(\DrawcharS(\DrawcharS(\

简易频率特性测试仪的设计

4-40000k(40M)========对应关系========*/unsignedintadtmp,adtmp0,adtmp1;//记录采集出来的ADC0的12位数据longdoublead0,ad1,sinFi,Du,K;//将12位数据转化为实际电压值,保存为浮点数据//cosFi已经不用了unsignedcharwei,count,incount;//LC
推荐度:
点击下载文档文档为doc格式
5qoud6wcjd1xu1x81dzc4m0xd0pw4b00nn0
领取福利

微信扫码领取福利

微信扫码分享