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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ad7705 sensor.c

?? P89LPC931操作AD7705的程序。
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <reg931.h>
#include <stdio.h>
#include <flashiap.h>

#define uchar unsigned char
#define uint  unsigned int
#define CH1 1       /*AD7705輸入通道IN1*/ 
#define CH2 2       /*AD7705輸入通道IN2*/ 
#define BIPOLAR 0   /*AD7705雙極性輸入*/ 
#define UNIPOLAR 1  /*AD7705單極性輸入*/ 
#define AD_CLK_WIDTH 1 /*AD7705串口時鐘脈沖寬度*/ 
sbit AdClk = P2^5;  /*AD7705時鐘脈沖*/ 
sbit AdDout = P2^3; /*AD7705數(shù)據(jù)輸出的反相脈沖*/ 
sbit AdDin = P2^2;  /*AD7705數(shù)據(jù)輸入脈沖*/ 
sbit DRDY = P2^7;
sbit REST = P2^6;
sbit ALARM_X = P2^0;
sbit ALARM_Y = P2^1;
uchar code BAUD_Data = 0xfa;  /*存儲波特率初值*/ //19200
uchar code ID1 = 0x30,ID0 = 0x31,Update = 1;
uchar code ALARM[8]={0x01,0x00,0xff,0xff,0x01,0x00,0xff,0xff};
uchar code ZERO[4];           //////////////////////
uint idata ZeroPoint_X,ZeroPoint_Y;
uint idata ReceiveData_X[4];   /*存儲從AD7705讀到的轉(zhuǎn)換結(jié)果*/ 
uint idata ReceiveData_Y[4];
uint idata ALARM_X_P,ALARM_Y_P,ALARM_X_N,ALARM_Y_N;
uchar idata RIFlag,SendFlag,ArrangeFlag,InitFlag;
uchar idata BAUD_temp,BAUD_Data_temp,Update_temp = 1,ID0_temp,ID1_temp,ZeroPoint_X_temp,ZeroPoint_Y_temp;
uchar idata CommandData[7];    /*存儲從串口接收到的命令數(shù)據(jù)*/ 
uchar idata i = 6;             /*命令數(shù)據(jù)字符串的小腳標*/ 
uchar f = 1,ChannelFlag = 2,zerotemp;
float idata LSB = 0.000457764;
//---------------------------------------------------------------------------
//功能:看門狗初始化
//---------------------------------------------------------------------------
void WatchdogInit(void)
{
  WDL = 0XFF; 				//看門狗復(fù)位時間
  EA =0;
  WDCON = 0XE6;    //選擇看門狗振蕩器為看門狗時鐘源;//0XE5;選擇PCLK為看門狗時鐘源
  WFEED1 = 0XA5;
  WFEED2 = 0X5A;
  EA =1;
}
///---------------------------------------------------------------------------
//功能:關(guān)看門狗定時器時鐘
//---------------------------------------------------------------------------
void WatchdogStop(void)
{
	EA =0;
	WDCON =0XE1;
	WFEED1 =0XA5;
	WFEED2 =0X5A;
	EA =1;
}
//---------------------------------------------------------------------------
//功能:喂狗程序
//---------------------------------------------------------------------------
void WatchdogFeed(void)
{
  EA =0;
  WFEED1 = 0XA5;
  WFEED2 = 0X5A;
  EA =1;
}

//---------------------------------------------------------------------------
//功能:初始化單片機接口
//---------------------------------------------------------------------------
/*void UART_Init()
{
 P1M1 = 0x00;
 P1M2 = 0x00;
 SCON = 0x52;
 SSTAT = 0x60;
 BRGR1 = 0x02;
 BRGR0 = 0xf0;
 BRGCON = 0x03;
}
*/
//---------------------------------------------------------------------------
//功能:串口中斷處理
//---------------------------------------------------------------------------
void serial() interrupt 4 using 1
{
 if(RI)
     {
	  CommandData[i] = SBUF;
	  if(CommandData[i] == 0x0d)
	      {
		   RIFlag = 1;
		  }
	  i--;
	 }
 RI = 0;
}
//---------------------------------------------------------------------------
//功能:AD7705軟件延時d
//---------------------------------------------------------------------------
void Wait7705(unsigned int t) 
{
    for( ;t>0 ;t-- ); 
} 
//---------------------------------------------------------------------------
//功能:向AD7705寫入一個字
//---------------------------------------------------------------------------
void WriteByte7705(uchar x) 
{
    uchar i; 
    AdClk = 1; 
    for (i=0; i<8; i++)
    {
        AdClk=0; 
		Wait7705(AD_CLK_WIDTH);
        AdDin =(bit) (x & 0x80);
 	    Wait7705(AD_CLK_WIDTH);
        AdClk=1; 
		Wait7705(AD_CLK_WIDTH);
        x <<=1; 
    }
} 
//---------------------------------------------------------------------------
//功能:從AD7705讀一個字
//---------------------------------------------------------------------------
uint ReadWord7705(void) 
{
    uchar i; 
    uint x ; 
    AdClk = 1 ; 
    for (i = 0,x=0 ; i < 16 ; i++)
    {
        AdClk=0; 
		Wait7705(AD_CLK_WIDTH);
        x<<=1; 
        if (AdDout) /* 光電耦合器反相 */ 
            x |= 0x01; 
        AdClk=1; 
		Wait7705(AD_CLK_WIDTH);
    } 
    return x;
} 
//---------------------------------------------------------------------------
//功能:AD7705通信端口復(fù)位
//---------------------------------------------------------------------------
void Reset7705(void) 
{
    uchar i; 
    for(i=0;i<35;i++)    //多于連續(xù)32個 DIN=1 使串口復(fù)位 
    { 
        AdClk=0; 
		Wait7705(AD_CLK_WIDTH);
        AdDin =1; 
		Wait7705(AD_CLK_WIDTH);
        AdClk=1; 
		Wait7705(AD_CLK_WIDTH);
    }
} 
//---------------------------------------------------------------------------
//功能:AD7705初始化 通道channel 1=IN1,2=IN2; 輸入極性polarity -0=雙極性,1=單極性; PGA 增益gai 非緩沖模式
//---------------------------------------------------------------------------
void Init7705(uchar channel, bit polarity , uchar gain) 
{
    uchar x; 
    Reset7705();         /* 防止串口失步 */ 
	if(channel == 1)
	{
    WriteByte7705(0x20); /* 寫ch0 clock register */ 
    WriteByte7705(0x05); /* 2.4576MHz時鐘,50Hz數(shù)據(jù)更新速率 */ 
	}
	else
	{
    WriteByte7705(0x21); /* 寫CH1 clock register */ 
    WriteByte7705(0x05); /* 2.4576MHz時鐘,50Hz數(shù)據(jù)更新速率 */ 
	}
    if(channel==1)       /* com register ,選擇下步操作 setup register */ 
        WriteByte7705(0x10); 
    else 
        WriteByte7705(0x11); 
    if(polarity)         /* setup register */ 
        x=0x04; 
    else 
        x=0x00; 
    switch(gain)
    {
        case 1 : x|=0x40;break; 
        case 2 : x|=0x48;break; 
        case 4 : x|=0x50;break; 
        case 8 : x|=0x58;break; 
        case 16 : x|=0x60;break; 
        case 32 : x|=0x68;break; 
        case 64 : x|=0x70;break; 
        case 128 : x|=0x78;break; 
        default : x|=0x40;break; 
    } 
    WriteByte7705(x); 
} 
//---------------------------------------------------------------------------
//功能:讀AD7705轉(zhuǎn)換數(shù)據(jù) 輸入通道channel ----1=IN1,2=IN2;
//---------------------------------------------------------------------------
uint GetData7705(uchar channel) 
{
    if(channel==1) 
        WriteByte7705(0x38); 
    else 
        WriteByte7705(0x39); 
    return ( ReadWord7705() ); 
}
//---------------------------------------------------------------------------
//功能:處理串口收到的數(shù)據(jù)
//---------------------------------------------------------------------------
void ArrangeData(void)
{
 if(CommandData[6] == 'C'|CommandData[6] == 'c')  /*終止數(shù)據(jù)更新命令*/ 
     {
	  Update_temp = 0;
	 }
  if(CommandData[6] == '$'&(CommandData[5] == 'I'|CommandData[5] == 'i')&CommandData[4] == ','&CommandData[1] == 0x0d)  /*終止數(shù)據(jù)更新命令*/ 
     {
	  ID1_temp = CommandData[3];
	  ID0_temp = CommandData[2];
	  EA = 0;
	  FLASH_WriteByte(&ID1,ID1_temp);
	  FLASH_WriteByte(&ID0,ID0_temp);
	  EA = 1;
	  if(ID0==ID0_temp&ID1==ID1_temp)
	       printf("ID SET OK.\n");
	  else
	       printf("ID SET FAILURE.\n");
	  printf("Currently ID=%c%c\n",ID1,ID0);
	 }
 if((CommandData[6] == 'T'|CommandData[6] == 't')&CommandData[5] == 0x0d)
     {
	  printf("\nID=%c%c\n",ID1_temp,ID0_temp);
      printf("ZeroPoint_X=%2.3f\n",ZeroPoint_X*LSB);
	  printf("ZeroPoint_Y=%2.3f\n",ZeroPoint_Y*LSB);
      printf("ALARM_X+:%2.3f,ALARM_X-:-%2.3f\n",(ALARM_X_P*LSB-15),(15-ALARM_X_N*LSB));
	  printf("ALARM_Y+:%2.3f,ALARM_Y-:-%2.3f\n",(ALARM_Y_P*LSB-15),(15-ALARM_Y_N*LSB));
     }
 if(CommandData[6] == '$'&(CommandData[5] == 'R'|CommandData[5] == 'r')&CommandData[4] == 0x0d)/*復(fù)位命令*/ 
     {
	  EA = 0;
	  FLASH_WriteByte(&ALARM[7],0xff);
	  FLASH_WriteByte(&ALARM[6],0xff);
	  FLASH_WriteByte(&ALARM[5],0x00);
	  FLASH_WriteByte(&ALARM[4],0x00);
	  FLASH_WriteByte(&ALARM[3],0xff);
	  FLASH_WriteByte(&ALARM[2],0xff);
	  FLASH_WriteByte(&ALARM[1],0x00);
	  FLASH_WriteByte(&ALARM[0],0x00);
	  FLASH_WriteByte(&ZERO[3],0x00);
	  FLASH_WriteByte(&ZERO[2],0x00);
	  FLASH_WriteByte(&ZERO[1],0x00);
	  FLASH_WriteByte(&ZERO[0],0x00);
	  EA = 1;
	  ALARM_X_P = ALARM[7];
      ALARM_X_P<<=8;
      ALARM_X_P |=ALARM[6];
      ALARM_X_N = ALARM[5];
      ALARM_X_N<<=8;
      ALARM_X_N |=ALARM[4];
      ALARM_Y_P = ALARM[3];
      ALARM_Y_P<<=8;
      ALARM_Y_P |=ALARM[2];
      ALARM_Y_N = ALARM[1];
      ALARM_Y_N<<=8;
      ALARM_Y_N |=ALARM[0];
	  ZeroPoint_X = 0;
	  ZeroPoint_Y = 0;
	 }
 if((CommandData[6] == 'G'|CommandData[6] == 'g')&(CommandData[5] == 'O'|CommandData[5] == 'o')&CommandData[4] == 0x0d)
     {
	  Update_temp = 1;//Update;  /*繼續(xù)輸出數(shù)據(jù)*/ 
	 }
 if(CommandData[6] == '$'&(CommandData[5] == 'Z'|CommandData[5] == 'z')&CommandData[4] == 0x0d)/*將當前位置設(shè)為零點*/ 
     {
      ZeroPoint_X = ReceiveData_X[0]-0x7fff;
      ZeroPoint_Y = ReceiveData_Y[0]-0x7fff;
	  EA = 0;
	  zerotemp = ZeroPoint_X;
      FLASH_WriteByte(&ZERO[2],zerotemp);
	  ZeroPoint_X>>=8; 
	  zerotemp = ZeroPoint_X;
	  FLASH_WriteByte(&ZERO[3],zerotemp);
	  zerotemp = ZeroPoint_Y;
	  FLASH_WriteByte(&ZERO[0],zerotemp);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产麻豆| 日韩视频免费观看高清在线视频| 青青草精品视频| 国产精品国产三级国产| 欧美一区二区免费视频| av资源站一区| 韩国v欧美v日本v亚洲v| 亚洲综合无码一区二区| 久久精品亚洲国产奇米99| 久久综合色8888| 色综合久久久久久久久久久| 国模一区二区三区白浆| 亚洲一区电影777| 国产精品护士白丝一区av| 日韩一区二区三区免费看| 欧美亚洲禁片免费| 成人97人人超碰人人99| 国产综合色产在线精品| 日韩在线卡一卡二| 亚洲国产日韩a在线播放性色| 国产欧美精品一区aⅴ影院| 精品国产91洋老外米糕| 欧美伦理影视网| 欧美影院一区二区三区| 色偷偷久久人人79超碰人人澡| 国产精品18久久久久久久久 | 337p粉嫩大胆色噜噜噜噜亚洲| 欧美影院一区二区三区| 色噜噜狠狠色综合欧洲selulu| www.在线成人| 成人动漫一区二区在线| 国产凹凸在线观看一区二区| 狠狠色丁香九九婷婷综合五月| 免费的国产精品| 欧美a级一区二区| 日本美女一区二区| 美女网站一区二区| 美女被吸乳得到大胸91| 久久99九九99精品| 精品一区二区三区视频在线观看 | 91视频xxxx| av一区二区三区在线| 成年人国产精品| 97精品超碰一区二区三区| 91麻豆自制传媒国产之光| 一本到不卡精品视频在线观看| 91丨九色丨尤物| 欧洲激情一区二区| 欧美日韩国产另类不卡| 欧美日本在线看| 日韩视频中午一区| 久久五月婷婷丁香社区| 欧美激情在线一区二区| 国产精品成人网| 一区二区三区四区视频精品免费| 亚洲自拍偷拍麻豆| 男女视频一区二区| 国产剧情一区在线| 99久久婷婷国产综合精品| 色老头久久综合| 欧美精选在线播放| 精品国产一区二区精华| 国产精品久久久久久久久免费桃花 | 蜜桃久久精品一区二区| 国产专区综合网| 99v久久综合狠狠综合久久| 色视频一区二区| 欧美高清一级片在线| 2020国产精品| 樱桃国产成人精品视频| 日韩综合在线视频| 国产精品91xxx| 欧美亚洲丝袜传媒另类| 91精品国产综合久久蜜臀| 国产日韩欧美一区二区三区乱码| 亚洲天堂免费在线观看视频| 奇米精品一区二区三区四区| 成人午夜免费电影| 欧美群妇大交群中文字幕| 久久久精品综合| 一区二区三区在线视频免费| 美女视频黄免费的久久| av在线不卡免费看| 日韩一级黄色大片| 成人免费一区二区三区在线观看| 亚洲一区二区欧美| 国产成人午夜片在线观看高清观看 | 久久aⅴ国产欧美74aaa| 99re这里只有精品视频首页| 777亚洲妇女| 国产精品久久久久婷婷二区次| 丝袜亚洲精品中文字幕一区| 成人午夜精品一区二区三区| 欧美一区二区在线不卡| 综合久久综合久久| 国产麻豆精品一区二区| 欧美日韩的一区二区| 中文字幕不卡在线观看| 日韩成人免费电影| 在线亚洲欧美专区二区| 国产日韩欧美精品电影三级在线| 亚洲第一狼人社区| 99久久综合狠狠综合久久| www成人在线观看| 香蕉成人啪国产精品视频综合网| 成人a免费在线看| 26uuu精品一区二区 | 国产成人精品免费视频网站| 欧美亚一区二区| 日韩一区欧美一区| 国产激情偷乱视频一区二区三区| 欧美一区二区三区小说| 一区二区视频在线看| 国产jizzjizz一区二区| 欧美tickling网站挠脚心| 五月天激情综合网| 一本色道久久综合亚洲精品按摩| 欧美国产精品一区二区| 韩国视频一区二区| 91精品国产综合久久香蕉麻豆 | 成人精品视频.| 久久精品视频一区二区三区| 久久激情综合网| 欧美精品日日鲁夜夜添| 亚洲午夜久久久久久久久久久 | 国产日韩欧美综合在线| 韩国av一区二区三区四区| 91精品国产综合久久精品app| 一区二区三区四区激情| 99精品一区二区| 中文字幕日本乱码精品影院| 懂色av中文一区二区三区| 久久久久久久电影| 国产成人一区在线| 国产精品久久久久久久蜜臀| 成人看片黄a免费看在线| 国产精品免费视频观看| av在线播放成人| 亚洲欧美在线视频观看| 91在线精品一区二区三区| 国产精品久久久久影视| 91污片在线观看| 一区二区三区在线视频观看| 91精彩视频在线观看| 亚洲国产日韩a在线播放| 欧美色爱综合网| 秋霞成人午夜伦在线观看| 日韩免费在线观看| 国产激情精品久久久第一区二区 | 色狠狠色狠狠综合| 亚洲亚洲精品在线观看| 69成人精品免费视频| 国内成人免费视频| 国产精品伦一区二区三级视频| av中文字幕亚洲| 亚洲电影第三页| 精品国产乱码91久久久久久网站| 国产米奇在线777精品观看| 国产日韩亚洲欧美综合| 97se狠狠狠综合亚洲狠狠| 亚洲一区二区精品久久av| 欧美精品免费视频| 激情综合网av| 亚洲免费在线电影| 欧美精品高清视频| 国产九九视频一区二区三区| 亚洲欧美区自拍先锋| 欧美精品久久99| 高清在线观看日韩| 亚洲一区二三区| 日韩免费成人网| 91丝袜美腿高跟国产极品老师 | 偷拍一区二区三区四区| 精品国精品国产尤物美女| 成人免费看视频| 一区二区三区欧美视频| 欧美va亚洲va| 91久久精品国产91性色tv| 蜜桃一区二区三区四区| 日韩美女精品在线| 91精品国产综合久久福利| 99re这里只有精品6| 另类小说色综合网站| 亚洲欧美另类图片小说| 久久综合久久鬼色| 色噜噜狠狠成人中文综合| 国产一区二区在线观看免费| 亚洲美女淫视频| 久久婷婷一区二区三区| 欧美日韩专区在线| 成人av影视在线观看| 免费高清不卡av| 亚洲国产日韩一级| 国产精品久久久久aaaa樱花| 91精品欧美福利在线观看| 91丨porny丨中文| 国产另类ts人妖一区二区| 偷拍一区二区三区四区| 亚洲欧美另类小说视频| 久久精品视频在线免费观看|