最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

当前位置: 主页 > 电子DIY > 工具仪表 > 仪器仪表 >

大小通吃的电感表,精度还很好(5)

时间:2017-04-26 17:40来源:www.crystalradio.cn 作者:xjw01 点击:
char Tk=0,Tkm=12,fa=0; void timerInter1(void) interrupt 3 {//T1中断 fa++; } void timerInter0(void) interrupt 1 {//T0中断 uchar a,b,c; if(++Tk=Tkm){ //读取计数值 Tk = 0; TR1 = 0; //暂停计数 a = fa, b
  • char Tk=0,Tkm=12,fa=0;
  • void timerInter1(void) interrupt 3 {//T1中断
  • fa++;
  • }
  • void timerInter0(void) interrupt 1 {//T0中断
  •   uchar a,b,c;
  •   if(++Tk>=Tkm){ //读取计数值
  •         Tk = 0;
  •     TR1 = 0; //暂停计数
  •         a = fa, b = TH1, c = TL1;
  •         fa = TH1 = TL1 = 0;
  •         TR1 = 1;
  •         feq = (a*256L*256L + b*256L+c) * (24/Tkm);
  •     if(feq<=5) feq = 0;; //去除本频率(通常有1Hz)
  •     if(feq<300&&feq>10) Tkm = 24; //低频(小于10视为不起振)
  •         else                Tkm = 12; //频率较高时,闸门时间减小一些,加快测量速度
  •   }
  • }
  • void putLx(float L){
  •   if(L<1e-4) { L*=1e6; lcd_putf(L,2,4); lcd_puts(" uH"); return; }
  •   if(L<1e-3) { L*=1e6; lcd_putf(L,1,4); lcd_puts(" uH"); return; }
  •   if(L<1e-2) { L*=1e3; lcd_putf(L,3,4); lcd_puts(" mH"); return; }
  •   if(L<1e-1) { L*=1e3; lcd_putf(L,2,4); lcd_puts(" mH"); return; }
  •   if(L<1e+0) { L*=1e3; lcd_putf(L,1,4); lcd_puts(" mH"); return; }
  •   if(L<1e+1) {         lcd_putf(L,3,4); lcd_puts("  H"); return; }
  •   if(L<1e+2) {         lcd_putf(L,1,4); lcd_puts("  H"); return; }
  •   if(L<1e+5) {         lcd_puti(L,5);   lcd_puts("  H"); return; }
  •   lcd_puts("Overflow.");
  • }
  • float c2c(float f){ //针对涤纶电容修正
  • code float a[5]={100,   1000,  10000, 100000, 150000 };  //频率
  • code float b[5]={1.004, 1.000, 0.992, 0.960,  0.950  };  //修正量(综合修正表)
  • //code float a[5]={100,   1000,  10000, 100000, 200000 }; //频率
  • //code float b[5]={1.004, 1.000, 0.992, 0.975,  0.973  }; //修正量(涤纶原真修正表)
  • char i;
  • if(f<a[0]) return b[0];
  • if(f>a[4]) return b[4];
  • for(i=0;i<4;i++){
  •   if( f>=a[i] && f<a[i+1]) return b[i] + (b[i+1]-b[i]) * (f-a[i]) / (a[i+1]-a[i]);
  • }
  • }
  • float Lx=0;
  • void calcL(){ //电感计算
  • float f,w,c0;
  • f = feq/1.024;
  • c0 = 3.12e-9 * c2c(f);
  • w = 2*3.1415926*f;
  • if(w) Lx = 1/(w*w*c0); 
  • else  Lx = 1e20;
  • lcd_goto1(0); putLx(Lx-cs.L0);
  • lcd_goto2(0); lcd_puts("F="); lcd_puti(f,6); lcd_puts("Hz");
  • }
  •  
  • main(){
  • uchar kn=0;
  • eepEn = 12345;
  • //端口初始化
  • P3M0 = 0x00;    //00000000 
  • P3M1 = 0x20;    //00100000 P3.5置为高阻口
  •  
  • delay2(5);    //等待升压电源电压上升
  • lcd_init();   //初始化LCD
  • lcd_cur0();   lcd_puts("LC 1.0");   //隐藏光标并显示片本 (责任编辑:admin)
  • 织梦二维码生成器
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片
    栏目列表
    推荐内容