標(biāo)題: [求助] 如何提高51單片機(jī)AD采集的頻率? [打印本頁(yè)]

作者: gjxfree    時(shí)間: 2018-8-19 17:13
標(biāo)題: [求助] 如何提高51單片機(jī)AD采集的頻率?
本帖最后由 gjxfree 于 2018-8-19 17:16 編輯

各位大佬求幫助,實(shí)驗(yàn)需要采集一個(gè)7khz的正弦波,我用的stc89c51,晶振12m,ad轉(zhuǎn)換頻率125khz
根據(jù)時(shí)序圖寫的讀取ad的函數(shù),但是12m的晶振,一條指令就是1us,這樣算下來(lái)讀取一次怎么都需要個(gè)0.5ms以上,一秒鐘是怎么也到不了7khz的,請(qǐng)問各位大佬現(xiàn)在該怎么處理。

uintRead_AD_Data(uchar cmd)
{
uint AD_Value;
CLK = 0;
CS  = 0;
SPI_Write(cmd);
for(AD_Value=6; AD_Value>0; AD_Value--);
CLK = 1;  
_nop_();
_nop_();
CLK = 0;
_nop_();
_nop_();
AD_Value=SPI_Read();  
CS = 1;
return AD_Value;
}



void SPI_Write(uchar dat)
{
uchar i;
CLK = 0;
for(i=0; i<8; i++)
{
  DIN = dat >> 7;   
  dat <<= 1;
  CLK = 0;   
  CLK = 1;
}
}


uint SPI_Read(void)
{
uint i, dat=0;
CLK = 0;
for(i=0; i<12; i++)  //????12λ????
{
  dat <<= 1;
  CLK = 1;
  CLK = 0;
  dat |= DOUT;
}
return dat;
}



作者: 人中狼    時(shí)間: 2018-8-19 19:19
晶振是可以提高的,至少可以是22.1184MHz,再看看單片機(jī)的數(shù)據(jù)手冊(cè),看是否可以以單周期指令的方式運(yùn)行
作者: cjm82    時(shí)間: 2018-8-20 17:35
樓主用的是AD芯片型號(hào)是什么
ADC0832么?
我當(dāng)初學(xué)ADC0808的時(shí)候試過(guò)用一個(gè)外接時(shí)鐘源(當(dāng)時(shí)好像是用一塊NE555接成方波發(fā)生器)提供的時(shí)鐘.
話說(shuō)回來(lái)現(xiàn)在大部分的單片機(jī)都有片上AD.
作者: 文鳳軒    時(shí)間: 2018-8-20 21:36
那就采用高速芯片來(lái)做吧




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