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

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

?? ad.c

?? 用PIC18F2580完成A/D采集,CAN總線數據讀取
?? C
字號:
#include"includes.h"

unsigned int Adresult = 0;
unsigned int Ad_Sample_result = 0;
/**
******************************************************************************************

***名  稱: void delaynms(unsigned int n)
***功  能:ms延時函數
***版  本: V0.1
***作  者: LiWei
***日  期:2008年06月25日
------------------------------------------------------------------------------------------
---修改人:
---日  期:
---功  能:

******************************************************************************************
**/
void delaynms(unsigned int n)                           //延時1mS
{
    unsigned int i;
    while(n>0)
    {
        for(i=0;i<112;i++)
        {}
        n--;
    }
}
/**
******************************************************************************************

***名  稱: unsigned int AD_Deal(void)
***功  能:A/D處理函數
***版  本: V0.1
***作  者: LiWei
***日  期:2008年06月25日
------------------------------------------------------------------------------------------
---修改人:
---日  期:
---功  能:

******************************************************************************************
**/
unsigned int AD_Deal(void)
{
	unsigned int temp,vol;
    unsigned int ADH,ADL;
    ADH = ADRESH;
    ADL = ADRESL;
	Ad_Sample_result = (ADH<<8)|ADL;
   
    //Adresult = (Ad_Sample_result*50)>>10;

    //temp = Adresult;

	//Adresult = (((Adresult%10)<<4))|(((temp/10)<<8)&0xF00);
	//vol = Adresult;
    //return vol;
	return Ad_Sample_result; 
}
/**
******************************************************************************************

***名  稱: unsigned int AD_Colect(void)
***功  能:A/D函數
***版  本: V0.1
***作  者: LiWei
***日  期:2008年06月25日
------------------------------------------------------------------------------------------
---修改人:
---日  期:
---功  能:

******************************************************************************************
**/
unsigned int AD_Colect(unsigned char ChannelSet)
{
    unsigned char Channel;
    unsigned int ADRES;   
    unsigned int ADH,ADL; 
    Channel = ChannelSet; 
	//ADCON1 = 0x0E;                         
    ADCON1bits.VCFG0 = 0;				   /*參考電壓Vss  Vdd                */
    ADCON1bits.VCFG1 = 0;
    if(Channel == 0)                       //TEMPERATURE0
	{
	    ADCON1bits.PCFG0 = 0;			   /*把RA0設置為模擬量輸入           */
		ADCON1bits.PCFG1 = 1;
		ADCON1bits.PCFG2 = 1;
		ADCON1bits.PCFG3 = 1;
		ADCON0 = 0x00;                     /*選擇通道為 AN0                  */
	}
    if(Channel == 1)                       //TEMPERATURE1
	{
	    ADCON1bits.PCFG0 = 1;			   /*把RA1設置為模擬量輸入           */
		ADCON1bits.PCFG1 = 0;
		ADCON1bits.PCFG2 = 1;
		ADCON1bits.PCFG3 = 1;
		ADCON0 = 0x04;                     /*選擇通道為 AN1                  */
	}
    if(Channel == 2)                       //TEMPERATURE2
	{
	    ADCON1bits.PCFG0 = 0;			   /*把RA2設置為模擬量輸入           */
		ADCON1bits.PCFG1 = 0;
		ADCON1bits.PCFG2 = 1;
		ADCON1bits.PCFG3 = 1;
		ADCON0 = 0x08;                     /*選擇通道為 AN2                  */
	}
    if(Channel == 4)
	{
	    ADCON1bits.PCFG0 = 0;			   /*把RA4設置為模擬量輸入           */
		ADCON1bits.PCFG1 = 1;
		ADCON1bits.PCFG2 = 0;
		ADCON1bits.PCFG3 = 1;
		ADCON0 = 0x10;                     /*選擇通道為 AN4                  */
	}
	//ADCON2 = 0xA0; 
	//Delay100TCYx(10);                        
    ADCON2bits.ADFM  = 1;				   /*轉換結果右對齊                  */
    ADCON2bits.ADCS0 = 0;				   /*轉換時鐘為32Tosc                */
	ADCON2bits.ADCS1 = 1;
	ADCON2bits.ADCS2 = 0;
    ADCON2bits.ACQT2 = 1;				   /*A/D采集時間8Tad                 */
	ADCON0bits.ADON  = 1;				   /*使能A/D                         */ 
    Delay100TCYx(20);                      /*等待采集所需時間                */
	ADCON0bits.GO_DONE = 1;				   /*啟動A/D                         */
    while(ADCON0bits.GO_DONE);             /*等待A/D空閑                     */
    //ADRES = AD_Deal();
    ADH = ADRESH;
    ADL = ADRESL;
	ADRES = (ADH<<8)|ADL; 
    return ADRES; 
}
/**
******************************************************************************************

***名  稱: void SetChannel(unsigned char chnum)
***功  能:電壓采集通道選擇
***版  本: V0.1
***作  者: LiWei
***日  期:2008年07月15日
------------------------------------------------------------------------------------------
---修改人:
---日  期:
---功  能:

******************************************************************************************
**/
void SetChannel(unsigned char chnum)      //chnum:channel number
{
    switch (chnum)
    {
        case 0 :
        {
            A12 = 0;                  //選通U9-138譯碼器
            A11 = 0;				  //E1
            A10 = 0;				  //選中第1路電池 A10
            A9  = 0;				  //A9
		    A8  = 0;				  //A8
            //delaynms(1000);         //從第一通U9道切換時間比其他通道切換時間長1S
        }break;
        case 1:
        {
            A12 = 0;                  //選通U9-138譯碼器
            A11 = 0;				  //E1
            A10 = 0;				  //選中第2路電池 A10
            A9 = 0;				      //A9
		    A8 = 1;				      //A8
        }break;
        case 2:
        {
            A12 = 0;                  //選通U9-138譯碼器
            A11 = 0;				  //E1
            A10 = 0;				  //選中第3路電池 A10
            A9  = 1;				  //A9
		    A8  = 0;				  //A8
        }break;
        case 3 :
        {
            A12 = 0;                  //選通U9-138譯碼器
            A11 = 0;				  //E1
            A10 = 0;				  //選中第4路電池 A10
            A9  = 1;				  //A9
		    A8  = 1;				  //A8
        }break;
        case 4:
        {
            A12 = 0;                  //選通U9-138譯碼器
            A11 = 0;				  //E1
            A10 = 1;				  //選中第5路電池 A10
            A9 = 0;				      //A9
		    A8 = 0;				      //A8
        }break;
        case 5:
        {
            A12 = 0;                  //選通U9-138譯碼器
            A11 = 0;				  //E1
            A10 = 1;				  //選中第6路電池 A10
            A8 = 0;				      //A9
		    A9 = 1;				      //A8
        }break;
        case 6 :
        {
            A12 = 0;                  //選通U9-138譯碼器
            A11 = 0;				  //E1
            A10 = 1;				  //選中第7路電池 A10
            A9 = 1;				      //A9
		    A8 = 0;				      //A8
        }break;
        case 7:
        {
            A12 = 0;                  //選通U9-138譯碼器
            A11 = 0;				  //E1
            A10 = 1;				  //選中第8路電池 A10
            A9 = 1;				      //A9
		    A8 = 1;				      //A8
        }break;
        case 8:                       //選通U10-138譯碼器
        {
            A12 = 0;                  //選通U10-138譯碼器
            A11 = 1;				  //E3
            A10 = 0;				  //選中第1路電池
            A9 = 0;				      //A9
		    A8 = 0;				      //A8
        }break;
        case 9 :
        {
            A12 = 0;                  //選通U10-138譯碼器
            A11 = 1;				  //E3
            A10 = 0;				  //選中第2路電池
            A9 = 0;				      //A9
		    A8 = 1;				      //A8
        }break;
        case 10:
        {
            A12 = 0;               	  //選通U10-138譯碼器
            A11 = 1;				  //E3
            A10 = 0;				  //選中第3路電池
            A9 = 1;				  	  //A9
		    A8 = 0;				  	  //A8
        }break;
        case 11:
        {
            A12 = 0;                  //選通U10-138譯碼器
            A11 = 1;				  //E3
            A10 = 0;				  //選中第4路電池
            A9 = 1;				      //A9
		    A8 = 1;				      //A8
        }break;
        case 12 :
        {
            A12 = 0;                  //選通U10-138譯碼器
            A11 = 1;				  //E3
            A10 = 1;				  //選中第5路電池
            A9 = 0;				      //A9
		    A8 = 0;				      //A8
        }break;
        case 13:
        {
            A12 = 0;                  //選通U10-138譯碼器
            A11 = 1;				  //E3
            A10 = 1;				  //選中第6路電池
            A9 = 0;				      //A9
		    A8 = 1;				  	  //A8
        }break;
        case 14:
        {
            A12 = 0;                  //選通U10-138譯碼器
            A11 = 1;				  //E3
            A10 = 1;				  //選中第7路電池
            A9 = 1;				      //A9
		    A8 = 0;				      //A8
        }break;
        case 15 :
        {
            A12 = 0;                  //選通U10-138譯碼器
            A11 = 1;				  //E3
            A10 = 1;				  //選中第8路電池
            A9 = 1;				      //A9
		    A8 = 1;				      //A8
        }break;
        default: break;
    }//end switch
}
/**
******************************************************************************************

***名  稱: unsigned int ADUser(void)
***功  能:A/D函數
***版  本: V0.1
***作  者: LiWei
***日  期:2008年06月25日
------------------------------------------------------------------------------------------
---修改人:
---日  期:
---功  能:

******************************************************************************************
**/
unsigned int ADUserV(unsigned char ChannelSet)
{
	unsigned char i,j,k;
	unsigned long AD_result;
	unsigned int Vtemp[8],t;
    for(i=0;i<15;i++)
	{
    	SetChannel(i);
        if(i == 0)Delay1KTCYx(2400);
        else Delay1KTCYx(150);
        for(j=0;j<8;j++)
        {
		   AD_result = AD_Colect(ChannelSet);
		   Vtemp[j]  = (unsigned int)(AD_result);
		}
		for(j = 0;j < 7;j++)
		{
			for(k = 0;k < 6-j;k++)
			{
	            if(Vtemp[k] > Vtemp[k+1])
	            {
	                t = Vtemp[k]; Vtemp[k] = Vtemp[k+1];Vtemp[k+1] = t;
	            }
	        }
		}
		AD_result = 0;
		for(j = 3;j < 7;j++)
		{
			AD_result += Vtemp[j]; 	
		}
	    AD_result/= 4;	
		AD_result = AD_result*5000;
		AD_result = AD_result/1024; 
		AD_result = AD_result*2;
		//AD_result*= C_K_VOL;        //單支電池電壓系數
		AD_result*= 9457;
		AD_result/= 10000; 
	    Cell[i]   = (unsigned int)(AD_result);
		Delay1KTCYx(10);
	}
}
/**
******************************************************************************************

***名  稱: unsigned int ADUserT(void)
***功  能:A/D函數
***版  本: V0.1
***作  者: LiWei
***日  期:2008年06月25日
------------------------------------------------------------------------------------------
---修改人:
---日  期:
---功  能:

******************************************************************************************
**/
unsigned int ADUserT(unsigned char ChannelSet)
{
	unsigned char i,j;//,CH;
    unsigned int  t,Current;
    signed int TEMPT;
    unsigned long R,Yout,ADResult_T,Temperature;
    //float Yout,R,T;
    signed long T;
    //CH = ChannelSet;
    for(i = 0;i < 8;i++)
	{
		ADResult_T = AD_Colect(ChannelSet);
        Temp[i]    = (unsigned int)(ADResult_T);
    }
	for(i = 0;i < 7;i++)
	{
		for(j = 0;j < 6-i;j++)
		{
            if(Temp[j] > Temp[j+1])
            {
                t = Temp[j]; Temp[j] = Temp[j+1];Temp[j+1] = t;
            }
        }
	}
    ADResult_T = 0;
    for(i = 3; i < 7;i++)
    {
		ADResult_T += Temp[i];
    }
    ADResult_T  /= 4;
	ADResult_T  *= 5000;
    ADResult_T  /= 1024;
    if(ChannelSet == 0)
    {	
		ADResult_T    *= T_K_VO1;                  //1點溫度系數
		ADResult_T    /= 10000;
    	Tempervoltage0 = (unsigned int)(ADResult_T);
    }
    if(ChannelSet == 1)
    {
		ADResult_T    *= T_K_VO2;                  //2點溫度系數
		ADResult_T    /= 10000;	    
    	Tempervoltage1 = (unsigned int)(ADResult_T);
    }
    Temperature  = ADResult_T;
    //Temperature *= 11366;                              //較準系數
    //Temperature /= 10000;
    ADResult_T   = 5000 - Temperature;
    Current      = (unsigned int)(ADResult_T*10/100);  //擴大10倍計算出電流值 100表示100K電阻
    R            = Temperature*10000;
    R            = R/Current;                          //R/Current/1000;
    if(R > 181385) //小于-30度    
    {
		T = -30;    
    }
	else if(R > 32851)   //小于零度 0 ~ -30
		 {
		     Yout         = 1000000000/(1000+0.0169*R);        //將結果擴大到小數點后六位
		     T            = Yout - 647275;                       
		     T            = T/1344;                            //溫度取三位整數 		
		 }
		 else if(R > 8052)           //小于30度 0 ~ +30
		      {
			 	  Yout = 1000000000/(1000+0.082*R);      //將結果擴大到小數點后六位
				  T    = Yout - 268487;                  
				  T    = T/1120;                                
		      }
		      else if(R > 2488)      //小于60度  +30 ~ +60
		           {
				 	   Yout = 1000000000/(1000+0.305*R); //將結果擴大到小數點后六位
					   T    = Yout - 9671;                
					   T    = T/940;                     //溫度取三位整數  		          
		           }
		           else if(R > 920)  //小于90度    +60 ~ +90
		                {
					 	    Yout = 1000000000/(1000+0.928*R); 
						    T    = Yout + 176081;                
						    T    = T/796;                     //溫度取三位整數 		                
		                }
		                else T = 90;                   //高于100度
//    Yout         = 1000000000/(1000+0.082*R);        //將結果擴大到小數點后六位
//    T            = Yout;
//    T            = T - 268487;                       //T - 0.268487;
//    T            = T/112;                            //T/0.00011207;溫度取四位整數按此屏蔽計算 
    TEMPT  = (signed int)(T);
    return TEMPT;
}
/******************************************************************************
										End
******************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区四区五区入口| 日韩一区中文字幕| 日本高清视频一区二区| eeuss国产一区二区三区| 国产精品小仙女| 国产成人av影院| 国产裸体歌舞团一区二区| 国内精品视频666| 美女视频一区在线观看| 久久精品免费看| 久久99精品久久久久| 玖玖九九国产精品| 国产乱人伦偷精品视频免下载| 国产一区在线观看麻豆| 国产成a人亚洲精| 成人在线视频一区二区| 972aa.com艺术欧美| 色素色在线综合| 欧美精品v日韩精品v韩国精品v| 777奇米成人网| 国产精品三级视频| 国产亚洲女人久久久久毛片| 久久先锋影音av鲁色资源网| 欧美激情综合五月色丁香小说| 国产精品久久久久永久免费观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美日韩一区二区三区视频| 91视频www| 91视频国产观看| 91丨九色丨蝌蚪富婆spa| 成人午夜视频在线观看| 成人av第一页| 91网站最新网址| 欧美人体做爰大胆视频| 欧美视频第二页| 欧美大度的电影原声| 欧美成人video| 26uuu亚洲综合色| 国产日韩欧美综合在线| 亚洲裸体在线观看| 亚洲国产另类精品专区| 国产在线日韩欧美| 日韩高清中文字幕一区| av电影一区二区| 国产在线精品一区二区| 麻豆精品视频在线观看免费| 欧美日韩国产a| 日韩av在线免费观看不卡| 国产一区二区三区免费看| 久久99深爱久久99精品| 成人晚上爱看视频| 欧美乱妇15p| 国产精品午夜久久| 亚洲国产美女搞黄色| 国产精品一色哟哟哟| 欧洲一区在线观看| 久久影音资源网| 亚洲超碰精品一区二区| 美腿丝袜在线亚洲一区| 成人激情校园春色| 日韩欧美国产成人一区二区| 亚洲欧美区自拍先锋| 韩国在线一区二区| 99热这里都是精品| 日韩一区二区影院| 日韩理论在线观看| 日韩黄色免费电影| 色噜噜狠狠色综合欧洲selulu| 日韩午夜在线影院| 亚洲一区二区三区激情| 国产不卡视频一区二区三区| 日韩欧美国产一二三区| 亚洲综合久久av| av电影在线不卡| 国产精品免费视频一区| 精品一区二区免费| 91精品中文字幕一区二区三区| 亚洲另类色综合网站| 国产成人8x视频一区二区| 久久久久国产免费免费| 乱中年女人伦av一区二区| 欧美日韩在线电影| 国产精品嫩草99a| 国产91在线|亚洲| 26uuu欧美| 国产在线精品一区二区三区不卡| 欧美午夜片在线看| 亚洲精品免费看| 国产福利一区二区三区视频 | 91久久精品网| 色爱区综合激月婷婷| 国产精品网站一区| 国产一区二区不卡| 久久久久国产精品麻豆| 蜜臀av国产精品久久久久| 538在线一区二区精品国产| 一区二区三区在线影院| 99久久精品国产麻豆演员表| 久久久精品欧美丰满| 亚洲成av人片www| 欧美少妇一区二区| 狠狠色综合日日| 久久久777精品电影网影网 | 亚洲午夜久久久久久久久久久| 视频在线观看国产精品| 97久久人人超碰| 亚洲国产色一区| 久久久久国产精品免费免费搜索| 国产综合色产在线精品| 精品福利视频一区二区三区| jlzzjlzz国产精品久久| 一区二区三区不卡视频| 色8久久人人97超碰香蕉987| 日日嗨av一区二区三区四区| 欧美国产一区在线| 欧美绝品在线观看成人午夜影视| 亚洲国产sm捆绑调教视频| 精品久久人人做人人爰| voyeur盗摄精品| 日本一区二区三区国色天香| 欧美精品丝袜久久久中文字幕| 精品亚洲国产成人av制服丝袜| 久久久综合网站| 日韩三级免费观看| 91精品国产综合久久香蕉麻豆| 欧美变态口味重另类| 欧美视频在线一区二区三区| 欧美一区二区二区| 美女视频第一区二区三区免费观看网站| 欧美成人video| 欧美日韩成人在线| 欧美一区2区视频在线观看| ...av二区三区久久精品| 91精品国产综合久久精品app| 亚洲综合无码一区二区| 粉嫩嫩av羞羞动漫久久久| 亚洲青青青在线视频| 91福利精品视频| 久久精品国产精品青草| 国产欧美日韩不卡| 欧美在线啊v一区| 六月婷婷色综合| 久久精品亚洲精品国产欧美| 99久久久精品免费观看国产蜜| 一区二区三区在线观看国产| 日韩欧美一级二级三级| www.欧美色图| 亚洲少妇中出一区| 亚洲精品一卡二卡| 亚洲人xxxx| 首页国产欧美久久| 亚洲精品一二三| 日韩vs国产vs欧美| 久久99国产精品麻豆| 国模套图日韩精品一区二区| 另类的小说在线视频另类成人小视频在线 | 中文字幕免费不卡在线| xfplay精品久久| 亚洲国产精品激情在线观看| 亚洲三级久久久| 日韩电影在线一区二区三区| 美国一区二区三区在线播放| 国产成人亚洲综合a∨婷婷图片| 国产成人aaa| 欧美性生活影院| 国产视频一区在线播放| 国产精品色婷婷| 亚洲成a人在线观看| 国产精品自拍在线| 色婷婷亚洲精品| 欧美tickle裸体挠脚心vk| 国产蜜臀av在线一区二区三区| 亚洲日本电影在线| 国产黑丝在线一区二区三区| 在线观看亚洲专区| 国产精品美女久久久久av爽李琼| 久久精品国产一区二区| 99re免费视频精品全部| 91片在线免费观看| 欧美精品一区二区三区四区 | 欧美日韩国产综合久久| 国产视频一区不卡| 日韩激情中文字幕| 91在线观看免费视频| 精品国产精品一区二区夜夜嗨| 国产69精品一区二区亚洲孕妇| 国产精品成人一区二区三区夜夜夜| 欧美曰成人黄网| 欧美色图免费看| 丁香婷婷综合色啪| 在线一区二区三区四区五区| 国产白丝精品91爽爽久久| 美女国产一区二区三区| 在线观看av一区| 午夜免费久久看| 不卡av电影在线播放| 精品国产凹凸成av人导航| 视频一区视频二区中文字幕| 丝瓜av网站精品一区二区| 欧美专区日韩专区|