wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

51單片機(jī)驅(qū)動AD7799程序(keil c)

作者:huqin   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時間:2014年08月15日   【字體:

下面提供一個完整版本的ad7799程序,Keil C寫的ADI的24位A/DAD7799使用SPI接口程序:(VRS51L3074單片機(jī) 是一顆基于8051內(nèi)核集成了多種模塊并可多 范圍的在嵌入式設(shè)計(jì)中應(yīng)用的芯片,完整的工程文件及hex下載地址:http://m.izizhuan.cn/f/Keil_C_AD7799.rar )

ad7798,ad7799的詳細(xì)中文資料請看: http://m.izizhuan.cn/chip/4000.html
#pragma CODE DEBUG SYMBOLS OBJECTEXTEND     //SRC 當(dāng)與匯編混合編譯時需要

#include"VRS51L3074_keil.h"
#include<intrins.h>
#define uchar   unsigned char
#define uint    unsigned int
#define ulong   unsigned long
typedef union{     //無符號字符型,整形,長整形數(shù)據(jù)聯(lián)合體
              uchar uc[2];
              uint  ui;
             }UCI;
typedef union{     //無符號字符型,整形,長整形數(shù)據(jù)聯(lián)合體
              uchar uc[4];
              uint  ui[2];
              ulong ul;
             }UCIL;
                             
 
#define DELAY5  delay()   //_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()
sbit    P1_5    =   P1^5;      //1
sbit    P1_6    =   P1^6;      //2
sbit    P1_7    =   P1^7;      //3
sbit    P4_5    =   P4^5;     //6  pin
sbit    P5_0    =   P5^0;     //7
sbit    P5_1    =   P5^1;     //8
sbit    P5_2    =   P5^2;     //9
sbit    P5_3    =   P5^3;     //10
sbit    P5_4    =   P5^4;     //20
sbit    P5_5    =   P5^5;     //21
sbit    P5_6    =   P5^6;     //22
sbit    P5_7    =   P5^7;     //23
 
#define AD7799_CS    P4_5           //輸出   6pin
#define AD7799_SCLK  P5_1           //輸出   8pin
#define AD7799_DOUT  P5_2           //輸入   9pin
#define AD7799_RDY   P5_2           //輸入   9pin  同上是一個引腳
#define AD7799_DIN   P5_0           //輸出   7pin
 
UCIL MainData,demoul;
ulong xdata XMainData,xdemoul;
void Ad7799_Ini();
 
#define DELAYS10    _nop_();_nop_();_nop_();_nop_()
void delay(char i)
{uchar j;
 for(;i>0;i--); for(j=0;j<10;j++)_nop_();
}
 
void CPUInit(void)
{
  /*I/O口配置:輸入配置為1(配置為1后,內(nèi)部自動上拉到2.5V,輸出配置為0;空腳要配置為0*/   
  PERIPHEN1=0x18;  //BIT7:SPICSEN 6:SPIEN 5:I2CEN 4:U1EN 3:U0EN 2:T2EN 1;T1EN 0:T0EN  //TIMER2和TIMER0使能
  P0PINCFG=0x00; 
  P1PINCFG=0x04; 
  P2PINCFG=0x00;   //00100100
  P3PINCFG=0x01; 
  P4PINCFG=0x00; 
  P5PINCFG=0x04;  //00000100
  P6PINCFG=0x00; 
  PORTINEN=0xff; //0xff全部I/O口均不使用
  P0=P1=P2=P3=P6=0x00;  P4=0x00;P5=0x04;
  PERIPHEN2=0x28;//BIN7:PWC1EN 6:PWC0EN 5:AUEN 4:XRAM2CODE 3:IOPORTEN 2:WDTEN 1:PWMSFREN 0:FPIEN  算術(shù)單元、IO口使能*/
  P0=P1=P2=P3=P6=0x00; P4=0x00; P5=0x04;
  AD7799_CS=1;
    UART0CFG=0x90;  // 0x09:38400 BRADJ=0x02(19200)/波特率發(fā)生器使用內(nèi)部晶振/9th不使用/1位停止位
    UART0INT=0x00;  //使能接收中斷,使能發(fā)送完成中斷,允許接收 Enable RX AV + RXOVint + Enable Reception
    UART0EXT=0x00;  //Not using UART0 Extensions
    UART0BRL=0x1f;   //0040=19200  001f=38400
    UART0BRH=0x00;  //波特率19200
    U0IEN=1;
   GENINTEN = 0x01;      //Enable Global interrupt
   UART0BUF=0xff;
   while(!(UART0INT & 0x01));
   UART0BUF=0xff;
   while(!(UART0INT & 0x01));
   UART0BUF=0xff;
   while(!(UART0INT & 0x01));
   UART0BUF=0xff;
   while(!(UART0INT & 0x01));
   UART0BUF=0x0d;
   while(!(UART0INT & 0x01));
}
 
/*  AD7799寫寄存器函數(shù)
    WriteData:要寫的數(shù)據(jù)*/
void WriteByteToAd7799(unsigned char WriteData)
{
    unsigned char i ;
    AD7799_CS=0;
    for(i=0;i<8;i++)
    {
        DELAYS10;
        AD7799_SCLK=0 ;
        DELAYS10;
        if(WriteData&0x80)AD7799_DIN=1 ;
        else AD7799_DIN=0 ;
        WriteData=WriteData<<1 ;
        DELAYS10;
        AD7799_SCLK=1 ;
        DELAYS10;
    }
    AD7799_CS=1;
}
 
/*AD7799讀寄存器函數(shù)*/
unsigned char ReadByteFromAd7799(void)
{
    unsigned char i ;
    unsigned char ReadData ;
    AD7799_CS=0;
    ReadData=0 ;
    for(i=0;i<8;i++)
    {
        DELAYS10;
        AD7799_SCLK=0 ;
        DELAYS10;
        ReadData=ReadData<<1 ;
        if(AD7799_DOUT)ReadData+=1 ;
        DELAYS10;
        AD7799_SCLK=1 ;
        DELAYS10;
    }
    AD7799_DOUT=1 ;
    AD7799_CS=1;
    return(ReadData);
}
void WaiteRDY(void)
{
    unsigned int iint ;
    iint=0 ;
    while(AD7799_RDY)
    {
        iint++;
        if(iint>65530)
        {
            //reset ad7799
            WriteByteToAd7799(0xff);
            WriteByteToAd7799(0xff);
            WriteByteToAd7799(0xff);
            WriteByteToAd7799(0xff);
            Ad7799_Ini();
            break ;
        }
    }
}
void Ad7799_Ini()
{
    WriteByteToAd7799(0x10);
    //b0001 0000
    /* Writes to Communications Register Setting Next Operation as Write to CONFIGURATION Register*/
    //寫通訊寄存器為:下一操作寫配置寄存器 WriteByteToAd7799(0x10)b0001 0000    0寫通訊0下操作寫010配置寄存器0關(guān)連續(xù)讀00留用
    WriteByteToAd7799(0x37);//增益為128  B0011 0111   00留用1開電流源1單端  0留用111是128倍增益 
    WriteByteToAd7799(0x00);  //通道號 0 B0011 0000   00留用1基準(zhǔn)默認(rèn)1開緩沖 0留用000通道0
    //1通道
    /*CONFIGURATION REGISTER[00,BO(0),U/B(0),0(0),G2(1),G1(1),G0(1),0,0,REF_DET(0),BUF(1),0(0),CH2(0),CH1(0),CH0(0)]*/
    //WriteByteToAd7799(0x08);
    //b0000 1000
    /* Writes to Communications Register Setting Next Operation as Write to Mode Register*/
    //WriteByteToAd7799(0x80);
    //WriteByteToAd7799(0x0a);
    /* Writes to Mode Register Initiating Internal Zero-Scale Calibration*/
    //WaiteRDY();
    /* Wait for RDY pin to go low to indicate end of calibration cycle*/
    //WriteByteToAd7799(0x08);
    /* Writes to Communications Register Setting Next Operation as Write to
        Mode Register*/
    //WriteByteToAd7799(0xa0);
    //WriteByteToAd7799(0x0a);
    /* Writes to Mode Register Initiating Internal Full-Scale Calibration*/
    //WaiteRDY();
    /* Wait for RDY pin to go low to indicate end of calibration cycle*/
    WriteByteToAd7799(0x08);//b0000 1000
    /* Writes to Communications Register Setting Next Operation as Write to Mode Register*/
    WriteByteToAd7799(0x00);   //000連續(xù)模式0斷PSW0000留用
    WriteByteToAd7799(0x09);   //0000留用0011(123Hz)1010(16.7HZ65dB)
    /* Mode Register[MD2(0),MD1(0),MD0(0),PSW(0),0(0),0(0),0(0),0(0),(0),(0),0(0),0(0),FS3(1),FS2(0),FS1(1),FS0(0)]*/
    /*模式0 Continuous-Conversion Mode.,F(xiàn)adc=16.7HZ;*/
 
}
ulong ReadAd7799ConversionData(void)
{
    ulong ConverData ;
    unsigned char ADSAT ;
    unsigned char ErrNUM=0;
    WaiteRDY();              //等待數(shù)據(jù)READY
    WriteByteToAd7799(0x40);  //0100 0000 配置下一操作為:讀狀態(tài)寄存器
    ADSAT=ReadByteFromAd7799();   //讀出狀態(tài) 8位
    while((ADSAT&0x40)||(!(ADSAT&0x08)))    //出錯或者讀寫異常
    {
        WriteByteToAd7799(0xff);         //復(fù)位
        WriteByteToAd7799(0xff);
        WriteByteToAd7799(0xff);
        WriteByteToAd7799(0xff);
        Ad7799_Ini();                   //初始化
        WaiteRDY();                     //讀狀態(tài)
        WriteByteToAd7799(0x40);        //下一操作:讀狀態(tài)
        ADSAT=ReadByteFromAd7799();     //讀狀態(tài)
        
        ErrNUM++;
        if(ErrNUM>5)return(0xffffff);//if(ErrNUM>5)break;              //連續(xù)5次都讀出錯
    }
    
    WriteByteToAd7799(0x58);  //0101 1000 配置下一操作:讀數(shù)據(jù)寄存器,000
    /* Writes to Communications Register Setting Next Operation as Continuous Read From Data Register*/
    WaiteRDY();
    /* Wait for RDY pin to go low to indicate end of calibration cycle*/
    if(!AD7799_RDY)
    {
        ConverData=0 ;
        ConverData=ReadByteFromAd7799();
        ConverData=ConverData<<8 ;
        ConverData=ReadByteFromAd7799()+ConverData;
        ConverData=ConverData<<8 ;
        ConverData=ReadByteFromAd7799()+ConverData;
    }
    /* Read Conversion Result from AD7799's Data Register*/
    return(ConverData);
}
UCIL temp;
void main(void)
{
   uint code *adtpoint;   //
   uchar    i=0,j=0;
 
 
 delay(100);
 CPUInit();
 //AD7799_CS=0;
 delay(10);
        WriteByteToAd7799(0xff);       //寫入32個高電平,復(fù)位ADC
        WriteByteToAd7799(0xff);
        WriteByteToAd7799(0xff);
        WriteByteToAd7799(0xff);
        Ad7799_Ini();
 while(1)
 {
   temp.ul=ReadAd7799ConversionData();
   UART0BUF=temp.uc[0];
   while(!(UART0INT & 0x01));
   UART0BUF=temp.uc[1];
   while(!(UART0INT & 0x01));
   UART0BUF=temp.uc[2];
   while(!(UART0INT & 0x01));
   UART0BUF=temp.uc[3];
   while(!(UART0INT & 0x01));
 }
}
 
關(guān)閉窗口
99久久99热久久精品免费看| www.天天射.com| 国产精品入口麻豆高清| 国产精品免费看片| 黄色片在线观看免费| 日韩激情一区| 亚洲一二三区在线| 日韩影片中文字幕| 欧美在线日韩在线| 日本免费看黄色| 亚洲第一区中文99精品| 亚洲第一免费视频| 国产精品传媒视频| 中文字幕1区2区3区| 国产精品天天看| 国产一级特黄aaa大片| 久久99精品久久只有精品| 亚洲一区二区精品在线| 成人看片网页| 亚洲欧美国产精品桃花| 青草伊人久久| 激情图片qvod| 偷拍视屏一区| 91看片在线免费观看| 亚洲色图二区| 亚洲午夜精品在线观看| 国产日韩免费| 中文字幕一区综合| 欧美精品中文字幕亚洲专区| 国产妇女馒头高清泬20p多| 免费av一区二区三区四区| 亚洲人精品午夜射精日韩| 国产乱码精品一区二区三区四区 | 欧美人xxxx| 欧美日韩在线精品成人综合网| 欧美一级精品大片| 亚洲成熟女性毛茸茸| 国产精品美女久久久久久久久久久| 欧美成人精品欧美一级乱| 欧美激情护士| 欧美高清不卡在线| 狠狠色噜噜狠狠狠888奇米| 久久久久久久一区| 无码人中文字幕| 国产aⅴ综合色| 国产高清自拍视频| 成午夜精品一区二区三区软件| 色播亚洲婷婷| 99精品网站| 在线观看免费国产视频| 日韩毛片高清在线播放| 亚洲欧美日韩综合在线| 正在播放欧美一区| 黑人精品视频| 国产日韩一区二区在线观看| 久久精品国产精品亚洲综合| 国产免费无遮挡| 国产午夜精品全部视频播放| 色在线视频网| 亚洲欧美另类人妖| 毛片免费在线观看| 久久综合伊人77777麻豆| 你懂的国产精品永久在线| 一区二区三区亚洲视频| 日韩在线中文字幕| 另类图片第一页| 国产无遮挡又黄又爽| 久久久精品国产| 欧美影院天天5g天天爽| ass极品水嫩小美女ass| 中文久久乱码一区二区| 黄色三级网站| 国产伦精品一区二区三区高清版| 色999日韩| 亚洲国产综合久久| 欧美精品一区二区不卡| 亚亚洲欧洲精品| 日韩精品久久一区| 欧美日韩日本国产亚洲在线 | 日产精品久久久一区二区| 暴力调教一区二区三区| www.亚洲一区二区三区| 在线一区二区日韩| 18被视频免费观看视频| 亚洲精品在线不卡| 妞干网在线观看| 午夜美女久久久久爽久久| 免费av一级电影| 亚洲一区二区精品在线| 激情成人亚洲| 免费av一级片| 97在线观看视频| 日本美女在线中文版| 国内精品国产三级国产在线专| 欧美中文字幕精在线不卡| 久久手机在线视频| 亚洲国产成人在线| wwwav在线播放| 欧美人动与zoxxxx乱| а√天堂官网中文在线| 日本xxxx黄色| 国产精品日韩| 亚洲色图网址| 在线视频亚洲欧美| 手机亚洲第一页| 国产日韩欧美精品在线观看| 国产精品99久久久| 91se在线观看| av在线亚洲男人的天堂| 中文另类视频| 黄色三级生活片| 亚洲欧美激情四射在线日| 日产精品一区| 在线观看亚洲免费视频| 亚洲破处大片| 亚洲视频在线观看一区二区| 日韩亚洲欧美成人| 婷婷综合伊人| 国产一级片视频| 国产视频在线观看一区二区三区| 天堂在线免费观看| 亚洲国产成人精品女人久久久| 台湾佬中文娱乐网欧美电影| 日韩高清在线一区二区| 日韩欧美在线免费观看| 未满十八勿进黄网站一区不卡| 91福利免费观看| 狠狠色丁香久久婷婷综合丁香| 免费性色视频| 美女黄色片网站| 欧美性猛交xxxxx免费看| 日本www在线观看| av一区二区三区免费| 在线亚洲观看| 黄色大片免费观看| 欧美国产日韩中文字幕在线| 亚洲手机在线| 国产精品xxx电影| 久久久国产精品x99av| www.久久99| 亚洲精品1区2区3区| 国产精品尤物福利片在线观看| av成人天堂| 国产午夜福利片| 97视频国产在线| 久久蜜桃香蕉精品一区二区三区| 高清中文字幕在线| 欧美无人区码suv| 欧美精品18videosex性欧美| 久久99久久久久久久久久久| 成年网站在线| 色婷婷在线观看视频| 精品在线不卡| 欧美日韩高清一区二区三区| 国产二区精品| 欧美成人精品欧美一级乱黄| 高清视频一区二区三区| 6080午夜不卡| 天天射—综合中文网| 手机看片1024日韩| 在线观看免费不卡av| 欧美一级成年大片在线观看| 亚洲成人1区2区| 欧美区日韩区| 欧美调教sm| 999久久久免费精品国产牛牛| 岛国精品一区二区三区| 欧美激情精品在线| 91丨porny丨在线| 69堂精品视频在线播放| 黑粗硬大欧美视频| 中文字幕第10页| 91爱爱小视频k| 国产精品高潮呻吟| 91欧美极品| 五月婷婷开心综合| 国产麻豆xxxvideo实拍| 美女啪啪无遮挡免费久久网站| 99久久久国产精品美女| 成年人视频网站| 中文字幕网址在线| 国产91露脸中文字幕在线| 亚洲国产日本| 曰皮视频在线播放免费的| 欧美国产视频在线观看| 国产婷婷色一区二区三区四区| 成人午夜sm精品久久久久久久| 四虎影院成人| 久久久视频6r| av成人午夜| 一区二区三区在线视频免费| 亚洲图片123| 国产无套粉嫩白浆内谢| 色中色综合成人| 最近2019免费中文字幕视频三| 亚洲国产专区| 日日摸夜夜爽人人添| 在线观看视频在线观看| 亚洲mm色国产网站| 91福利国产精品| 成+人+亚洲+综合天堂| 国产精品伊人| 97成人资源站| 九色综合日本| 欧美性做爰猛烈叫床潮| 久久一区欧美| 亚洲精品在线播放| 欧美挠脚心网站| 亚洲欧美另类色图| 久久久久久蜜桃| 国产日韩第一页| 91国内精品野花午夜精品| 性孕妇free特大另类| 日韩视频在线观看免费视频| 成人妇女淫片aaaa视频| 亚洲国产精品va在线看黑人动漫| 香蕉久久a毛片| 亚洲精品不卡在线观看| 精精国产xxxx视频在线| 免费黄色av| 五月婷中文字幕| 激情综合网五月婷婷| 亚洲视频在线播放免费| 中文字幕色一区二区| 国产精品日韩一区| 色99之美女主播在线视频| 国产精品激情| 黄色免费在线网站| 国产视频在线看| 米奇.777.com| 天天射天天操天天干| 日本裸体美女视频| 亚洲最大免费视频| 欧美一级视频免费| 91日本在线视频| 欧美激情久久久| 中文字幕日韩精品在线| 欧美一区欧美二区| 无码人妻精品一区二区三区9厂| 中文字幕第31页| 最近中文字幕在线6| 99久久免费国产精品| 91最新网站| 思思99精品视频在线观看| 无码国产精品一区二区免费16| 香蕉av在线播放| 性欧美69式xxxxx| 亚洲欧美色图区| 国产精品入口麻豆完整版| 国产一级片子| 男女爱爱免费网站| 最新av中文字幕| se在线电影| 国产黄色在线网站| 伊人久久青青草| 黑人巨大xxx| 少妇性色午夜淫片aaa播放| 最新av电影| 国产理论在线观看| 天天操天天曰| 丰满肉嫩西川结衣av| 中文字幕一区二区三区四区欧美| 日韩女同一区二区三区| 国产精品拍拍拍| 色悠悠久久综合网| 亚洲中文字幕无码不卡电影| 日本天堂在线播放| www.免费av| 久久精品免费av| 国产黄色一级大片| 亚洲成人第一区| 天天躁日日躁狠狠躁喷水| 国产欧美一区二| 91丨porny丨九色| 国产一区二区在线免费播放| 中文字幕欧美人与畜| 久久99久久99精品| 亚洲精品国产一区二区三区| 白丝女仆被免费网站| 精产国品一区二区| 国内国产区免费视频| 亚洲国产图片| 狠狠搞狠狠干| 777sesese| 国产高清视频在线| 日本美女一区| 色135综合网| 国产伦理精品不卡| 青青草国产成人99久久| 国产精品大片| 韩国三级在线一区| 欧美日韩激情视频8区| 亚洲黄色av女优在线观看 | 福利av痴女| xxxx影院| 99热这里有精品| 99国内精品| 国产91高潮流白浆在线麻豆 | 国产一区二区免费| 成人在线精品视频| www日韩视频| 成年人免费看毛片| 德国极品另类| 国产精品亚洲成在人线| 日韩**一区毛片| 欧美视频精品在线| 国产精品中文在线| 国产成人在线综合| 99er热精品视频| 成年人在线视频免费观看| 女厕嘘嘘一区二区在线播放 | 日韩免费av片| www五月婷婷| 亚洲xxxxxx| 亚洲人metart人体| 欧美日韩激情小视频| 国产精品久久色| 精品国产av色一区二区深夜久久| 四虎成人精品免费影院| 成人日韩精品| 久久精品在线观看| 欧美性视频网站| 国产乱了高清露脸对白| a级片免费视频| 九色视频在线观看免费播放 | 啦啦啦中文高清在线视频 | 天天操天天干视频| 天堂在线观看视频观看www| 在线观看麻豆蜜桃| 久久电影院7| 亚洲毛片av在线| 欧美一二三视频| www.com操| 久久久黄色大片| xxx亚洲日本| 美女91在线| 久久中文精品| 91国产丝袜在线播放| 欧美黑人xxx| 欧美二区在线| 私库av在线播放| 综合图区亚洲白拍在线 | 午夜视频在线观看网站| 欧美视频一区| 555夜色666亚洲国产免| 亚洲一区在线免费| 欧美精品入口蜜桃| 人妻夜夜爽天天爽| wwwav91| 国产精品va视频| 国产不卡高清在线观看视频| 精品视频一区 二区 三区| 日韩色视频在线观看| 欧美猛交ⅹxxx乱大交视频| 无码中文字幕色专区| 亚洲精品自拍视频在线观看| 久草视频国产| 日韩av超清在线观看| 国产日韩欧美高清| 国产精品三级美女白浆呻吟| 国产毛片欧美毛片久久久| 日韩黄色视屏| 人妖欧美一区二区| 欧美裸体xxxx极品少妇| 亚洲自拍偷拍精品| 99热在线网站| 免费成人小视频| 亚洲91av视频| 欧美黄片一区二区三区| 丝袜美腿美女被狂躁在线观看| 国产成人精品三级| 日本一本a高清免费不卡| 99热6这里只有精品| 免费高清在线观看| www.日韩精品| 国产精品中出一区二区三区| 无码人妻一区二区三区线| 91资源在线观看| 8x国产一区二区三区精品推荐| 日本在线不卡视频| 欧美成人福利视频| 国产成人a亚洲精v品无码| 91高清视频| 欧美一级专区| 国产精品久久久av久久久| 丁香六月婷婷综合| 婷婷精品久久久久久久久久不卡| 色就色 综合激情| 中文字幕 91| 超碰在线免费看| 不卡的看片网站| 久久精品女人的天堂av| 国产真乱mangent| 国产日韩欧美一区| 国产精品日韩一区| 国产福利视频导航| 亚洲欧洲日韩精品在线| 亚洲一区在线观看网站| 亚洲国产精品www| 国产伦精品一区二区三区视频痴汉|