新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 由STC12C5A50S2與NOKIA1100液晶屏構(gòu)成的袖珍示波器

由STC12C5A50S2與NOKIA1100液晶屏構(gòu)成的袖珍示波器

作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏


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

上一頁 1 2 下一頁

關(guān)鍵詞: STC12C5A50S2NOKIA1100液晶屏袖珍示波

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉