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

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

?? 5ptwendu1.c

?? 將AD7708配置成5個差分通道
?? C
字號:
/****************************************************************************************************************************
FILE NAME: THREEVOLTAGE.C
AUTHOR: HU HONG BO
DATE: 2008.3.6
FUNCTION: 將AD7708配置成5個差分通道,用前5個通道,測量五路電壓-20~100度,并在LED上顯示
*****************************************************************************************************************************/
#include<reg52.h>
#include<math.h>

#define LED_SEG P2   //段碼控制
#define LED_BIT P0   //位控制
unsigned char code table[13]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0x9e,0x02,0x00};//字形表0~9,E,- ,滅
idata unsigned int  time=0;//軟件計時
idata unsigned int  period=1000;//1秒計時
data unsigned char CHnum=1;//通道號
data unsigned char Vcode[7]={0,0,0,0,0,0,0};//待顯示的數字存儲數組,第一個和第二個是通道號或函數標志,第三個空,后4個是電壓量的有效數字
data unsigned char Dis_dat[7]={0x00,0x00,0x00,0x00,0x00,0x00,0x00};//待顯示的數字的字形,初值全滅
bit  EA_f;//用以保存EA狀態
bit  nopt;//空操作位
bit  T2ms=1;//2毫秒計時
bit  opAD_flag=1;//是否操作AD7708標志
bit  rdAD=0;//是否讀取AD轉換結果標志
bit  v2c_flag=0;//是否需要刷新換顯示內容
bit  disp_flag=0;//0為循環顯示,1為單通道顯示
sbit CS=P1^3;//cs of AD7708
sbit DIN=P1^1;//data in of AD7708
sbit DOUT=P1^2;//data out of AD7708
sbit DRDY=P3^2;//ready of AD7708

sbit SCLOCK=P3^3;//clock of AD7708

void delay(unsigned int );//延時函數
void writetoreg(unsigned char);//寫AD7708寄存器函數
float readAD(void);//讀AD7708轉換結果函數
void opAD(void);//操作AD7708函數
void disbyte(void);//顯示函數
void single_disp(void);//單通道顯示
void circle_disp(void);//循環顯示
float AD2V(float);//AD值轉換為浮點數電壓量
void V2CODE(float);//浮點數轉換到顯示緩存數組


void clock0_init() reentrant using 0//計時器0初始化函數
{
  TCON=0x00;
  TR0=0;
  TH0=0xFC;
  TL0=0x18;//1ms作為基準定時,用模式1,這樣1s需要1000個定時過程
  TR0=1;
}


void main() //主函數
{
   data float ADresult=0.0;
   data float Voltage=0.0;


   TMOD=0x01;     //定時器0模式1,
   TH0=0xFC;      //T0定時1ms初始值
   TL0=0x18;

   ET0=1;//打開定時器0中斷允許
   EA=1;//開總中斷
   TR0=1;//開定時器0

   while(1)
   {

      if(opAD_flag){EA_f=EA;EA=0;opAD_flag=0;opAD();EA=EA_f;}//如果操作AD標志為1則去處理AD

      if(rdAD){
                  EA_f=EA;
                  EA=0;
                  ADresult=readAD();  //讀取AD轉換結果
                  EA=EA_f;
                  rdAD=0;
                  v2c_flag=1; //刷新顯示標志置位
              }
      if(v2c_flag){
                        EA_f=EA;
                        EA=0;
	                Voltage=AD2V(ADresult);
	                V2CODE(Voltage);
                        EA=EA_f;
			v2c_flag=0;
                  }
   }

}

/*操作AD7708函數*/
void opAD()
{
       data int tim;
       data unsigned char adcon; //adcon配置AD7708的ADCON寄存器
       tim=1000;
  /* PRECONFIGURE...*/
       DRDY=1;
 
       while(tim--);

       SCLOCK=1;
       DIN=1;
       DOUT=1;
       CS=1;

       writetoreg(0x03); //write to communication register. The next step is writing to FILTER REGISTER
       writetoreg(0x45); //set the FILTER register

       switch(CHnum)//根據通道號,計算ADCON的CH5 CH4 CH3 CH2 CH1 CH0值,
       { case 1: adcon=0x87; break;
         case 2: adcon=0x97; break;
         case 3: adcon=0xa7; break;
         case 4: adcon=0xb7; break;
         case 5: adcon=0xc7; break;
         
         
       }             //確保1~5通道的adcon分別為0x8f,0x9f,0xaf,0xbf,0xcf輸入范圍為0~+2.56
       writetoreg(0x02); //write to communication register. The next step is writing to ADC CONTROLO register
       writetoreg(adcon); //Unipolar,
       writetoreg(0x01);//writing to communication register, the next step is write to MODE register
       writetoreg(0x13);//chopping,REFIN1,10 pseudo-differential input,continuous conversion mode
       while(DRDY);
       rdAD=1;

}

/*寫AD7708寄存器*/
void writetoreg(unsigned char byteword)	 //The subroutine write byteword to the corresponding registers of AD7708
{
  data unsigned char temp,i;
  CS=0;
  temp=0x80;
  for(i=0;i<8;i++)
  {
      if((temp&byteword)==0)
           DIN=0;
      else DIN=1;
      SCLOCK=0;
      SCLOCK=1;
      temp=temp>>1;
  }
  CS=1;
}

/*讀AD7708轉換結果*/
float readAD()
{
        data unsigned char j;
        data float temp=0.0;
        //while(DRDY);//wating for finishing converting
	writetoreg(0x44);//write to communication register.The next step is reading data from ADC Data register
	CS=0;
        for(j=0;j<16;j++)
     	{
           SCLOCK=0;
	   SCLOCK=1;
           if(DOUT==1) temp+=pow(2,15-j);
         }
         CS=1;
         return(temp);
}

/*根據轉換公式把AD轉換結果轉換為電壓量*/
float AD2V(float ADresult)
{
	ADresult=ADresult/32768-1;
    ADresult=ADresult*2.56;
  return(ADresult);      //輸入范圍配置成0~+2.56時候,增益為1
}

/*顯示*/
void disbyte()
{
  data unsigned char i;
  for(i=0;i<7;i++)
  {
    LED_BIT=(0x40>>i); //P0位選,選通第N個數碼管7654321的順序,P0.6~P0.0
    LED_SEG=Dis_dat[i];//從P2口輸出字形碼
    delay(5);
  }
  LED_SEG=0x00;//全滅
}

/*循環顯示控制*/
void circle_disp()
{
  CHnum++;
  if(CHnum>5) CHnum=1;
  opAD_flag=1;

}

/*單通道顯示控制*/
void single_disp()
{

}

/*浮點數轉換到顯示緩存數組*/
void V2CODE(float value)
{
  data int Vtemp;
  data unsigned int i;
  data unsigned char DotId;//DotId記錄小數點位置
  //EA=0;
  Vcode[0]=CHnum;//通道號
  if(value<0) {Vcode[1]=11;value=-1*value;}//加負號“ -”并取其絕對值
  else Vcode[1]=12;//正數,符號位滅
  if(value<1.0) {DotId=3; Vtemp=(int)(value*1000);}
  else {
         for(i=1;i<3;i++)
		     if(value<pow(10,i))
			    {
				  Vtemp=(int)(value*pow(10,4-i));
				  DotId=i+2;
                  break;
				}
       }
  for(i=6;i>2;i--)
     {
	   Vcode[i]=Vtemp%10;
           Vtemp=Vtemp/10;
     }

  for(i=0;i<7;i++)
  {
     Dis_dat[i]=table[Vcode[i]];   //轉換成字形并放入DiCATDAT[]數組
     if(i==DotId) {Dis_dat[i]|=0xFD;}//加小數點
  }
  //EA=1;
}


/*延時*/
void delay(unsigned int time)
{
  data unsigned char i;
  EA_f=EA;//保存當前EA狀態
  EA=0;   //軟件延時的時候關中斷
  while(time--)
  {
    for(i=0;i<20;i++) {;}
  }
  EA=EA_f;
}




/*定時器0中斷處理*/
void clk0_int(void) interrupt 1 using 0
{
  T2ms=!T2ms;
  if(T2ms)   disbyte();//2ms顯示一次

     if(++time==period)  //1秒時間到
     {
        if(disp_flag)  single_disp();
        else circle_disp();
        time=0;//重新開始計數
     }

  clock0_init();//初始化定時器
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产天堂| 91在线国产福利| 国产精品88888| 欧美亚洲综合一区| xfplay精品久久| 又紧又大又爽精品一区二区| 久久成人综合网| 欧美性一级生活| 国产精品国产自产拍高清av王其| 图片区小说区国产精品视频 | 精品久久五月天| 一区二区三区在线播| 国产精品99久久久久久久女警 | 日韩欧美三级在线| 亚洲综合久久av| 4438x亚洲最大成人网| 国产精品久久久久久久久搜平片| 日本不卡一区二区三区高清视频| 在线视频一区二区三| 欧美国产日韩一二三区| 狠狠色综合色综合网络| 在线不卡的av| 三级亚洲高清视频| 在线视频国产一区| 一区二区三区**美女毛片| 成人免费视频一区| 国产无遮挡一区二区三区毛片日本| 蜜桃av一区二区三区电影| 欧美美女直播网站| 午夜久久久影院| 欧美性淫爽ww久久久久无| 亚洲另类一区二区| 一本一道波多野结衣一区二区| 亚洲欧洲成人自拍| 91碰在线视频| 亚洲精品国产第一综合99久久 | 国产亚洲1区2区3区| 激情久久五月天| 精品少妇一区二区三区日产乱码 | 成人国产电影网| 亚洲国产精品成人综合色在线婷婷| 国产一区91精品张津瑜| 久久久99精品免费观看不卡| 国产精品一区久久久久| 国产日韩精品一区二区浪潮av| 成人性生交大片免费看视频在线| 国产欧美日本一区二区三区| 99热国产精品| 亚洲综合免费观看高清完整版| 一本色道久久综合亚洲91| 亚洲激情在线播放| 欧美性大战久久久久久久蜜臀| 日韩高清不卡一区二区三区| 欧美一区二区三区在线观看视频| 美脚の诱脚舐め脚责91 | 日韩一区二区免费视频| 激情综合色播五月| 国产精品色眯眯| 欧美伊人精品成人久久综合97| 午夜精品久久久久影视| 2020日本不卡一区二区视频| 不卡区在线中文字幕| 亚洲自拍偷拍av| 日韩欧美亚洲另类制服综合在线 | 国产精品视频一二三区| 91色视频在线| 裸体歌舞表演一区二区| 欧美国产1区2区| 欧美午夜一区二区三区免费大片| 美女视频网站久久| 中文字幕乱码一区二区免费| 欧美性生活大片视频| 国产麻豆视频精品| 一区二区三区在线视频免费| 日韩视频免费观看高清完整版在线观看| 国产一区二区视频在线播放| 尤物在线观看一区| 精品久久一区二区| 欧美国产乱子伦| 欧美综合亚洲图片综合区| 韩国成人福利片在线播放| 一区二区三区高清在线| 久久一区二区三区国产精品| 在线观看一区二区精品视频| 国产精品中文字幕日韩精品 | 在线免费观看日韩欧美| 国产精品一区一区三区| 天天综合天天综合色| 国产精品成人免费在线| 日韩精品中文字幕在线不卡尤物| 色综合天天天天做夜夜夜夜做| 经典三级一区二区| 午夜精品福利一区二区蜜股av| 欧美国产日韩a欧美在线观看| 91精品国产一区二区三区| 99精品在线观看视频| 国产高清不卡一区二区| 日本视频一区二区| 性欧美疯狂xxxxbbbb| 亚洲三级电影全部在线观看高清| xvideos.蜜桃一区二区| 欧美一区永久视频免费观看| 色婷婷综合激情| a级高清视频欧美日韩| 国产v综合v亚洲欧| 久久av中文字幕片| 秋霞国产午夜精品免费视频| 亚洲亚洲精品在线观看| 亚洲免费观看视频| 亚洲日本在线a| 中文字幕一区二区三区四区不卡| 国产视频一区在线观看| 久久女同精品一区二区| 精品国产网站在线观看| 精品国精品国产| 日韩精品一区二区三区视频播放| 欧美一区二区高清| 欧美一级夜夜爽| 日韩一区二区中文字幕| 欧美一区中文字幕| 日韩精品一区二区三区视频播放 | 午夜电影一区二区| 午夜欧美在线一二页| 亚洲成人动漫在线观看| 亚洲电影一区二区| 日韩激情在线观看| 美女视频第一区二区三区免费观看网站| 成人激情开心网| 成人综合婷婷国产精品久久| 成人黄色一级视频| 91浏览器在线视频| 欧美日韩一级二级三级| 777奇米四色成人影色区| 精品久久一二三区| 国产精品午夜在线| 一区二区三区四区在线播放 | 欧美日韩一二区| 欧美一级高清片| 国产婷婷色一区二区三区 | 亚洲妇女屁股眼交7| 免费在线看一区| 国产1区2区3区精品美女| 99精品久久只有精品| 欧美情侣在线播放| 欧美精品一区二区在线播放| 国产精品美女久久久久高潮| 一二三四社区欧美黄| 久久97超碰国产精品超碰| 成人爽a毛片一区二区免费| 色婷婷综合中文久久一本| 7777精品伊人久久久大香线蕉 | 欧美自拍偷拍一区| 日韩精品专区在线影院重磅| 国产精品区一区二区三| 亚洲午夜免费视频| 国产福利一区二区三区视频| 欧美最新大片在线看| 精品国免费一区二区三区| 亚洲黄色免费电影| 国产一区二区毛片| 精品视频在线视频| 日本一区二区三区四区在线视频| 国产一区二区h| 91久久香蕉国产日韩欧美9色| 日韩欧美一级在线播放| 成人免费在线视频观看| 久久91精品久久久久久秒播| 一本色道久久综合亚洲91| 精品国产免费人成在线观看| 亚洲综合激情网| 国产69精品久久99不卡| 日韩一区二区精品葵司在线| 亚洲视频小说图片| 国产乱妇无码大片在线观看| 欧美高清一级片在线| 亚洲欧美福利一区二区| 国产一区二区成人久久免费影院| 欧美日本韩国一区| 亚洲精品视频在线看| 国产大陆精品国产| 精品乱码亚洲一区二区不卡| 亚洲成av人片在线观看| 色综合天天做天天爱| 国产欧美一区二区精品性色超碰| 蜜臀精品一区二区三区在线观看 | 欧美日韩精品欧美日韩精品一| 中文在线一区二区| 国产精品2024| 精品粉嫩aⅴ一区二区三区四区| 午夜不卡在线视频| 色综合色狠狠综合色| 日本一区二区三区视频视频| 九九精品视频在线看| 91精品国产福利| 日韩精品电影在线| 884aa四虎影成人精品一区| 午夜精品久久久久久久| 欧美日韩亚洲高清一区二区| 亚洲激情图片小说视频| 一本一道久久a久久精品|