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

📄 max134.c

📁 数字万用表芯片MAX134的驱动,包括一些资料,知识源于网络
💻 C
📖 第 1 页 / 共 2 页
字号:
   cr1=0X05;   /*filter short and filter on =1*/
   if(FSCode==1)  //如果等于直流测量
     {cr3=0X0A;}  /*直流电压测量*/ //对寄存器3的DC,AC,DIVIDER_SENSE三位进行相应的设置
   else 
     {cr3=0X06;}     /*交流电压测量*/
   switch(RangeCode)  //检测量程范围
    {case 1:          /*400mv量程*/
      //P3=0XF9;        /*400mV量程电压测试前端继电器控制电路可以与电阻测量电路相同*/
      cr1=0X0D;         //设置相应的控制寄存器,使它成为4MV的测量系统
      cr2=0X00;
      cr3&=0X0D;
      break;
     case 2:          /*4V量程*/
      cr1=0X05;       //设置相应的寄存器使它成为对应的量程
      cr2=0X01;
      break;
     case 3:          /*40V量程*/
      cr2=0X02;

      break;
     case 4:          /*400V量程*/
      cr2=0X04;
      break;
     case 5:          /*4000V量程 实际为1000V*/
      cr2=0X08;
      break;
    }

    WCCF(); /*写控制字*/

  }
  /******************************************
 * 涵数名: void MRF() 
 * 
 *
 * 涵数功能: 电阻测量函数
 *******************************************/
  void MRF()  /*电阻测量函数FSCode=3*/
  { 
    cr0=0X00;   /*此处可以进行优化*/
    cr1=0X05;
    cr3=0X09;   /*ohms measurement*/
    cr4=0X01;
   switch(RangeCode)
    {
	case 1:   /*400 欧姆量程 xxx.x*/
      cr2=0X08;
      Rref=1;   /*参考电压为1k  Rref=0.1*/
      Radjust=10;  /*待调后决定*/
      break;
     case 2:  /*4k 欧姆量程 x.xxx*/
      cr2=0X04;
      Rref=10;    /*参考电压为10k*/
      Radjust=24; /*待调后决定*/
      break;
     case 3:  /*40k欧姆量程 xx.xx*/
      cr2=0X02;
      Rref=10;   /*参考电压为101k*/
      Radjust=6;  /*待调后决定*/
      break;
     case 4:  /*400k欧姆量程 xxx.x*/
      cr2=0X01;
      Rref=10;    /*参考电压为1.11M*/
      Radjust=6;     /*待调后决定*/
      break;
     case 5:  /*4M欧姆量程 x.xxx*/
      cr1=0X0D;
      cr2=0X00;
      Rref=10;  /*参考电压为10M*/
      Radjust=2;  /*待调后决定*/
      break;
     case 6:  /*40M欧姆量程 xx.xx*/
      cr1=0X0F; /*待详查核对*/
      cr2=0X00;
      cr4=0X01;
      Rref=10;
      Radjust=6;  /*待调后决定*/
      break;
     }
      WCCF(); /*写控制字*/

  }
  /******************************************
 * 涵数名: void MCF()  
 * 
 *
 * 涵数功能:测量电路通断
 *******************************************/
  void MCF()  /*测量电路通断FSCode=4*/
  { /*P3=0XF0;        /*前端形成通断测试电路*/
    FSCodeM=FSCode;
    cr0=0X00;   /*此处可以进行优化*/
    cr1=0X05;
    cr3=0X09;   /*ohms measurement*/
    cr4=0X01;
    cr2=0X08;   /*用400 欧姆量程*/
    Rref=1;    /*参考电压为1k*/
    WCCF();

   /*if(-50<Y<50) /*test continuity, if less than 50 OHM, mesn the circuit is shorten*/
   /*   {cr0=0X06; /*set the information of beeper on*/
    /*   WCCF(); }
  */

  }
 /******************************************
 * 涵数名: void MDF() 
 * 
 *
 * 涵数功能:测量二极管函数
 *******************************************/
  void MDF()  /*测量二极管函数FSCode=5,400mv 输入,VCR_C=1 DIODE_TEST_C=1*/
  {/* P3=0XF5;        /*前端形成二极管测试电路*/
    FSCodeM=FSCode;
    cr0=0X00;   /*此处可以进行优化*/
    cr4=0X01;
    cr1=0X0F; /*除以5的模式*/
    cr2=0X00;
    cr3=0X08;
    WCCF();

  }
 /******************************************
 * 涵数名: void MIF()  
 * 
 *
 * 涵数功能:电流测试函数
 *******************************************/
 void MIF() /*电流测试函数,对应功能选择码是4(DC) or 5(AC) 先仅设置一个档位*/
 { /*P3=0XF3;        /*前端形成电流测量电路*/
   FSCodeM=FSCode;
   RangeCodeM=RangeCode;
   cr0=0X00;   /*此处可以进行优化*/
   cr4=0X09;
   cr1=0X01; /**/
   cr2=0X00;
   if(FSCode==4){cr3=0X08;}  /*直流电流测量*/
   else {cr3=0X04;}     /*交流电流测量*/
   WCCF();
 }

 /******************************************
 * 涵数名: sx_data_disp()  
 * 
 *
 * 涵数功能: 刷新数据显示区
 *******************************************/
void sx_data_disp(void)
{
    qian=Y/1000;
	//if(qian>9)
	 // qian=9;	   //zai shu ju zhuan huan shi jin xing jiu cuo qian he ge wei.
	Y=Y%1000;
	bai=Y/100;
	Y=Y%100;
	shi=Y/10;
	ge=Y%10;
	//if(ge>9)
	 // ge=9;
  	ge=ge+'0';
	           
  	shi=shi+'0';
  	bai=bai+'0';
  	qian=qian+'0';
  	jiaozhun=jiaozhun+'0';
	if(zong_fh)
	   printc(0x85,'-');
	else
	   printc(0x85,'+'); 
    printc(0x86,qian);
    printc(0x87,bai);
    printc(0x88,shi);
    printc(0x89,ge);
    //printc(0x8A,jiaozhun);

}
/******************************************
 * 涵数名: sx_test_FS()  
 * 
 *
 * 涵数功能: 刷新功能量程显示区
 *******************************************/
void sx_test_FS(void)
{
 switch(FSCode)
   {
    case 1:
	   printc(0xC3,'D');
	   printc(0xC4,'C');
    break;
  
    case 2:
	   printc(0xC3,'A');
	   printc(0xC4,'C');
    break;
    case 3:
	   printc(0xC3,'O');
	   printc(0xC4,'M');
    break;
    case 4:
	   printc(0xC3,'D');
	   printc(0xC4,'A');
    break;
    case 5:
	   printc(0xC3,'A');
	   printc(0xC4,'A');
    break;
     case 6:
	   printc(0xC3,'S');
	   printc(0xC4,'W');
    break;
    case 7:
	   printc(0xC3,'D');
	   printc(0xC4,'I');
    break;

    }
  switch(RangeCode) 
    {
	 case 1:
	   if(FSCode==1||FSCode==2)
	     {
		 printc(0xCB,'4');
	     printc(0xCC,'0');
		 printc(0xCD,'0');
	     printc(0xCE,'M');
         printc(0xCF,'V'); 
		 }
	   if(FSCode==3)
	     {
         printc(0xCB,'4');
	     printc(0xCC,'0');
		 printc(0xCD,'0');
	     printc(0xCE,'M');
         printc(0xCF,' ');
		 }
       if(FSCode==4||FSCode==5)
	     {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,' ');
         printc(0xCF,'A');
		 }
	   if(FSCode==6)  
         {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,'N');
         printc(0xCF,'Y');
		 }
       if(FSCode==7)  
         {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,'D');
         printc(0xCF,'I');
		 }
       break;


     case 2:
	   if(FSCode==1||FSCode==2)
	     {
		 printc(0xCB,'4');
	     printc(0xCC,'V');
		 printc(0xCD,' ');
	     printc(0xCE,' ');
         printc(0xCF,' '); 
		 }
	   if(FSCode==3)
	     {
         printc(0xCB,'4');
	     printc(0xCC,'0');
		 printc(0xCD,'0');
	     printc(0xCE,'0');
         printc(0xCF,'M');
		 }
       if(FSCode==4||FSCode==5)
	     {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,' ');
         printc(0xCF,'A');
		 }
	   if(FSCode==6)  
         {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,'N');
         printc(0xCF,'Y');
		 }
       if(FSCode==7)  
         {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,'D');
         printc(0xCF,'I');
		 }
       break;

     case 3:
	   if(FSCode==1||FSCode==2)
	     {
		 printc(0xCB,'4');
	     printc(0xCC,'0');
		 printc(0xCD,'V');
	     printc(0xCE,' ');
         printc(0xCF,' '); 
		 }
	   if(FSCode==3)
	     {
         printc(0xCB,'4');
	     printc(0xCC,'0');
		 printc(0xCD,'K');
	     printc(0xCE,'M');
         printc(0xCF,' ');
		 }
       if(FSCode==4||FSCode==5)
	     {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,' ');
         printc(0xCF,'A');
		 }
	   if(FSCode==6)  
         {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,'N');
         printc(0xCF,'Y');
		 }
       if(FSCode==7)  
         {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,'D');
         printc(0xCF,'I');
		 }
       break;

     case 4:
	   if(FSCode==1||FSCode==2)
	     {
		 printc(0xCB,'4');
	     printc(0xCC,'0');
		 printc(0xCD,'0');
	     printc(0xCE,'V');
         printc(0xCF,' '); 
		 }
	   if(FSCode==3)
	     {
         printc(0xCB,'4');
	     printc(0xCC,'0');
		 printc(0xCD,'0');
	     printc(0xCE,'K');
         printc(0xCF,'M');
		 }
       if(FSCode==4||FSCode==5)
	     {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,' ');
         printc(0xCF,'A');
		 }
	   if(FSCode==6)  
         {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,'N');
         printc(0xCF,'Y');
		 }
       if(FSCode==7)  
         {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,'D');
         printc(0xCF,'I');
		 }
       break;

     case 5:
	   if(FSCode==1||FSCode==2)
	     {
		 printc(0xCB,'4');
	     printc(0xCC,'0');
		 printc(0xCD,'0');
	     printc(0xCE,'0');
         printc(0xCF,'V'); 
		 }
	   if(FSCode==3)
	     {
         printc(0xCB,'4');
	     printc(0xCC,'M');
		 printc(0xCD,'M');
	     printc(0xCE,' ');
         printc(0xCF,' ');
		 }
       if(FSCode==4||FSCode==5)
	     {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,' ');
         printc(0xCF,'A');
		 }
	   if(FSCode==6)  
         {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,'N');
         printc(0xCF,'Y');
		 }
       if(FSCode==7)  
         {
         printc(0xCB,' ');
	     printc(0xCC,' ');
		 printc(0xCD,' ');
	     printc(0xCE,'D');
         printc(0xCF,'I');
		 }
       break;

	 } 
}




⌨️ 快捷键说明

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