新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 由STC12C5A50S2與NOKIA1100液晶屏構成的袖珍示波器

        由STC12C5A50S2與NOKIA1100液晶屏構成的袖珍示波器

        作者: 時間:2016-11-30 來源:網絡 收藏


        //if(BUF_Wps>=ADCBUFSIZE)BUF_Wps=0;
        if(SampState==0)//預采數據
        {
        //if(ADC_Cnt ADC_Cnt++; //數據個數加1
        BUF_Cnt++;
        if(ADC_Cnt>=TrigPs)//觸發位置
        {
        if(TrigEdge==0)//上升沿觸發
        SampState=1;
        else //下降沿觸發
        SampState=2;
        }
        }
        //------------------------上升沿狀態為1-2-3,下降沿狀態為2-1-3
        else if(SampState==1)
        {
        if(ad<=TrigLevel)//低于觸發電平
        {
        if(TrigEdge==0)//上升沿觸發
        SampState=2;
        else //下降沿觸發
        SampState=3;
        //if(ADC_Cnt ADC_Cnt++;//數據個數加1
        BUF_Cnt++;
        }
        else//否則讀取隊列,ADC_Cnt,BUF_Cnt就不加了
        {
        BUF_Rps++;
        if(BUF_Rps>=ADCBUFSIZE)BUF_Rps=0;
        }
        }
        else if(SampState==2)
        {
        if(ad>TrigLevel)//高于觸發電平
        {
        if(TrigEdge==0)//上升沿觸發
        SampState=3;
        else //下降沿觸發
        SampState=1;
        //if(ADC_Cnt ADC_Cnt++;//數據個數加1
        BUF_Cnt++;
        }
        else//否則讀取隊列,ADC_Cnt,BUF_Cnt就不加了
        {
        BUF_Rps++;
        if(BUF_Rps>=ADCBUFSIZE)BUF_Rps=0;
        }
        }
        else if(SampState==3)//已觸發
        {
        ADC_Cnt++; //數據個數加1
        BUF_Cnt++;
        if(ADC_Cnt>=ADCBUFSIZE)//采了足夠的數據
        {
        SampState=4;
        TR0=0;
        }
        }
        if((TrigMode==0)&&(SampState<3))//自動觸發處理
        {
        if(TrigWait==0)//等待時間低位
        {
        if(TrigWaitH)//等待時間高位
        {
        TrigWaitH--;
        }
        else
        {
        SampState=3;
        }
        }
        TrigWait--;
        }
        if(TrigCh==0)//通道1觸發
        {
        if(ChEnable & BIT(1))//通道2使能
        {
        while(ADC_CONTR&BIT(3));//等待通道1轉換完成
        //while(!(ADC_CONTR&BIT(4)));
        ad=ADC_RES;//讀通道1
        ADC_CONTR=(0xE8|ADCH1);//選通道1
        ADCBuf[1][BUF_Wps]=ad;//循環存儲數據
        }
        }
        else
        {
        if(ChEnable & BIT(0))//通道1使能
        {
        while(ADC_CONTR&BIT(3));//等待通道1轉換完成
        //while(!(ADC_CONTR&BIT(4)));
        ad=ADC_RES;//讀通道1
        ADC_CONTR=(0xE8|ADCH2);//選通道2
        ADCBuf[0][BUF_Wps]=ad;//循環存儲數據
        }
        }
        //寫指針下移
        BUF_Wps++;
        if(BUF_Wps>=ADCBUFSIZE)BUF_Wps=0;
        }
        else
        {
        T0EXC--;
        }
        }

        上一頁 1 2 下一頁

        關鍵詞: STC12C5A50S2NOKIA1100液晶屏袖珍示波

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 康乐县| 南城县| 武山县| 四平市| 凌源市| 普兰店市| 玛沁县| 南乐县| 江川县| 江阴市| 遂川县| 榆林市| 图木舒克市| 年辖:市辖区| 庄河市| 朝阳县| 柘荣县| 宁津县| 乐陵市| 凉城县| 临猗县| 和政县| 桐柏县| 二连浩特市| 卢龙县| 理塘县| 公安县| 高碑店市| 镇雄县| 正镶白旗| 海林市| 凭祥市| 扎兰屯市| 民县| 阿克| 大庆市| 宜黄县| 正阳县| 宁强县| 左贡县| 镇康县|