1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標題: 能不能幫我解釋一下,下面每條程序的含義!萬分感謝! [打印本頁]

作者: Jennie895    時間: 2020-5-23 15:36
標題: 能不能幫我解釋一下,下面每條程序的含義!萬分感謝!
uchar ADC0832(uchar channel)  //AD采集
{
    uchar i,ADC_Data;  

    ADC_CS=0;
    ADC_Data=0;
    ADC_DO=0;
    Delay100us();

    ADC_CLK=0;
    Delay100us();
    ADC_DO=1;  //第一個脈沖  啟動AD轉(zhuǎn)換器
    ADC_CLK=1;
    Delay100us();
    ADC_CLK=0;

    Delay100us();
    ADC_CLK=1; // 第二的脈沖 送出1
    ADC_DO=1;
    Delay100us();
    ADC_CLK=0;

    Delay100us();

    if(channel == 0)
    {
        ADC_DO=0;
    }
    else
    {
        ADC_DO=1;
    }

    ADC_CLK=1;   //第三個脈沖 送出0
    Delay100us();
    ADC_CLK=0;

    ADC_DO=0;   //D1口轉(zhuǎn)為高阻態(tài)
    ADC_DO=1;   //D0口脫離高阻態(tài) 為輸出做準備

    for (i=0; i<8; i++) //讀出數(shù)據(jù)
    {
        ADC_CLK=1;
        Delay100us();
        ADC_CLK=0;
        Delay100us();
        ADC_Data=(ADC_Data<<1)|ADC_DO;
    }
    ADC_CS=1;
    return(ADC_Data);
}


作者: jinsheng7533967    時間: 2020-5-23 17:23
字面含義都很清楚了,自己要多動動手,多按自己理解的意思調(diào)試就能了解這些代碼是做什么的。
作者: wulin    時間: 2020-5-23 17:51
這是壇友的程序片段,供參考。
uchar ad0832read(bit ch)
{
        uchar i=0,value=0,value1=0;               
        CLK=0; //時鐘置低平
        DO=1;  //開始信號為高電平
        CS=0;  //片選信號置低,啟動AD轉(zhuǎn)換芯片
        CLK=1; //輸入開始信號(構(gòu)成一個正脈沖),時鐘上升沿,輸入開始信號
        CLK=0; //時鐘下降沿
        DO =1; //模擬信號輸入模式選擇(1:單模信號,0:雙模差分信號)
        CLK=1; //時鐘上升沿,輸入開始信號
        CLK=0; //時鐘下降沿
        DO=ch; //模擬信號輸入通道選擇(1:通道CH1,0:通道CH0)
        CLK=1; //時鐘上升沿,輸入開始信號
        CLK=0; //時鐘下降沿
        DO =1; //數(shù)據(jù)線置高,準備接收數(shù)據(jù)
        for(i=0;i<8;i++) //從高位移入數(shù)據(jù)
        {
                CLK=1;
                CLK=0; //時鐘下降沿,AD0832輸出數(shù)據(jù),高位(MSB)先
                value<<=1;
                if(DO)
                        value++;
        }
        for(i=0;i<8;i++) //從低位移入數(shù)據(jù)
        {                //接收校驗數(shù)據(jù)
                value1>>=1;
                if(DO)
                        value1+=0x80;
                CLK=1;
                CLK=0;
        }
        CLK=1;        //數(shù)據(jù)線置高,釋放總線,完成一次轉(zhuǎn)換
        DO =1;
        CS =1;        
        if(value==value1) //與校驗數(shù)據(jù)比較,正確就返回數(shù)據(jù),否則返回0
                return value;
        return 0;
}
作者: aligaduokeil    時間: 2020-5-23 19:30
你這個只截取了一部分,我只能看出來這是一個簡單的ad采集器,三個脈沖一組,DO采集信號送個DATA,DATA沒完成8位返回一次。都是些脈沖,最復雜的應該是倒數(shù)第三句,意思是把DO采集到的0
作者: aligaduokeil    時間: 2020-5-23 19:31
或1送給DATA,自己多琢磨琢磨,挺簡單的,這里不提倡無腦發(fā)問這種情況。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1