亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 測量顯示.c

?? 網絡導納測試儀程序
?? C
字號:
#include<reg51.h>
#include <math.h>
#include <string.h>
#include <stdio.h>
#include <intrins.h>
#include <stdlib.h>
#include  "C:\Documents and Settings\www1\桌面\ouyw\ts128647921chuank\src\TS128647921chuank.h"
#include  "C:\Documents and Settings\www1\桌面\ouyw\delaycomm\src\delaycomm.h"

#define uint8 unsigned char
#define int16  int
#define uint16 unsigned int
#define uint32 unsigned long int
#define DELAY1US_M  _nop_()
#define	_port  0x01		  //模似信號輸入口

sbit RESET=P3^4;  /*復位,高電平有效*/  //AD9851所用端口		
sbit wclk=P3^7;	  /*字輸入時鐘,上升沿有效*/
sbit fqud=P3^6;	  /*頻率更新端,上升沿將40位控制字送入芯片內*/
#define DATA P2	  /*數據端口*/

sbit jian_shuju=P1^2;	 //串口鍵盤所用端口
sbit jian_shizhong=P1^1;
sbit yiwei_zhiru=P1^0;
//#define	io_janp P1 	//行列式鍵盤所用端口

#define jidianq P0	/*從高到低檔用其P1.0,P1.2,P1.3控制繼電器換檔,高電平有效*/  //檔位調節

sbit CLOCK=P1^4;    /*2543時鐘*/	   //AD TCL2543所用端口
sbit D_IN=P1^5;     /*2543輸入*/
sbit D_OUT=P1^6;    /*2543輸出*/
sbit _CS=P1^7;      /*2543片選*/


															   
sbit xingwjx=P3^1;	 /*相位極性判斷*/	//測相位大小極性所用端口
sbit xiangwsy=P3^2;	 /*相位大小判斷*/

sbit io_LCDsid  = P3^0;    /*串行數據輸入端	*/	//液晶顯示所用端口
sbit io_LCDsclk = P3^5;    /*串行同步時鐘端	*/

float _Y,_G,_B;	//導納模,電導,電納
int16 pingl,xiangweij;  //頻率,向位角
int16 xshu;		//輔助顯示數據
uint8 dianx;	//輔助顯示小數點
uint8 o;		//輔助測量周期
float hudu;		//輔助計算電導G,電納B
bit b_pduan=1;  //判斷有無鍵按下
//ad9851 ini AD9851并口置數函數

/***********************************************************
功能:用來輔助測量周期
說明:
*************************************************************/
void TIMER(void) interrupt 0
{
  TR0=~TR0;			 //下降沿中斷計數,第二次中斷則關計數器
  ++o;
}     

/***********************************************************
功能:控制AD9851輸出波形的相位及頻率
說明:輸入存有5個字節控制字的首地址,依次對應控制字為W0,W1,W2,W3,W4.
*************************************************************/
void v_DDSkongz_f(uint8 data *u8c_xiansyh_p)
{
uint8 i; 
wclk=0;	     /*先將wclk清零,以便置高時獲得上升沿*/
fqud=0;	     /*將fqud清零*/
DELAY1US_M;	 /*延時*/ 
//fqud=1; /*fqud上升沿控制40位控制字進入DDS核心,因為前面沒有輸入控制字,所以此上升沿的目的是將地址指針指向第一個輸入寄存器*/
//DELAY1US_M; /*延時*/
//fqud=0; 	  /*將fqud清零*/
for(i=0;i<5;i++) /*發送40位控制字數據,由w_clk控制進入輸入寄存器*/
{
 DATA=u8c_xiansyh_p[i]; /*發送一個控制字數據*/
DELAY1US_M;				/*延時*/
 wclk=1; 				/*w_clk置高,上升沿使得控制字進入輸入寄存器*/
DELAY1US_M;				/*延時*/
 wclk=0; 				/*w_clk清零*/
DELAY1US_M; 			/*延時*/
 } 
fqud=1; 				/*fqud置高,上升沿使得40位控制字進入DDS核心*/
DELAY1US_M;			    /*延時*/
DELAY1US_M;
fqud=0; 			    /*將fqud清零*/
}

/******************************
math DATA 
功能:將輸入的頻率值轉換到w[1]~w[4]控制字中
說明:輸入頻率值
*********************************/
uint32 math_phase(uint32 FIN)
{
float datafloat;
//datafloat=((float)FIN)*4294967296/132710400;
datafloat=((float)FIN)*65536/2025;		   //外部晶振22.1184MHz,開啟6倍頻
return (uint32)datafloat;  
}

/*****************************************************
dujsj
功能:串口鍵盤掃描并返回鍵值
說明:有鍵按下時返回鍵值無鍵按下時返回255
********************************************************/
uint8 dujsj(uint8 xinpian)	    //讀鍵數據
{	 
    uint8 dizhi[5],i,j,fan;
	yiwei_zhiru = 0;
	yiwei_zhiru	= 1;				//鎖存端口數據
	if(jian_shuju == 0) i=0;
    else
	 { 
	   for(i=1;i<8;i++)
        {  	  
	     jian_shizhong = 0;
	     jian_shizhong = 1;
	     if(jian_shuju == 0)break;	   	   
        }
	  }
    dizhi[0] = i;		//讀入第一塊芯片數據
	for(j=1;j<xinpian;j++)
	  {
		for(i=0;i<8;i++)
		    {
			  jian_shizhong = 0;
		      jian_shizhong = 1;
		      if(jian_shuju==0) break;
		    }
	    dizhi[j] = i;  
	   }
     
	 for(j=0;j<xinpian;j++)
	  {
	  	 if(dizhi[j] != 8) 
		   {
		     fan = dizhi[j]+j*8;break; 
		   }
		 fan=0xff;
	   } 
	 return fan; 
}

/********************************************************************
anjiansz_f
功能:設定各按鍵功能
說明:
*************************************************************************/
void anjiansz_f(unsigned char key)
{
switch(key)
 {
  case 0:pingl=100;break;		//100Hz
  case 1:pingl=300;break;		//300Hz
  case 2:pingl=1000;break;		//1KHz
  case 3:pingl=3000;break;		//3KHz
  case 4:pingl=10000;break;	    //10KHz
  case 5:pingl+=100;break;		//以100Hz步進
  case 6:pingl-=100;break;		//以100Hz步減
  case 7:break;
  case 8:break;
  case 9:break;
  case 10:break;
  case 11:break;
  case 12:break;
  case 13:break;
  case 14:break;
  case 15:break;
   }
  }
/*******************************************
功能:輸入要顯示的導納模,或電導,電納值轉換為可顯示的值
說明:shuju范圍:0.01~100之間
               數據以mS為單位
*********************************************/
//int16 xshu;		//輔助顯示用
//uint8 dianx;
void shujuxs_f(float shuju)
{
 if(shuju<0.09) {xshu=(int16)(1000*shuju);dianx=3;}
 else
   {xshu=(int16)(100*shuju);dianx=2;}
}

/*******************************************
功能:輸入要顯示的頻率,相位,導納模,電導,電納值將其顯示出來
說明:范圍:頻率范圍:0Hz~32767Hz
          相位-90度~90度
          導納0.01~100之間以mS為單位
*********************************************/
void xianYReIm_f(int16 pl,int16 xiangw,float Y,float Re,float Im)
{
 v_LcdWriteNumber_f(0x03,5,pl);
 v_LcdWriteChar_f(0x00,"f=");
 v_LcdWriteNumber_f(0x07,5,xiangw);
 v_LcdWriteChar_f(0x04,"Hz");
 v_LcdWriteChar_f(0x05,"φ");
 if(xiangw<=-10) v_LcdWriteChar_f(0x06,"=-");
 else 		  v_LcdWriteChar_f(0x06,"= ");

 shujuxs_f(Y);
 v_LcdWriteCharOneLine_f(0x90,"導納模:       mS"); 
 v_LcdWriteNumber_f(0x16,dianx,xshu);
 v_LcdWriteChar_f(0x13,": ");

 shujuxs_f(Re);
 v_LcdWriteCharOneLine_f(0x88,"  電導:       mS");
 v_LcdWriteNumber_f(0x26,dianx,xshu);
 v_LcdWriteChar_f(0x23,": ");

 shujuxs_f(Im);
 v_LcdWriteCharOneLine_f(0x98,"  電納:       mS");
 v_LcdWriteNumber_f(0x36,dianx,xshu);
 v_LcdWriteChar_f(0x33,": ");
}

/**************************************
  名稱:read2543
  功能:TLC2543驅動模塊
  輸入參數:port通道號
  輸出參數:返回上次ad轉換好的值
            注意:第一次轉換的數據為隨機一般無意義
*************************************/
int16 read2543_f()
{
uint8 port=_port;
int16 ad=0;
uint16 i;
CLOCK=0;
_CS=1;
DELAY1US_M;
_CS=0;
port<<=4;
for(i=0;i<12;i++)
{ 
  ad<<=1;
  if(D_OUT) ad|=0x01;
  D_IN=(bit)(port&0x80);
  CLOCK=1;
  DELAY1US_M;
  CLOCK=0;
  DELAY1US_M;
  port<<=1; 
}
_CS=1;
return(ad);
}

/**************************************************
功能:自動調節測量檔位
說明:輸入使用A/D TLC2543測量電路的port通道號
     返回所造檔位值,1,2,3,4
	 1為最高大檔
	 4為最小檔
***************************************************/
uint8 dangwkz_f()
{
 uint8 i,j;
 int16 jieshouAD;
 jidianq&=0x10;   //斷開四個繼電器
 jidianq|=0x01;	  //接通第一個繼電器(最大檔)
 i=10;
 while(--i)
 jieshouAD=read2543_f();//延時并且刷新A/D值
 if(jieshouAD>=409&&jieshouAD<=4095) j=1;
   else 
   { 
	jidianq&=0x10;	 jidianq|=0x02;	//接通第二檔
	i=10;
    while(--i)
    jieshouAD=read2543_f();//延時并且刷新A/D值
	if(jieshouAD>=409&&jieshouAD<4095) j=2;
	  else
	  {
	     jidianq&=0x10;	 jidianq|=0x04;	//接通第三檔
		 i=10;
         while(--i)
         jieshouAD=read2543_f();//延時并且刷新A/D值
		 if(jieshouAD>=409&&jieshouAD<4095) j=3;
		   else
		      {
			    jidianq&=0x10;	 jidianq|=0x08;	//接通第四檔
				i=10;
                while(--i)
                jieshouAD=read2543_f();//延時并且刷新A/D值
		        if(jieshouAD>=409&&jieshouAD<4095) j=4;
	        	}
		}
	  }
  return(j);
}

/*************************************************************
功能:計算導納模|Y|
說明:輸入使用A/D TLC2543測量電路的port通道號與檔位號j
     返回計算后的導納模值|Y|
**************************************************************/
float daonaY_f(uint8 j)
{
 int16 code R[4]={27,270,2700,27000};
 float y;
 int16 jieshouAD;
 jieshouAD=read2543_f();  //A/D轉換后的結果
// y=(float)jieshouAD*2*(2.7/4096)*1.414/R[j]/1; //Ipp=2*1.414*jieshouAD*(2.7/4096)/R[j]	,Upp=1V
// y=(float)jieshouAD*(2.7/4096)*1.414*2/R[j];
 y=(float)jieshouAD*0.001864441/R[j];
 return(y);
}

/**************************************************
功能:測量相位角
說明:用的是T0帶選通控制位,返回相位角
*****************************************************/
void xiangweicl_f(void)
{

 uint16 tim,zhouqi;
 int16 i=1;
/**********測相位************/
  IE=0x00;	 		 //關中斷
  TCON=0x00;
  TMOD=0x09;		//INT0=1且TR0=1時計時工作方式1(16位計數)

  TH0=0x00;
  TL0=0x00;

  while(INT0);
  TR0=1;  //準備計時
  while(!INT0);

  while(INT0);
  TR0=0;	 //停止計數
  if(xingwjx==0) i=-1;	//判斷頻率的正負值

  tim=TH0;	 //取相位差		
  tim<<=8;
  tim+=TL0;
/**********測周期************/
  o=0;
  TH0=0x00;
  TL0=0x00;

  TCON=0x01;
  TMOD=0x01;  //TR0=1時計時工作方式1(16位計數)
  IE=0x81;	  //開外部中斷
  while(o!=2);  
  IE=0x00;
  zhouqi=TH0;//取周期值
  zhouqi<<=8;
  zhouqi+=TL0;

  hudu=(float)tim*3.14159265/zhouqi*i; //相位角弧度制表示
  xiangweij=(int16)(tim*180.0/zhouqi)*i;//相位角度數
 }

/******************************************************************
功能:求相位角,導納,電導與電納
     分別存入全局變量xiangweij,_Y,_G,_B中
*******************************************************************/
void qiuGB_f(void)
{
  _Y=daonaY_f(dangwkz_f());
  xiangweicl_f();		 //測量相位角
  _G=_Y*cos(hudu);
  _B=_Y*sin(hudu);
 }
/*******************************************************************
主函數 

********************************************************************/

 main()
{
 uint8 data *p;
 uint32 q,fin;
 uint8 j,key=255,shong=0;
 uint8 w[5];
 const uint8 code kaicjm1[][16]={"    歡迎進入    ","網絡導納測試儀! ","  ^-^ **** ^-^  ","  按任意鍵進入  "};
 const uint8 code kaicjm[][16]={"0:100 1:300     ","2:1K 3:3K 4:10K ","5:+100 6:-100   ","7:設置頻率值(Hz)"};
 v_LcdWriteCharIni_f();//對12864初始化
 DELAY1US_M;
 v_LcdWriteCharScreen_f(kaicjm1);
 do{key=dujsj(2);} while(key==255);
 v_LcdWriteCharScreen_f(kaicjm); //輸出介面,請求輸入頻率
 do{key=dujsj(2);} while(key!=255);

do
{
while(key!=7)
{
 do{key=dujsj(2);} while(key==255);
  anjiansz_f(key);
  v_WriteIns_f(0x01); //清屏
  v_LcdWriteCharOneLine_f(0x80,"頻率為:         ");
  v_LcdWriteNumber_f(0x06,5,pingl);   //顯示設定頻率值
  v_LcdWriteChar_f(0x07,"Hz");  
  v_LcdWriteCharOneLine_f(0x88,"設定完成請按07鍵");
  v_DelayX10ms_f(30);
 //do{shong=dujsj(2);} while(shong!=255);	 //松鍵確認
 }
// v_LcdWriteCharOneLine_f(0x88,"  頻率設定完成  ");
 //控制DDS輸出設定的頻率
 fin=(uint32)pingl;
 q=math_phase(fin);			   
 p=&q;
 w[0]=1;
 for(j=1;j<5;j++)
 w[j]=*p++;
 RESET=1;			 //使AD9851復位
 v_DelayX10ms_f(1);	// 延時10ms
 RESET=0; 	    	//	RESET清零
 v_DDSkongz_f(&w);	// 調用寫入5個字節控制字子程序
 v_DelayX10ms_f(1); //延時10ms
 v_LcdWriteCharOneLine_f(0x88,"  頻率已送輸出  "); 
 //***************************************
// qiuGB_f();        //求相位角,導納,電導與電納分別存入全局變量xiangweij,_Y,_G,_B
// v_WriteIns_f(0x01);  //清屏
// xianYReIm_f(pingl,xiangweij,_Y,_G,_B); 	//顯示
// v_LcdWriteCharOneLine_f(0x88,"  測量完成  "); 
//xianYReIm_f(220,-90,0.012,0.12,100); 	//顯示
do{key=dujsj(2);} while(key==255); 	 //判斷有無按鍵,重新設置頻率進行測量
 }
 while(1);
 }	

 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美一级二级| 在线视频国内一区二区| 成人免费在线播放视频| 欧美在线观看视频一区二区三区 | 91激情五月电影| 免费在线观看日韩欧美| 国产精品嫩草影院av蜜臀| 欧美色爱综合网| 国产精品一区二区久激情瑜伽| 国产精品国产精品国产专区不蜜 | 国产精品成人一区二区三区夜夜夜| 91黄色激情网站| 韩国av一区二区三区在线观看| 国产精品免费人成网站| 麻豆传媒一区二区三区| 91麻豆精品秘密| 中文字幕精品三区| 国产做a爰片久久毛片| 色婷婷久久一区二区三区麻豆| 国产调教视频一区| 久88久久88久久久| 99国产精品久久久久久久久久| xf在线a精品一区二区视频网站| 久久―日本道色综合久久| 91精品国产福利| a在线欧美一区| 国产aⅴ精品一区二区三区色成熟| 婷婷中文字幕一区三区| 亚洲国产精品自拍| 一区二区三区国产豹纹内裤在线| 国产嫩草影院久久久久| 久久久www成人免费无遮挡大片| 欧美一区二区三区婷婷月色| 欧美精品色综合| 欧美日韩国产欧美日美国产精品| 色综合咪咪久久| 色欧美日韩亚洲| 色偷偷成人一区二区三区91| 91一区二区在线| 色综合视频在线观看| 91亚洲精品一区二区乱码| av一区二区不卡| 一本色道综合亚洲| 日本久久精品电影| 在线一区二区三区| 欧美日韩精品久久久| 欧美精品xxxxbbbb| 91精品久久久久久蜜臀| 日韩久久精品一区| 久久一二三国产| 久久网站热最新地址| 欧美激情一区二区三区| ...中文天堂在线一区| 综合久久久久久久| 亚洲电影第三页| 美女高潮久久久| 国产精品一卡二卡| 成人av免费网站| 在线一区二区视频| 欧美一级高清大全免费观看| 亚洲日本一区二区三区| 中文字幕一区二区三区不卡在线| 一区二区三区四区视频精品免费 | 亚洲自拍另类综合| 午夜在线电影亚洲一区| 美女一区二区视频| 成人福利视频网站| 欧美性大战久久久| 欧美va亚洲va在线观看蝴蝶网| 国内精品国产成人国产三级粉色 | 国产日韩欧美一区二区三区综合| 亚洲大片精品永久免费| 亚洲电影在线免费观看| 亚洲成av人**亚洲成av**| 五月婷婷激情综合| 久久99精品国产.久久久久 | 欧美午夜精品久久久久久超碰| 欧美亚洲综合一区| 国产不卡免费视频| 六月婷婷色综合| 在线观看欧美日本| 国产午夜三级一区二区三| 91久久精品一区二区二区| 亚洲国产高清aⅴ视频| 一区二区成人在线视频| 老色鬼精品视频在线观看播放| 处破女av一区二区| 欧美巨大另类极品videosbest | 五月婷婷久久丁香| 高清不卡一区二区在线| 欧美三区在线观看| 国产精品三级久久久久三级| 天堂va蜜桃一区二区三区| 国产.精品.日韩.另类.中文.在线.播放 | 亚洲国产成人av网| 丁香婷婷深情五月亚洲| 在线观看91av| 亚洲欧洲www| 久久国产婷婷国产香蕉| 欧美在线免费播放| 国产精品国产精品国产专区不蜜| 日日噜噜夜夜狠狠视频欧美人 | 日韩精品一区二区在线| 亚洲精品久久久蜜桃| 高清视频一区二区| 日韩久久久精品| 五月开心婷婷久久| 日本二三区不卡| 国产精品丝袜在线| 国产乱国产乱300精品| 3d动漫精品啪啪一区二区竹菊 | 国产一区 二区 三区一级| 欧美无砖砖区免费| √…a在线天堂一区| 国产.精品.日韩.另类.中文.在线.播放| 欧美日韩在线一区二区| 中文字幕一区二区三区不卡在线 | 成人美女在线观看| 久久婷婷色综合| 亚洲乱码精品一二三四区日韩在线| 麻豆成人综合网| 亚洲色图欧美激情| 欧美一级日韩免费不卡| 亚洲国产一区视频| 欧美日韩黄视频| 国产98色在线|日韩| 亚洲国产高清aⅴ视频| 91一区二区在线| 亚洲成人免费在线观看| 精品国产网站在线观看| 国产成人小视频| 亚洲成人在线免费| 在线精品视频免费观看| 亚洲国产精品精华液ab| 国产成人精品三级| 久久综合狠狠综合久久激情| 激情偷乱视频一区二区三区| 日韩精品一区二区三区视频播放| 日韩不卡一区二区| 日韩欧美一级片| 韩国av一区二区三区在线观看| 精品国产乱码久久久久久老虎| 麻豆精品蜜桃视频网站| 精品国产一区久久| 国产精品资源网站| 国产精品丝袜一区| 色哦色哦哦色天天综合| 亚洲福中文字幕伊人影院| 欧美久久一区二区| 美日韩黄色大片| 久久久精品综合| 成人av网站在线观看免费| 亚洲欧美日韩成人高清在线一区| 一本色道亚洲精品aⅴ| 亚洲在线一区二区三区| 在线播放中文字幕一区| 久久不见久久见免费视频7| 国产午夜精品福利| 99v久久综合狠狠综合久久| 亚洲午夜羞羞片| 欧美一区二区三区电影| 国产成人亚洲综合a∨婷婷| 亚洲欧美另类在线| 3d动漫精品啪啪1区2区免费| 国产乱码字幕精品高清av| 国产精品国产三级国产专播品爱网| 在线视频欧美区| 九九国产精品视频| 国产精品久久久久久久久快鸭 | 欧洲生活片亚洲生活在线观看| 日韩av网站在线观看| 国产天堂亚洲国产碰碰| 在线一区二区三区四区| 久久99国内精品| 亚洲丝袜制服诱惑| 欧美一区二区高清| 成人18视频在线播放| 亚洲成人精品影院| 久久精品欧美日韩| 色婷婷av一区二区三区gif| 国产suv精品一区二区883| 日韩三级高清在线| 国产精品久久久久久久久晋中| 欧美激情一区三区| 亚洲一区二区黄色| 午夜视频在线观看一区二区三区| 五月天激情综合| 国产伦精品一区二区三区免费迷| 黑人巨大精品欧美黑白配亚洲| 国产98色在线|日韩| 欧美日韩一区二区三区高清| 日韩精品一区二区三区在线观看| ...xxx性欧美| 中文av一区二区| 日韩欧美一区电影| 91亚洲精华国产精华精华液| 蜜臀av在线播放一区二区三区| 亚洲精品久久久蜜桃| 国产欧美视频在线观看| 日韩一区二区三区在线观看|